下手でいいんじゃない?

日々まったりお絵かきの練習。。。

Ads by Google

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

三国志大戦的塔防御 製作日記1

三国志大戦的塔防御の製作日記です。

10/11
三国志大戦みたいなタワーディフェンスで、防衛のみ
迫りくる敵を撃破していくだけ。一定数の波をクリアすればステージクリア。

使用できるユニットは5つまで。
インターミッションで買ったり売ったりできる。

ユニットには経験値があり、経験が溜まるとレベルアップする
また、武装の交換が可能で、もっている武器によって射程距離や攻撃力、回数、範囲が変わってくる。
ユニットの初期装備は、基本的に槍のみ。

インターミッション終了後、ユニットの配置画面になる。
攻撃その他は自動。

戦闘終了後、戦闘結果が表示され、ボーナスのお金が手に入る。

逃がした数、撃破した数によってシナリオが微妙に変化する。

10/12
まずはシナリオ作りから開始。
分岐がやたらと多いのでどこまで頑張れるかは不安……
黄巾党のルートのあらすじをとりあえず完成。

三国志の14州がどこにあるのかを整理するため、簡単な白地図を書く。

10/14
参考資料を見ながらシナリオを書き続ける。
司州は董卓関係のルートになりそう。

10/15
董卓関係のルートを書いている途中でめげる。
分岐が多すぎる。これ、全部やるのにはかなりの時間がかかると判断して、
シナリオをとりあえずここまでにしてゲーム部分の作成に移る。
更新しながら進めて行くほうこうで。

ゲームの基礎的な部分はたわーでぃふぇんすを流用して作ればOK。
グラフィックの作り直しなどからまずは手がけてみる。

問題はマップをどう扱うか

ステージが増えれば増えるほど、マップの数は多くなるし、そのぶん容量も増える

ある程度マップを自動的に作る仕組みを作らないと。

移動のポイントを予め決めておいて、ポイント間を結ぶ画像を作る?

ユニットの画像はどうするか?

真上からの視点だと、簡単にユニットの進行方向を示せるが、迫力はやはり斜め上か真横の方がある

ただし、真横だとタワーディフェンス特有の迷路や配置の醍醐味が無くなるので、
迫力を求めるなら斜め上からの視点が望ましい。

キャラだけ斜め上でもokか

使用できるユニットのグラフィックについてもいくつか問題が。
ユニットが増えれば増えるほどこちらも画像がいる訳なんだけれども……これもなんとか減らしたい

10/16
結局昨日ゲームのエンジン部分に手をつけていない……

オンスロートの横幅を調べてみたら740あった。
740X500ぐらいかな?
ディフェンダーは800X600ぐらい。これは大きすぎる。

横幅は700だと大きいので、600で製作してみよう。
ユニットの配置などのユーティリティーはオンスロートを参考に作り直し。

うだうだと進まない……

やるべきことが良くわかってない感じ。
まずはマップの自動生成から。

実用に耐えうる背景画像がまず必要。
下書きをいくつか作成してみるも没。

ステージの変化にも合わせる必要があるので、何か汎用性のあるものをずっと使うのは無謀と判断。
JPEGの画像を使わないのならサイズがぐっと軽くなるはずなので、変化ももたせられるんじゃないかなと。

マップの自動生成。
移動の目標を指定してやって、そこの間を結ぶ通路的なものを配置する。

呼び出すに当たって深度がどうなってるか解らなくなってるので、コピペ

4000 ドラッグ時のクリップ
3000-3999 ユニット配置時のダミーグラフィック
2520-2541 敵ユニットのグラフィック
2500-2519 敵ユニット
2001-2499 敵ユニットの進行ルート
2000 ダミーの透明マップ
1000-1999 弾
500-999 味方ユニットのグラフィック
0-499 味方ユニット

こうなるのかな?

4000 ドラッグ時のクリップ
3000-3999 ユニット配置時のダミーグラフィック
2520-2541 敵ユニットのグラフィック
2500-2519 敵ユニット
2200-2499 敵ユニットの進行ルート
2001-2199 敵ユニットの方向転換目標
2000 ダミーの透明マップ
1000-1999 弾
500-999 味方ユニットのグラフィック
0-499 味方ユニット

これなら方向転換は199までいけると。そこまでする意味はまったく無いんだけど。

方向転換のポイントを自動的に作成するところまで成功。
最終目標地点に到達するとライフが減るように対応させる。

マップの配置で行き詰る。
伸びて間抜けな図に。ムービークリップを使わず、描画で試したほうがいいかもしれない。

10/17
回転のポイントに、円を用意して、曲がり角を表現。
ついでに回転の当たり判定のポイントをムービークリップにして、
前の道の角度に合わせて位置を調整してみる。

当たり判定が小さすぎるとhitTestが動かないようなので、大きさを微調整。
成功。これで、199までの曲がり角なら、どんな道でも作れるようになった。

次、新しいユニット。
まずは自機の変更から?

思いつかないので現実逃避。
2chより資料発見
----2chのスレッド抜粋
63 :名無しさん@お腹いっぱい。:2007/03/05(月) 04:54:17 ID:UcLU7XZA0
国力差はもっとあったはず、ただ兵器・装備関連は蜀がもっとも優れてたけどな。

74 :名無しさん@お腹いっぱい。:2007/03/16(金) 18:49:05 ID:N6Rqeq5ZO
>>63
たまに同じ意見を聞くんだが、どの辺が出展なの?

90 :名無しさん@お腹いっぱい。:2007/04/13(金) 19:46:58 ID:49zpbT5g0
>>74
正史三国志と太平御覧辺りかな
特に後者には蒲元という凄い刀鍛治のエピソードが採録されてて、蜀の武装の凄さを垣間見せる
あとは槍の発案者が諸葛亮だとか三国時代に発明された多くの武器や防具の発明者が蜀関係者だとする伝説がある

92 :名無しさん@お腹いっぱい。:2007/05/06(日) 17:55:25 ID:ueFgJBLrO
>>90
久々に見たらちょうどレスが。
ありがとう、調べてみるよ

96 :名無しさん@お腹いっぱい。:2007/05/31(木) 05:12:55 ID:8Gmwm2w80
>90 鋳造刀ってそんなに切れ味出せるものなんだろうか

100 :名無しさん@お腹いっぱい。:2007/07/09(月) 19:06:43 ID:UqzWgn9j0
>>96
どうも蒲元は刀に焼きいれて水で冷やしてたらしい
そうすると技法としては鋳造じゃなくて鍛造だろうさ
鍛造は一般的に物凄い火力を必要とするのであるが
四川の盆地には大量の森林があり、それが燃料となって鍛造武器を成立させてたんだろう
中原辺りでは前漢代に広まった冶金技術のせいですっかり禿山ばかりになってたので
土壌の保水力が弱まり土は流れ出して透明だった河が黄河になってしまったそうな
三国時代ともなればもう燃料不足で中原ではロクに冶金が出来ない
晋代に入って冀州で盗賊が富豪の葬式を襲って奪った物が棺桶の鉄釘だなんて話しもあるくらいに金属が精製できない

堅くて切れる鍛造武器対質の悪い武器では前者の兵士が強いのも当然の話だな

----ここまで

……現実逃避終わり。

ユニットに関してはエレメントタワーディフェンスを参考にしながら。
ついでにショートカットのまとめ
ユニット選択時 u でアップグレード
ユニット選択時 s で売却
hでヒットポイントの表示切替

ユニットのサイズは、今20X20でやってるけど、30X30でもいいかもしれない。
……大きいので15X15だった……そりゃちいさいわ。20X20で。

資料という名目で三国無双。
ちょっとやる気チャージできた。
とりあえず、一つだけでもユニットのラフを紙に書いてから、Flashに起こしてみる。
やっぱり小さい気がするなぁ。

30X30にしてみる。
いい加減さがもろばれになる大きさ。
25X25にしてみる。少しつぶれていい感じ。

動かしてみる。
まぁまぁそれっぽくはなったかも。
サイズが大きくなったので微調整。

ユニットをいくつ作らなきゃいけないのかちょっと考え直してみる。

今のところシナリオで決定しているのが……

官軍正規兵 ok
騎馬兵
槍兵
伝令など、武装のほとんど無いもの
黄巾党
ボスクラスのもの(呂布)

自ユニット。

たったとラフを全部描く。

メモ
敵ユニット呼び出し時に、HP、移動速度、種類だけではなく、
さらにお金、経験値、呼び出す数、得点などを詳細に決定したほうがいいかも。

ラフからFlashを起こす。
かなりいい加減。遠めにはまぁまぁにみえるけど……

18:30 休憩

20:30 再開
武装の変更などについて。
ていうか、そもそもどんな武器がこの時代にあるのか良く把握していないので調べてみる。

蒲元のエピソードから解ることは、鋳造じゃなくて、鍛造の技術がすでにあったこと。
前漢のころには伝わっていたらしいので、割と一般的なものと思われる。

三国志の武将の持つ武器は、当時の冶金技術で作れたかどうかは怪しいらしい。
代表的なものでは、関羽の青龍偃月刀、呂布の方天画戟、張飛の蛇矛など。
ついでに、劉備の「雌雄一対の剣」も実在は怪しい。そもそもこの人は皇帝の血を引いているかどうかが怪しすぎる。

一般的だった武器は戟だった様子。
それ以外は、槍か矛? それと剣か。
三国志の時代には槍はなかったみたいなので、矛で。

図説・中国武器集成―決定版 (歴史群像シリーズ)
なる書籍発見。機会があれば手に入れておこう。

と。資料あさりはここまで。これ以上はまた翌日実際に本を手に入れてからにしよう。
とりあえず、今できる範囲でやっといて、余裕ができたら追加していこう。

今のところ採用するとすれば







メモ
後漢時代(三国時代の前の時代)の人口はおよそ五千万人前後
三国時代には十分の一にまで激減した?
一人の兵士を支えるには七戸必要



とりあえず、仮にそれぞれにステータスを割り振って配列に格納。
あと参考
ここまで

10/18
武器の装備によって、射程や攻撃回数を変更するようにするところから手をつける。
まずは、固定の装備から。
攻撃のグラフィックも変えないとだめだなぁ。

配列を参照するときに、武器名で参照するのが一番楽だけれども。。。
現在の配列だと254以上の武器を扱えない。
扱う可能性は0ではないので、違う方法で。

変更終了。

最初は戟でいいかな。
呼び出したときにユニットのステータスを参照して格納させる?
ということは、ユニットのステータスを格納する配列も必要になる。
初期設定と、現在の設定の二つを用意しなければならないけれども……
ま、最初は主人公のみで。

ステータスって何がいるんだろう……
武器、武力、知力、計略、レベル

レベルが上がると、攻撃力が上がる?
それとも命中率が上がる?

命中云々はまたの機会に実装するとして、ここは純粋にレベルが上がると攻撃力が上がる事にしよう。
どのくらい上がるのか、どうすれば上がるのか。
武力、知力は固定。レベル+武力+武器のダメージ=ダメージ。
三国志大戦的なものなら、計略を実装させたい。てことで、知力。
計略の時間は固定。計略の種類も固定。

使用できる人数は8人まで。
使用可能なキャラクターは、シナリオを進めるにしたがって増えていく。

参考にと思って三国志のFlashを探したけど無かった。
意外と誰も作ってないものなんだなぁと。見るだけのものは結構あったけど。

ステータス作成のついでに計略も配列に格納。
計略の持つスペックは……コスト、範囲、効果、説明でいいか。
説明は字のごとく説明。効果は呼び出す関数、あるいは処理そのもの。
関数に引数として渡すのがスマートかな。

引数だけなら効果はいらないかも。計略の使用時にわかることだし。
簡単な配列を作成。実際に処理するのはまだ先の話か。

キャラクターの呼び出し。
現在使用できるキャラクターを配列に格納する必要があるのと、
現在フィールドに出ているキャラクターの配列を格納する必要があるわけで。
今気がついたけど、キャラクターの配列に経験値を入れてなかった。
修正。

出陣する武将の選択と、出陣中の武将の把握はどうするか。。。
配列に使える武将のみ格納していく方法が上手くいかないので、
初期値のステータスに、使用可か不可可を格納させておく。
これで可のものだけを取り出すやり方が取れる……のか?
やはり255を超えるとダメになる気がする。
考え直そう。

いちいち配列にしなおすことで何とかいけそうだけれども。
休憩。

配列を丸々格納することは比較的簡単にいけるけれども、特定の配列を追加することがどうも難しい。
.push()でまず名前を配列に追加して、追加されたものに、改めて配列を代入することで成功。

部隊に所属しているキャラクターのステータスを呼び出せるようになったので、
ステージで使用できるキャラクターを選べるようになったと。

やっと武器の入れ替えにうつれる。

配置で失敗。
変数を文字列で入力してた。そりゃうごかない。
配置したら色が薄い……のはダミーマップのアルファチャンネルのせい。

ステータスまとめ


unit_name 名前
eqip 装備
buryoku 武力
chiryoku 知力
keiryaku 計略
lv レベル
expoint 経験値
attack 攻撃力
renge 射程
attack_rate 攻撃間隔

射程範囲が表示されない
マウスが上に来たときを判定できてない?
呼び出すものを間違っていたらしい。そりゃ出ない。

10/19
仕事で手をつけれないかも……
むぅ、手をつけれず。

やることがわからなくなる前に、書き出しだけしておく。

シナリオでストーリーが流れる。
ステージ開始。
マップ表示。
使用可能な武将のみを表示する選択画面。
ドラッグアンドドロップで8人まで武将配置。
決められた波を終了する。
戦闘結果から分岐
インターミッション。セーブ、ロード、武器の購入や装備の変更、ステータスの確認。
次のステージへ

10/20
そして今日と明日とまたいじれそうにない……
ゲーム画面のラフを描く

10/21
図説・中国武器集成―決定版 (歴史群像シリーズ)および、武器と防具〈中国編〉 (Truth In Fantasy)を購入。

10/22
資料のまとめ

基礎知識

時代の名称

商(殷)
西周
春秋(東周)
戦国(東周)

前漢
後漢

それ以外は三国志の時代より後

▼三国志時代の武器
三国志演義は宋・元の時代以前から積み重ねられてきた講談などの集大成であるので、
三国志演義に登場する武器のうちいくつかは、三国時代には存在しないものがある。

とはいえ、今更出さないで、関羽も張飛もみんな戟にしたところで野暮なだけなので、
オーバーテクノロジーとして高いけど買える方向にする。
初期装備は当時のもののみ。

登場させるにせよさせないにせよ、把握しておく必要があるので、
三国時代にあったものと、三国志演義の元となった、説話の盛んだった宋の時代に活躍したものをまとめておく。

三国時代に存在したと思われる武器。
剣、曲刀、直刀、斬馬剣、呉鉤、棍棒、棒、鍾、斧、戈、矛、亜戟、槊、
弓、弩、連弩、床弩、弾弓、砲

宋の時代に活躍した武器
大刀、象鼻刀、偃月刀、青龍偃月刀、二郎刀、朴刀、杵、鞭、鐗、多節棍
大斧、抓、方天戟、神臂弓、標槍

まとめるとこうなる。
武器の歴史を整理すると、ある武将の所有している武器と思い込んでいたものの大半が本来存在しないものになる。

関羽、張遼の青龍偃月刀
徐晃の大斧
太史慈の鉄鞭
黄忠の象鼻刀
呂布の方天画戟
紀霊の三尖刀(二郎刀)
趙雲の槍(正史三国志に槍の文字は出てこない)
張飛の蛇矛(製作できたかどうかが疑問視されている)
劉備の「雌雄一対の剣」(演義の創作)

槍について。
槍の原型である矛はあったのと、存在はしたらしいような資料があるので、
まったく無かったとは言い切れない。また、資料によれば、
槍を発明したのは諸葛亮であったらしい。
いずれにせよ趙雲が槍を愛用したことは考えにくい。

あぁぁ、資料まとめで一日終わった……
4日も手をつけられないと何をやってたのかがわからなくなる……
ちょっとでいいから手をつけよう

どこまで出来てるのかの把握から。
ユニットの配置まで出来ていることがわかったので次。
所属している部隊のユニットを出撃させるところから。

まず、所属しているユニットがなんなのかの把握
出撃するユニットの選択
出撃ユニットの配置

ダミーでいいので、指揮下になるであろう武将の配列をまずは充実させること。
グラフィックはしばらくの間は統一で。
いくつか計略を変更。三国志大戦2のデータをそのまま使うのはまずい。

10/23
出陣武将の選択方法について。
まずは所属している武将の一覧を生成する。
配列から自動的に生成できないかな……

名前が表示されて、それをドラッグして配置。
順番にやっていこう。まずは名前とドラッグするものから。

今までテスト用に作っていたものがそのまま流用可能なことに気がついたので、
アクションスクリプトを少し書き加えてムービークリップ化
レイアウトを若干変更。
オンスロートのように横幅いっぱいでは、
操作性に問題が出てきそうなので、右端にコントロールパネル用のスペースを作る事にする。
それに伴い、マップは450X400のサイズに変更する。

再び深度メモ
武将配置用のコンパネが必要になったので、深度をさらに追加

5000-6999 所属武将表示用のムービークリップ
4000 ドラッグ時のクリップ
3000-3999 ユニット配置時のダミーグラフィック
2520-2541 敵ユニットのグラフィック
2500-2519 敵ユニット
2200-2499 敵ユニットの進行ルート
2001-2199 敵ユニットの方向転換目標
2000 ダミーの透明マップ
1000-1999 弾
500-999 味方ユニットのグラフィック
0-499 味方ユニット

ユニットの追加、自動生成は成功。
増えていったときのスクロールはどうしよう???

ユニットの上にカーソルを持っていったときと、
生成用のボタンの上にカーソルを持っていったときに、
そのユニットの説明を表示させないと味気ない。。。
テキスト表示完了。もう少し説明があってもいいかも。

フィールド上に同じキャラがいると使用できないようにする。
いったん排除するのと、深度を一定にすることで解決。

8人に限定しなくても良いような気がしてきた……
ていうか、そんなに武将数を用意する必要性があるのかなと……
シナリオの都合上仲間になるものはいいとして、無理に増やさなくても良いかなとか。
思い始めてるわけですよ。

ともあれ、自分の部曲の配置が行えるようになったので次。

ユニット関係で遣り残したことは……

経験値

の処理。
ディフェンダーを参考にするなら、
経験値の取得は敵を倒したときではなく、攻撃したときに手に入れている……? いまいち不明
倒した時っぽいけど、分配はやっぱり不明

10/24
経験値とお店の処理が終われば、ゲームの主な部分が終了することがやっとわかる。
やっと終わりが見えてきた……のか? あ、計略の挙動が未だだった……

経験値の取得方法について、他に参考になるものが無いか調べていたらこんなのに遭遇
Article:ファンタジーSLGのTips

面白かった。後でリンクはる。
インプット終わり。タワーディフェンス系だと、攻撃は必ず当たるし、敵はやたらと多いしで、
下手にレベルアップさせて強くさせてしまうとバランスに問題が出る。
また、倒したときに得られる経験値ボーナスも要らないかもしれない。

攻撃したら経験値が固定で入るようにしてみよう。1かな。

それと、レベルアップの計算は暫定的に100*レベルで
1から2に上がるには100回攻撃したらレベルアップ。
2から3に上がるには200回攻撃したらレベルアップ。

実装完了。
テスト中に思ったけれども、お金の配分をもう少し考え直したほうが良いかもしれない。
あとスコア。

セーブして、クリアしたらレベルを引き継いで最初からやり直せるのなら……
2週目以降のぬるさの調整をしたほうが良いかもしれない。
敵ユニット呼び出し時のレベルと、全体のレベルは新しい変数に分けたほうがいいかも。

分かれてたっぽい。
敵のレベルの上昇の早さに対して味方ユニットの上昇の低さが問題になるかも。
あとやっぱり射程短い。

修正。
ゲームバランスはまた後で。

お店の画面作成の前に、1面を作りきったほうが良いような気がしてきたので作成開始。
黄巾党を1波斬ったら終わり。

スタート画面作成。
うん、綺麗だと思う。こういうの好き。

スタートボタンを押したらゲームスタートの作成。
まず、今までマップ生成ように配置していたボタンから、スタートボタン内に関数を移植。
呼び出しの実験……成功。

実験中、5しかでないはずの敵が20出る。
参照先の順番のミス。

とりあえず、配列内の敵全部倒したら説明のところに終わったとか書いておこう。
変数を0にすることで配列内でループさせていたものを、0にしないでそのまま放置することで次をなくす。
修正完了。暫定的に、戦闘終了と表示する所まで。続きはスタートを押したところが出来てから。

スタートボタンを押したらシナリオの説明が流れて、説明が流れ終わったらマップの配置、を作成していく。
シナリオの説明用にもっと大きなダイナミックテキストウィンドウが欲しいので、新たにムービークリップ作成。

……ダイナミックテキストには選択可能っていうプロパティがあるらしい。
よろしくないのではずしておく。

メッセージウィンドウまで作る。
今日はここまでかな。

もうちょっといけそう。
シナリオを書いておく。

テスト用のテキストを配列に格納。
メッセージウィンドウに呼び出す。
メッセージ送りをどうしよう……

前まで使ってたスタートボタンというか、レベル送りボタンというか、
それを流用してみる。ゲームのモードを切り替えて言ってみよう

0=メッセージ
1=戦闘中
2=お買い物?

0のとき、メッセージが全部無くなったらステージ呼び出し。

いや、やっぱりそこだけでしか送れないのは問題があるので違う方法で。
0の間、何があってもこのボタンは動かない。

メッセージウィンドウのバックグラウンドにスクリプト記述。
メッセージがあるたびに呼び出す事にする。というわけで、再び深度のメモ
何よりも一番上に持ってきたいので桁を変えておく

15000 メッセージウィンドウ
5000-6999 所属武将表示用のムービークリップ
4000 ドラッグ時のクリップ
3000-3999 ユニット配置時のダミーグラフィック
2520-2541 敵ユニットのグラフィック
2500-2519 敵ユニット
2200-2499 敵ユニットの進行ルート
2001-2199 敵ユニットの方向転換目標
2000 ダミーの透明マップ
1000-1999 弾
500-999 味方ユニットのグラフィック
0-499 味方ユニット

メッセージウィンドウをクリックしたら、メッセージが送れて、
最後まできたらメッセージウィンドウを消去。
セットアップが完了して、開戦のボタンを押せるようにした。

敵ユニットのロードがおかしいけど、それはまた明日。
今日はここまで。

10/25
続き。呼び出した瞬間にHPが0になってるっぽい。修正。

出来上がっているシナリオだけでも放り込んでみる。
ところで、2面に行くときどうやって判断するのかまったく決めていなかった訳だけれども……
また新しい配列を作ることで解決を試みてみるか。ま、ともあれ今は目の前のシナリオコピペから。

ふむ。字が読みにくい。

開始のポイント、終了のポイントがわかりにくい。
あと、最初のナレーションが終わったあと何かおしゃべりが欲しいなぁとか思ったりしたわけなんだが。。。

深度2900に進入ポイントを明示するための旗のグラフィックを配置。

15000 メッセージウィンドウ
5000-6999 所属武将表示用のムービークリップ
4000 ドラッグ時のクリップ
3000-3999 ユニット配置時のダミーグラフィック
2900 進入ポイントの旗
2520-2541 敵ユニットのグラフィック
2500-2519 敵ユニット
2200-2499 敵ユニットの進行ルート
2001-2199 敵ユニットの方向転換目標
2000 ダミーの透明マップ
1000-1999 弾
500-999 味方ユニットのグラフィック
0-499 味方ユニット

おしゃべりのグラフィックとか作らないとダメか……
休憩。

とまってるところリストアップ

主人公の名前入力
おしゃべり時のグラフィック
おしゃべり時のテキストの内容
シナリオ分岐の方法
買い物画面

主人公の名前入力パネル作成。
反映が怪しかったが、まぁ、よしとしよう。
今まで主人公としていた名前を、デフォルトの名前として「韓良」とした。
韓信の子孫は三族処刑されたので子孫はいなさげだけれども、主人公だし願いを込めて。

グラフィック作成にあたって。
武器と防具〈中国編〉 (Truth In Fantasy)図説・中国武器集成―決定版 (歴史群像シリーズ)をあさってみる。

後漢時代の防具は、魚鱗甲と呼ばれるもので、楕円の鉄の札を綴った鎧。いわゆるスケイルメイルらしい。前漢時代の時代には身分の高い武将用の防具だったらしいが、後漢の時代には一般兵士まで普及していた様子。面白いなと思ったのは、後漢の頃、この魚鱗甲の上に戦袍と呼ばれる着物を羽織っていたらしい。なるほど、それで蒼天航路の武将たちは、鎧の上に着物を羽織っていたのか。改めて蒼天航路はすごいなと思う。本当と嘘のバランスもすごい。

この魚鱗甲を発展させたものが、孔明の発明した筒袖鎧(とうしゅうがい)らしい。蜀の水が製鉄に適していたからこそ、この発展をもたらしたのかも? 蒲元の影が見え隠れする。

不思議なことに、兜というものの発展があまり見られない。
漢の前の秦のころには頭はむき出しだったみたいだ。
三国時代は頭を守るものはあったが、首を守るものや、顔を守るものはなかったらしい。

と。イラストで抑えておくべき点としたら……
「着物前面に」「鎧がチラッと見えてる」「兜はお好みで」

今日はここまで

10/26
仕事の関係で今日もあんまり手をつけれないかも。。。
ていうか、明日と明後日としあさってもか。。。

主人公のラフを一枚描いてみる。いまいち。

10/27
出かけ際に。一つ思いついたのでメモだけ
現状、マップ、ユニット、シナリオを全て番号で管理しているけれども、後々把握しづらくなることが安易に創造されるので、シナリオタイトルで判断するように配列をまとめなおす事。

これで、分岐用の配列、セリフ用の配列などを複数用意しても混乱しない……とおもう。

10/28
お仕事につき一日PC触れず。というか、PCなんか目の前に無かった。

10/29
続き。どこまでやったのか解らなくなって来ているので今までの作業を読み返す。

迷っているのは、セリフ送りの方法について。
ステージごとに決めてしまうと、シナリオの分岐が出来なくなる。
あと、キャラグラフィックの表示とか、あったり無かったり、位置の指定とか。

シナリオタイトルによる整理が未着手だったのでやっつける。

名前の入力画面の呼び出しを実装していなかった……

20000 名前入力パネル
15000 メッセージウィンドウ
5000-6999 所属武将表示用のムービークリップ
4000 ドラッグ時のクリップ
3000-3999 ユニット配置時のダミーグラフィック
2900 進入ポイントの旗
2520-2541 敵ユニットのグラフィック
2500-2519 敵ユニット
2200-2499 敵ユニットの進行ルート
2001-2199 敵ユニットの方向転換目標
2000 ダミーの透明マップ
1000-1999 弾
500-999 味方ユニットのグラフィック
0-499 味方ユニット

ユニットが配置できなくなる。。。
深度の指定ミス。

思いついたのでメモ

['背景','キャラグラフィック',_x,_y,深度,'表示するテキスト']

20000 名前入力パネル
15002 キャラ2
15001 キャラ1
15000 メッセージウィンドウ
14999 背景
5000-6999 所属武将表示用のムービークリップ
4000 ドラッグ時のクリップ
3000-3999 ユニット配置時のダミーグラフィック
2900 進入ポイントの旗
2520-2541 敵ユニットのグラフィック
2500-2519 敵ユニット
2200-2499 敵ユニットの進行ルート
2001-2199 敵ユニットの方向転換目標
2000 ダミーの透明マップ
1000-1999 弾
500-999 味方ユニットのグラフィック
0-499 味方ユニット

10/30
触れず。。。

10/31
触れず。。。
とりあえず、お仕事ひと段落。

やるべき事だけ書いておこう

キャラの立ちグラフィック。ラフでもいいので早いとこ上げよう。

11/1
仕事の微調整終わり。
来客が無くなるまでしばらく手をつけられない状態。。。

2枚ラフを上げる。うーん。
ハゲでヒゲかなぁ……

自キャラは表示しないという手も使えるかぁ……

11/2
やっと身の回りが少し落ち着く。
ダミーの背景、ダミーの人物を用意してテストしていこう。

ダミーの背景、人物作成完了。
配列の修正完了。

メッセージウィンドウの修正。テスト。
背景がずれてたので修正。
x=20
y=27.5

呼び出しの一文目がおかしいので修正。呼び出し元の問題
ダミーの人物が呼び出されて無い。

ムービークリップの名前をpersonaからpersonに変更すると呼び出しに成功した。
使えないのか。。。

修正するとまた使えなくなる。呼び出し時にpersonをpersonaにするとまた成功した。
しかし、また座標指定の変数名を修正すると動かなくなる。。。

判明。動いてたけど画面外に飛んでいたらしい。
…というわけでも無いらしい。スペルを洗ってみる。

把握。参照先がy座標ではなく深度を参照していたらしい。
そりゃ画面から消えるわ。

修正完了。

クリア時のメッセージをどう表示するか……
んー。設計思想的な部分から作り直したほうが良いような気もする……
ま、今回はこれで進めよう。。。

下策な気もするけれども、クリア時専用のメッセージウィンドウを表示させるという手が……
あるいは、ゲームのフラグを利用して……

0=メッセージ
1=戦闘中
2=お買い物?

って言うのをずいぶん前に考えていたみたいなので、これを利用。

0=メッセージ
1=戦闘中
2=戦後の処理
3=お買い物
4=分岐

と、言った具合にしてみる。
敵が全滅したら、gameを2にして、メッセージウィンドウを表示
何を表示するかは勝利条件の配列に従う。

勝利条件の配列
['マップ名'] = [基準撃破数 , '勝った場合に読み込むシナリオ' , '負けた場合に読み込むシナリオ' , '勝った場合に進むシナリオ' , '負けた場合に進むシナリオ']

メモ
after_mission シナリオ終了後に読み込まれるメッセージ用配列
stage_bunki 分岐の管理用





ものすごく間違っている気がするんだ。
メッセージウィンドウを呼び出したらそこにメッセージを格納するだけで良いような気がするんだ。

_root.msg_window.msg_bg.showmsg = _root.sinario[_root.stage]

上手く行った気がするんだ。

戦闘終了まではできていたらしいので、メッセージの表示に移る。
ついでに、次の面の情報を格納させておいた。

……そうだ、ゲームオーバーの処理を……
修正。
開戦ボタンがいつまでも押せるのは問題だと……

読み込みには何とか成功。
ただし、最初の一文目を読み込めない。。。
FLASHのバグらしい。

【参考】
MovieClip.attachMovieで配置したMovieClipのfunctionが実行されない

対処法としては、後のフレームで読み込むようにとの事。
できない相談なので、メッセージが空で、かつ、配列に何か文章が格納されているとき
メッセージ読み込みのスクリプトを起動させてみる。

空の時ではなく、undefinedのとき実行するようにしてみた。成功。

明日はお買い物画面。

11/3
お買い物画面の開発……の前に、開戦ボタンがいつまでも押せる問題を解決しておいたほうが良い気がした。

敵を読み込んでいないときを条件に追加してみる。
成功。じゃ、武器やさん。

前回調べた武器をだーっと配列に格納してみる

戟、矛、剣、弓、弩、曲刀、直刀、斬馬剣、呉鉤、棍棒、棒、鍾、斧、戈、亜∠痢
連弩、床弩、弾弓、砲

大刀、象鼻刀、偃月刀、青龍偃月刀、二郎刀、朴刀、杵、鞭、鐗、多節棍
大斧、抓、方天戟、神臂弓、標槍

神刀が抜けているので追加。
槍も抜けてた。

配列に格納終了。
値段などは仮で。

画面作成に手をつけたかった……
要りそうなものを挙げておく。

購入可能な武器一覧の表示画面。

11/4
手をつけられず。。。

11/5
購入可能な武器一覧の表示画面作成から手をつける。
呼び出すタイミングは、戦闘終了後のメッセージが終了してから。

買い物方法は、購入する武将の選択→購入する武器の選択。
か、購入する武器の選択→武将の選択。

後者で。

何か参考になるものは無いかと探し回ったけど、FLASHのRPGが少ないみたい。。。
どんどん半端なものになっていく気がするなぁ。。。

研究で終わり


11/5

大体こんな感じで作ろう

┌───┐
│武器名├────────┐
└───┤装備させるキャラ│
    └────────┘

武器をクリックした段階で、部隊に所属しているキャラ一覧が横に出て、
装備させたいキャラを選択したら購入。

挙動
武器一覧の表示
武器名のMCをクリックしたらキャラ一覧の表示
表示されたキャラ一覧をクリックしたら購入

いる物
武器一覧のMC
武器一覧から呼び出されるキャラ一覧

キャラ一覧は流用。game=2の時の挙動を変更させてみる。

深度のメモ。
20000 名前入力パネル
15002 キャラ2
15001 キャラ1
15000 メッセージウィンドウ
14999 背景
8000-8999 購入時に表示する所属武将表示用のムービークリップ
7000-7999 武器リスト
5000-6999 所属武将表示用のムービークリップ
4000 ドラッグ時のクリップ
3000-3999 ユニット配置時のダミーグラフィック
2900 進入ポイントの旗
2520-2541 敵ユニットのグラフィック
2500-2519 敵ユニット
2200-2499 敵ユニットの進行ルート
2001-2199 敵ユニットの方向転換目標
2000 ダミーの透明マップ
1000-1999 弾
500-999 味方ユニットのグラフィック
0-499 味方ユニット

正方形を作るのって意外に難しい。。。

武器の一覧作成完了
お金が足りない時は暗くして、クリックできないようにしよう。
そろそろダミーの人とかうざく感じるようになってきたかも。
背景の深度を変更しよう。

20000 名前入力パネル
16000-169999 購入時に表示する所属武将表示用のムービークリップ
15002 キャラ2
15001 キャラ1
15000 メッセージウィンドウ
8000-8999 武器リスト
7000 メッセージの背景
5000-6999 所属武将表示用のムービークリップ
4000 ドラッグ時のクリップ
3000-3999 ユニット配置時のダミーグラフィック
2900 進入ポイントの旗
2520-2541 敵ユニットのグラフィック
2500-2519 敵ユニット
2200-2499 敵ユニットの進行ルート
2001-2199 敵ユニットの方向転換目標
2000 ダミーの透明マップ
1000-1999 弾
500-999 味方ユニットのグラフィック
0-499 味方ユニット

ついでに、購入時に表示する武将一覧のムービークリップも深度を変更してみる。
戦闘終了時に配置用の武将の消し忘れ。
フラグとルートの消し忘れ。

メモ
cost、武器の値段
buy_w、武器の名前

MC呼び出し時に宣言、代入

購入までは成功。
あとは買えなくする処理。
終了。

システム部がほぼ完成、と。
セーブとロードはまた後で。

セーブは毎ステージ終了後、自動的に行われる方向で。

あ、お買い物終了させてない。

買い物終了と同時に次のステージへ移行する。
開戦のボタンをそのまま使えたほうがUI的にも望ましいので、その方向で考えてみる。

ためしに会話ウィンドウを小さくしてみた。
迫力がなくなるので却下。

キャラグラフィックとして呼び出すMCを押したら終了する方向で進めてみる。
色々迷走中。

ちらつきを消そうとしてはまったっぽい。
なんとか成功。

次のステージのシナリオ読み込み、進行ルートの生成までOK
次に読み込む敵ユニットの情報を初期化し忘れていた為、敵ユニットのロードができず。
修正。

敵ユニットが目標地点にたどり着いても消えない。。。
回転のポイントの数を初期化し忘れ。
修正

あとはゲームオーバーの処理と、セーブの処理と、ユニットの追加。
らせんを描かせる時の使用をちょっと考え直さないとダメかも。

ユニットの追加は、戦闘終了時の分岐に格納しておく。
['マップ名'] = [基準撃破数 , '勝った場合に読み込むシナリオ' , '負けた場合に読み込むシナリオ' , '勝った場合に進むシナリオ' , '負けた場合に進むシナリオ']

['マップ名'] = [基準撃破数 , '勝った場合に読み込むシナリオ' , '負けた場合に読み込むシナリオ' , '勝った場合に進むシナリオ' , '負けた場合に進むシナリオ' , '勝った場合に仲間になる武将' , '負けた場合に仲間になる武将']
としておく。
''の場合は誰も仲間にならない。

ゲームオーバー後、部隊は自分ひとりになって、仲間のLVはリセットされる。
お金はリセットされない。敵の強さもリセットされる。

今日はここまで。
明日もまたいじれないと。

11/7
三國無双とプレステ3のセットが近々販売されるらしい。ふぅ。遊びたいなぁ。

仲間追加のスクリプト記述。
廬植を仲間にしてみる。廬植しかいなくなった。
表示の問題。武装購入時の動きをチェック。掛け算しわすれ。修正。

明日はゲームオーバーの処理について考えてみる。

11/8
_root.next_stage に 'game_over'か'end'が代入された場合、ゲーム終了。
敵のレベルとかがリセットされる。

セーブ、ロードの問題を先に解決しないと進めそうにない。。。

セーブデータの作り方を考えてみよう。
Flashの場合、ローカルに保存するファイルの事になるわけだけれども……
httpで良く使われるセーブデータといえばクッキーなわけで。
それに相当するものをヘルプから探してみる。

SharedObject?

デフォルトでは、ローカルに永続化された最大 100 K までのリモート共有オブジェクトを保存可

メソッド
SharedObject.clear()
共有オブジェクトのすべてのデータを消去し、ディスクから共有オブジェクトを削除します。

SharedObject.flush()
ローカル永続共有オブジェクトをすぐにローカルファイルに書き込みます。

SharedObject.getLocal()
現在のクライアントだけが利用できるローカル永続共有オブジェクトへの参照を返します。

SharedObject.getSize()
共有オブジェクトの現在のサイズ (バイト数) を取得します。


セーブデータがあればトップの画面に「再開」を表示させる。
再開で読み込まれるデータは自分の部隊、現在のステージ。

SharedObject.flush()がセーブでSharedObject.getLocal()がロード?

ローカル領域への変数の保存(Flash MX)@Flashゲーム講座

素晴らしい。このサイトさえあればほとんどの疑問が解決しそうだわ。

保存する情報をもう一度整理。

主人公の名前。
自分の部隊。
現在のステージ。
敵のレベル。
お金。
殺害数。
スコア。

保存するタイミングは、武器屋での購入が終了した段階。
user_name
your_group
stage
_root.start_button.lv
_root.start_button.money
satsugai
score

メモ。
開演 _x 174 _y 143
再開 _x 174 _y 210

成功。案ずるより生むが安しだなぁ。

ゲームオーバーでの処理と、エンディング時の処理。
ゲームオーバーで、現在の部隊の状態を代入。
エンディングでは、自キャラのみ代入。

っと、なると、リセットボタンをまず完成させたほうが早いな。

ステータス的なものは出来上がっていたので、それ以外の部分の消去を。
意外と面倒だな。作成。ファンクションにしてしまう。

ゲームオーバーの処理。

gameのスイッチに99を追加。まとめ

0=メッセージ
1=戦闘中
2=戦後の処理
3=お買い物
4=分岐
99=終了

多分できた。
テストプレイを繰り返しつつバグとり。
グラフィックついかせにゃぁ……

シナリオを全部追加して、武器屋のグラフィックを作成したら公開かな。

11/9
シナリオの若干の修正とコピペ。
とおもったら若干じゃすまなかった。
書いてない部分多いよ。せめて黄巾ルートと司州ルートは完成させよう。
14州埋めるのはむりだなぁ……

書きあがった。。。かなりしんどい。コピペ作業の前に休憩。
休みすぎ。再開。

ステージ開始前のシナリオをコピペ……中に誰が仲間になるかをもうちょっと考えたほうがいい気がした。

ステージ1終了時、官軍シナリオで仲間になる人物に非常に困ったので呂花にしてみた。
無双4で最初に仲間になる護衛武将。。。

シナリオの修正終わり。それっぽい人を探すのに思いのほか時間がかかった。

ステージ開始前のシナリオのコピペ終了。意外に多い……
分岐、及び仲間になる人の整理終了
武将のデータを整理していないのでコピペ終了後配列を造っていくこと。

ステージ終了時のメッセージコピペ終了。
疲れた。非常に疲れた。きょうはこれまで。

11/10
マップの作成と進軍してくる敵の指定。
デタラメに数字を打ち込んでマップ完成。適当だなぁ。

仮に、全部同じ兵種で敵ユニットを作成。
テストプレイ開始。

武将データ格納してなかった。

資料発見
後漢三国家頁

テストプレイ中。
一応動くけど、レベルアップが反映されづらいなぁ。
ユニットのグラフィックが同じだから、誰かわかりにくいし、攻撃もしてるのかして無いのかいまいち解らない。

弾が出ないなぁ……
把握、自分自身を透明にしているから、その子の弾も透明になると。
アルファチャンネルで0にしたMCの子にあるMCは、アルファチャンネルを100にしても透明。
親が優先されるらしい。

たわーでぃふぇんすの方も後で修正しておこう。

とりあえず、一通り遊べる段階になったので一応公開
ゲームバランスなんかの作業は更新しながらで。
製作日誌 タワーディフェンス系 三国志大戦的塔防御 

«  | HOME | MAP |  »


最近の記事

月別アーカイブ

カテゴリー

すかうたー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

 

RSSフィード

リンク

タグリスト

イラスト 三国志大戦 董白 GCB イザベラ・ルージュ 脳の右側で描けワークブック クイーンズブレイド 08小隊 タワーディフェンス系 王異 製作日誌 BLEACH FLASH トップ 自作ゲーム フラッシュ 夜一 関銀ペイ Chararina たわーでぃふぇんす オンライン 夏侯月姫 三国志大戦的塔防御 呂姫 呉国太 防衛ゲーム カレン・ジョシュア 落ち物ゲーム TD 死神ディフェンス 模写 聖結晶アルバトロス 習作 湟神澪 呂甘 みえるひと 黄月英 ゲーセン ゲーム 孫尚香  アーケード オリキャラ ニクス UC小喬 士郎正宗 R甄皇后 R大喬 R小喬 シリル・ブルックリン 戦極姫 MMO ネトゲ ナイト R.O.H.A.N 伊達政宗 KOF DMC 甘皇后 厳氏 マリー隊長 スナバラ 不知火舞 穆皇后 プロイヤン 一色雅「BOOB!」 研究 デトロイト・メタル・シティ ブリーチ シビア・ダ・パラジウム・ナイト