2009.01.11
Pygameで書かれたスーパーマリオ似のゲーム「Pixelman」
Pixelman 3 - Final by pymike
http://www.ludumdare.com/compo/2008/04/20/pixelman-3-final/

「Pixelman」は、Pythonのゲームライブラリ「Pygame」で書かれたゲーム。

スーパーマリオに似ていて、いたってシンプルな作りだが、わりと楽しめる。

Windowsであれば、上のURLの「Windows: Download (3 MB)」のリンクからzipをダウンロード・解凍するだけで、すぐに遊べる(インストール不要)。その中にある「Pixelman 3.exe」をダブルクリックすれば、以下のタイトル画面が出てくる。



ここでリターンを押すと、「Prologue」というテキストが出てくるので、そこでもリターンを押すと、ゲームスタート。



スーパーマリオなどと同じ要領で、左右の矢印キーで前後に移動し、上の矢印キーでジャンプ。モンスターにぶつかったり、下のギザギザに落ちると死ぬ。ジャンプしてコインを取りながら右に進んでいく。

これはゲームとして楽しむこともできるが、むしろ「Pygame」を使ったゲームの実例としての意味が大きい。

これのソースコードはなんとPythonファイル1つだけで、そのうちロジック部分は700行くらいしかない。

Pixelman ソースコード(Pythonファイル)
http://pymike93.googlepages.com/Pixelman3.pyw

これはPythonのソースコードなので、テキストエディタで開ける(Pythonを知らない人も、チラッと見てみてほしい)。レベル5までのステージや登場キャラクタがテキストで定義されていて、画像や音声データもbase64で文字列化し、すべて1ファイルに収めている。つねにこれが最善の方法というわけではないが、1ファイルに収めて配布しやすくするひとつの方法だろう。

これだけ小さいソースコードにしては、ちゃんと楽しめるゲームになっているのがすごい(Pygameの威力でもある)。実用レベルに達しているからこそ、生きた教材になっているという好例だろう。Pythonを勉強したい人やゲームを作りたい人などにとって、まず目標とするのにちょうどいいレベルの教材だと思う。


関連エントリ:
Disk Field
http://mojix.org/2008/03/11/disk_field