Platformer

XNA Game Studio 3.0からStarterkitが3Dシューティングゲーム(といっても動きは2D的だが)のSpacewarから2DアクションゲームのPlatformerというゲームに変わった。 xbox360zuneというプラットフォームが加わったことでよりスペック的に現実路線に切り替えたということかもしれん。 ともかくこのPlatformerというゲームは、2Dアクションゲームのひな形としては良くできているので、しばらくうちのゼミで使い倒してみたい。 ゆくゆくは一から2Dアクションゲームを作っていくつもりだが(というのは私たちが作りたいのはPCプラットフォームだけで、 zunexbox360でも動くような(複雑な)ソースを書く気がないからだが)、そのまえに、私も、同時に学生も、 このゲームのソースコードをじっくり読んで調べる必要があると思う。それだけの価値があるように思う。 初心者は、いきなりアクションゲームを作り出すのではなく、まずこのPlatformerをいじってみるのが良いのではないか。

やや驚いたのはXACTがなくても音を鳴らせるということ。 もっと早くそうして欲しかった。 サウンド素材はwma形式のファイルとして読み込まれるようだ。

Gameを継承してGame1ではなくてPlatformerGameというクラスを作っている。

敵キャラ(MonsterA, MosterBなど)はIdle.pngとRun.pngという二つのスプライトでできている。 それぞれが10コマ程度のアニメーションになっている。背景は透明。

自機(Player)はDie.png、Run.png、Jump.png、Idle.pngなどこちらも動作ごとスプライトでできていて、 それぞれが10コマ程度のアニメーションになっている。

マップ(面、level)はLevelというクラスがまず用意してあり、そのデータはHighResolutionContent→Levels→0.txt、1.txt、2.txtなどのように テキストファイルで表現されている。

....................
....................
....................
....................
....................
....................
....................
.........GGG........
.........###........
....................
....GGG.......GGG...
....###.......###...
....................
.1................X.
####################

なるほど。テキストデータは必ずしもXMLファイルでなく、プレインテキストファイルでも良いわけだなあ。

なんかおもしろくなってまいりました。

一応横スクロールもできるらしい。

platformer とは、ゲームの一ジャンルで、横スクロールで段差を飛び越えていくようなゲーム (wikipediaの例で言うとWonder Boy、Donkey Kong、Super Mario Bros) のことを言うらしいなあ。要するにマリオだな。