Game Graphic Text Link Blog Index
2010/06/30

マップタイル自動処理の続き。

タイル追加は6つで大丈夫みたい。実物を見せたら話しやすいとはいえ、いまだ見せられる程の画像が無い。来月にはスクリーンショットの一つでも公開したい。

これで一応の完成のはず。次はタイルの種類を増やしながらゲームとしての完成度を上げていかないといけない。

2010/06/29

マップタイル自動処理の続き。

四角のブロックは十字系のタイルでは見た目が悪い。専用のタイルを用意しないと行けない。問題はどうやってそれを実現するか。

そこでふと斜めタイルを参照したらよいのではと思い立った。未だどうしてこれを参照するように思い立ったのかは解らない。寝る前に考え出して、気付けば朝になっていたことだけは覚えている。

とにかくダメ元でプログラムしてみた。成功した。

ただ、自動タイル数の数が足りないのが判明。おそらく10ほど追加しないといけない。これはそれほど苦にはならないけど、複数の自動生成タイルを用意すると大変になりそう。

2010/06/28

マップタイル自動処理を更に続ける。

マップタイルを決める前に今あるマップタイルを保存。変更後と変更前のタイルが違うのなら、上下左右のタイルを指定し直す。

これにより全てのタイルを自動でアップデートできるようになった。次は早速四角マップタイルの処理。

2010/06/27

マップタイル自動処理の十字までの処理が完成。上下左右を確認するだけだから予想通りそれほど手間暇がかからなかった。

しかし、周りのピースを参考に正しいピースを置くのは簡単。周りのピースをどうやってアップデートするかは今後の課題。手動でもう一回塗れば正しくアップデートされるけど、それでは少々本末転倒。

2010/06/26

マップタイル自動処理にはT型2つと書いたけど、実際には4ついることが解った。画像ファイル作り直しだ。

2010/06/25

マップタイル自動処理のための画像を作っていた。39ピースもあると思ったより用意するのに時間がかかった。上手くいけば、かなり綺麗な見た目になるはず。

2010/06/24



落書き。

2010/06/23

マップタイル自動処理理論の続き。

次は4マスの四角の処理と言っていたけど、行き詰まった。そこで9マスの四角に切り替えてみた。そしたら活路が見いだせた、と思う。

真ん中の1ピースは不変でOK。上下左右のピースは3方向と4方向の二つが必要。角の四つは2方向、3方向x2、4方向の4つが必要。

そうなると1+(2*4)+(4*4)の25ピース必要になる。昨日の9ピースと単独エッジ4ピースと、一マスのみに1ピースで合計39ピースいることになる。これでたぶんいける。

次は実際にエディタに組み込む作業。

2010/06/22

マップタイル自動処理の理論を色々考えていた。上下左右のエンドピースがある場合、自動でつなげるには最低、I型が2つ、L型が4つ、T型が2つ、+型が1つあればなんとかなるみたい。

しかし、4つのタイルからなる四角には対応できない。これには別理論を考えないといけないみたい。

2010/06/21

マップエディタはサイズを指定してそれに合わせてマップを表示するところまで完成。タイルを選択して、マップをクリックするとそのタイルがマップ上で表示される処理も出来た。

しかし、画像にランダム制を持たせたマップを手動でやるのは難しい。基本タイルを指定して、後はプログラムが自動で処理してくれるのが理想。

2010/06/20

五姉妹物語

サングリールも自分の中では一区切りついたから早速メインのゲームに戻ってきた。

まずはマップエディタということで、それの制作を開始。過去作で色々作ってきたからそれを再利用するだけ。駄目なゲームでもコードがしっかりしていれば再利用できる好例とも言える。

-

拍手ありがとう。

2010/06/19



落書き。

2010/06/18



落書き。

2010/06/17



落書き。

2010/06/16



落書き。

2010/06/15



落書き。

-

拍手ありがとう。

2010/06/14



落書き。

2010/06/13



落書き。

2010/06/12

サングリール+

バトルパートが完成した。画像が駄目だからいまいち盛り上がりに欠けるけど、AIは問題ない。

一番の懸念材料はこれを公開することに意味があるかどうかいまいち解らないと言うことか。技術テストとしての役割は十全に果たしたとはいえ、公開出来る物かと問われると少々首をかしげないといけない。

ここは「完成>未公開のまま封印」パターンにするかも。

-

拍手ありがとうx2。

2010/06/11

サングリール+

AIにはMOVE、STAY、ATTACKの三つのモードを用意して、それで各ユニットを運用させようと思う。これである程度の基本的な行動に対応できるはず。

後ゲームを仕上げるにあたり、無理にオリジナル要素を入れようとしないで、参考にしているとあるゲームに近い形に変えるかも。

-

拍手ありがとう。

6月1日のコメントで不正で優勝があったと暗示してはいないと思うのですが、そう読めるのなら深読みのしすぎかと。どちらかと言うと主催の能力不足で要らぬ疑惑が一人歩きしたことについて言及しています。

2010/06/10



落書き。

2010/06/09

サングリール+

戦闘対象の座標を固定して動かしても結局は近接戦闘以外では歪になる。そこで近接と間接両方対応できる方法は無いかと考えてみた。

近接なら対象上下左右+1か-1の位置に移動すれば良い。間接なら+2か-2になる。この方法に切り替えたら問題なく動いた。

しかし、この方法にも少々問題があったりする。

まずは間接攻撃で斜めからの攻撃に対応できていない。これは攻撃場所検索方法を少し弄ればなんとかなるはず。問題としては一番簡単な部類に属する。

次に何処に布陣して攻撃するか。以前は事実上一番良い場所に勝手に動いた。しかし、今回は上下左右という4つのポイントがある。移動出来ない場所は自動的に弾くとはいえ、最初に攻撃可能な場所に移動するため、見た目上おかしいことをする時もある。

しかし、最善移動ポイントを割り出すためにA*をいちいち使っていては処理が重たくなるし、地形効果や地形に応じての移動ロスとかも入れると最善手が最善では無い可能性も。最終到着地点はA*以外の方法で決めて、最後にA*を走らせる方法になると思う。

コードのリファクターも兼ねながらどうやって完成させるか面倒な問題になりそう。

2010/06/08



落書き。

2010/06/07

サングリール+



近接攻撃完成。攻撃されたらダメージを受け、HPが0になれば画面から消滅。間接攻撃が無いゲームならこれで完成と言っても良い。

相手が死ぬまで攻撃するのはAIとして駄目な部類に入ると思う。それでAIの基本行動を指定できるようにして、相手が特定地点に着いたら動き出すユニットや防御専任のユニットを用意する予定。

間接攻撃に関してはどうやって実装すべきか案すら浮かばない。もう少し真剣に考えないと。

2010/06/06



落書き。

2010/06/05



落書き。

-

拍手ありがとう。

2010/06/04

サングリール+



早速滞っていたところから再始動。間接攻撃はこの際無視してことを進める。

1.攻撃可能範囲に敵がいたら攻撃。
2.攻撃可能範囲に敵がいない場合、敵本城に移動。

最低限遊べる物が完成。次はバトルでユニットを倒して画面から消す作業。画面から消すのは簡単だけど、AIにそれを認識させるのはことかもしれない。

改善点としては、複数のユニットが近くにいる際の対応があげられる。一撃で倒せるユニットがいたらそっちを優先したり、ユニット同士の強弱で攻撃対象を変えるのも面白そう。

2010/06/03



落書き。

2010/06/02



落書き。

-

拍手ありがとうx2。

2010/06/01

毎度おなじみの月初め反省会。

先月の目標と結果

フリクラ9が無事終了した。ネットで匿名による一般投票の限界に近いものを体験したり、主催としてはそこそこ考えさせられるコンテストだった。ダウンロード数を見る限りコンテストそのものの人気はそこそこあるみたいだけど、もうちょっと有名になったほうが良いのかもしれない。

サングリール+は間に合わず。後一歩のところだったのに残念。

他には落書き15枚。

今月の目標

1.サングリール+公開。とにかくこれが絶対に達成したい目標。他にも色々考えているけど、これが終わらないことには進めない。


意見や拍手があればよろしく!

201210
201208
201206
201205
201204
201203
201202
201201
201112
201012
201011
201010
201009
201008
201007
201006
201005
201004
201003
201002
201001
200912
200911
200910
200909
200908
200907
200906
200905
200904
200903
200902
200901
200812
200811
200810
200809
200808
200807
200806
200805
200804
200803
200802
200801
200712
200711
200710
200709
200708
200707
200706
200705
200704
200703
200702
200701
200612
200611
200610
200609
200608
200607
200606
200605
200604
200603
200602
200601
200512