Apr 10, 2009

いさましいちびのゲームプログラマー?

最近 26年前の古い PCゲームのプレイ動画を観る機会がありました。

PC-6001ベーマガ投稿作品「ハンバーガー・ショップ」

シンプルだけどここまで楽しげなゲームを作る事が出来るものなんですね。この動画に影響されてぽちにも小さくて素朴で楽しいゲームを作れないかな?なんて思うようになりました。ゲームを作ると言ってもぽちが理解してるプログラミング言語は、CElisp のほんのさわりと、初歩的な 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 という勉強会というか発表会が開催されてるみたいで、こんな動画も見つけました。

D.K 「かいてんパティシエ!」GP2X版 PSP版の紹介 ”MIZU GAME” X#+SDL.NETによる開発 - FSLASHT

俄然やる気を出して早速 SDL_perl-1.20.3(debian lenny のパッケージではこれしか無かった)のドキュメントを読んでみたら、面倒臭いけど仕方なく書いたっぽい感じの内容で、書きかけだったりスペルミスも満載だったり挙句の果ては「SDL と同じです」なんて書いてあるやっつけ仕事風味のやる気の無さ。それに比べて Perl と同じ系統のスクリプト言語である Ruby には Ruby/SDL のドキュメントをはじめ Ruby/SDLで始めるゲームプログラミング【前編】などの親切なチュートリアルがある上に、

Rubyではじめるゲームプログラミング表紙画像

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

まずは SDL をしっかり勉強するとして、

目指せ、いさましいちびのゲームプログラマー!

Posted at 23:00 in perl | Comments/Trackbacks ()
Comments/Trackbacks
TrackBack ping me at
http://pochi.usamimi.info/blog/perl/isamashii_chibino_game_programmer.
Post a comment

writeback message: