Apr 10, 2009
いさましいちびのゲームプログラマー?
最近 26年前の古い PCゲームのプレイ動画を観る機会がありました。
シンプルだけどここまで楽しげなゲームを作る事が出来るものなんですね。この動画に影響されてぽちにも小さくて素朴で楽しいゲームを作れないかな?なんて思うようになりました。ゲームを作ると言ってもぽちが理解してるプログラミング言語は、C や Elisp のほんのさわりと、初歩的な Perl だけなので、現実的には Perl を使って書く他ありません。Perl は元々テキスト処理が得意な言語なので、わざわざ不得意な分野のゲームを Perl で書くのもどうかと思いましたけども、とりあえずは実際に Perl で書かれたゲームがあるのかどうか探してみました。そしたら Frozen Bubble というゲームを発見!ソースコードをダウンロードするページを見てみると、
Dependencies:
The game has been written in Perl/SDL and developed on a Mandriva Cooker Gnu/Linux distribution. You will need:
- Perl: the most popular scripting language out there
- SDL: the "standard" cross-platform multimedia C library
- SDL_image: an image file loading library for SDL
- SDL_mixer: a multi-channel audio mixer library for SDL
- sdlperl: glue between perl and SDL; FB2 has been validated with versions 1.20.0, 1.20.3, 2.1.2 and 2.1.3
- SDL_Pango: glue between Pango and SDL (SDL_Pango is currently unsupported and needs a small API patch to work with Frozen-Bubble)
「Download Frozen Bubble - Frozen Bubble - the official home」より
なんて書いてあります。どうやら SDL という Cライブラリとそれを Perl にバインディングする SDL_perl という Perlモジュールがあると Perl でゲームを作れそうな感じです。調べてみると SDL というのは、Linux や Windows、Mac OS X はもちろん DS や PSP までプラットフォームを問わないマルチメディア Cライブラリという触れ込みですが、わりとゲーム製作に使われる事が多いようです。日本でも SDL を使って色々作ってる方々の SDL Off 2008 Summer という勉強会というか発表会が開催されてるみたいで、こんな動画も見つけました。
俄然やる気を出して早速 SDL_perl-1.20.3(debian lenny のパッケージではこれしか無かった)のドキュメントを読んでみたら、面倒臭いけど仕方なく書いたっぽい感じの内容で、書きかけだったりスペルミスも満載だったり挙句の果ては「SDL と同じです」なんて書いてあるやっつけ仕事風味のやる気の無さ。それに比べて Perl と同じ系統のスクリプト言語である Ruby には Ruby/SDL のドキュメントをはじめ Ruby/SDLで始めるゲームプログラミング【前編】などの親切なチュートリアルがある上に、

Rubyではじめるゲームプログラミングなんて本まで刊行されています。この差は一体何なのでしょう!?これじゃ SDL_perl がイマイチ普及して無いのも仕方ありません。Perl(大好きだけど)初心者(レベル)のぽちが悪戦苦闘しながら Perl でゲーム作りをする経過をこのサイトに書いていったら SDL_perl を使ったゲーム作りの普及に少しでも貢献出来るかなあ?
まずは SDL をしっかり勉強するとして、
目指せ、いさましいちびのゲームプログラマー!
writeback message: