2014/01/20(月) [n年前の日記]
#1 [cg_tools] Tile Studio を少し試用
_Tile Studio
- 各タイルをドット打ちしてその場で作れるのはヨサゲ。別途ドット打ちするためのツールが無くてもどうにかなるので、タイルマップ制作が、このツールだけで完結するなと。
- 保存ファイルフォーマットが、バイナリだった。他に流用しにくい。
- しかし、.tsdファイルなるものを書けば、各プラットフォームに合わせた出力ができるようになる、らしい。haXe-swfmill.tsd あたりを眺めると、xmlファイルで出力することもできるように見えた。が、どうやってエクスポート時に指定するのか、そこが分からず。
◎ tIDEも少し試用。 :
_tIDE (Tilemap Integrated Development Environment) - Home
DXRubyでタイルマップBGの一部をアニメーションさせるとしたら…どういう手があるのだろう。マップの並びを管理してる配列内を書き換えればできるのかな? それだけじゃ無理?
- 保存ファイル、.tide を開いてみたら、xmlファイルっぽい感じだった。これなら他のアレコレに流用できそう。
- 全般的に動作が遅い。例えば、コピー&ペーストをしたら、数秒経ってから処理が行われた。フリーズしたのかと勘違いするぐらいに遅い。
- BGの一部をアニメーションさせる仕様まで入ってるあたりは、ちょっと面白そうな気がする。xTile PC Demo v2.0.7 をDL・実行すると、その様子が確認できる。
DXRubyでタイルマップBGの一部をアニメーションさせるとしたら…どういう手があるのだろう。マップの並びを管理してる配列内を書き換えればできるのかな? それだけじゃ無理?
[ ツッコむ ]
#2 [prog][dxruby] 地形アタリについてヨサゲな記事に遭遇
マップエディタその他で検索してたら、地形アタリ処理について解説してる英文記事に遭遇。
_The guide to implementing 2D platformers | Higher-Order Fun
2Dゲームにおける地形アタリ判定について、大別して4種類あるよ、と解説してる。斜め床や、動く床についても少し解説してるあたり、勉強になりそう。
やっぱり、ソニックの挙動は簡単に説明できるものではないらしい。
_The guide to implementing 2D platformers | Higher-Order Fun
2Dゲームにおける地形アタリ判定について、大別して4種類あるよ、と解説してる。斜め床や、動く床についても少し解説してるあたり、勉強になりそう。
やっぱり、ソニックの挙動は簡単に説明できるものではないらしい。
[ ツッコむ ]
#3 [dxruby] STGサンプルでマップ表示できるようにした
Tiled で作成した .tmx を読み込んで、表示するようにした。
_2013/12/25の日記
に置いといた、dxrbtmx.rb と bgatari.rb を使って、.tmx を表示、かつ、BGアタリを取ってみたり。
ついでに、マップに Object Layer を追加して、敵の発生位置を指定できるようにしてみたり。dxrtmx.rb に、以下のような処理を追加して、Object Layer の情報を読み取ってみたりして。
最後にスクロールが止まるようにしたのだけど。そうなると、やっぱり最後にボス敵が出てこないと、ゲームっぽくないなと…。この際、そこも作ってしまおうか…。しかし、仕様が思いつかない…。
ついでに、マップに Object Layer を追加して、敵の発生位置を指定できるようにしてみたり。dxrtmx.rb に、以下のような処理を追加して、Object Layer の情報を読み取ってみたりして。
# # Object Layer 情報を配列にして返す # # @return [Array] Object Layer 情報の配列 # def get_object_group_info a = [] @tmx.object_groups.each do |objg| b = [] objg.objects.each do |o| b.push({:name=>o.name, :x=>o.x, :y=>o.y}) end a.push({:layername=>objg.name, :data=>b}) end return a endただ、敵の種類・プロパティを、どのように指定したらいいのか、そのあたりで少し悩んでいたりもして。今現在、 _Rubyのtmxライブラリ は、Object Layer名と、各Object の名前(.name)、座標(.x と .y)を取得できることは分かってるので、とりあえず文字列で種類判定しちゃってるけど。プロパティも参照できるなら、そこで指定したほうが良さそうな。
最後にスクロールが止まるようにしたのだけど。そうなると、やっぱり最後にボス敵が出てこないと、ゲームっぽくないなと…。この際、そこも作ってしまおうか…。しかし、仕様が思いつかない…。
[ ツッコむ ]
以上、1 日分です。