SDL 関西オフ 2008年新春

久方ぶりに関西オフが開催されるというので参加してきました。もっとも、本来なら前回(id:logion:20060109#p1)のように運営側として動くべき所を、開催のアナウンスに数日前まで気づいていなかった(!)というショボい理由のため準備の段階では何にもしませんでした。スイマセンorz
会場の手配をして下さった tkf さん、飲み会の場所を手配して下さった ohai さん、yhara さんにはひたすら感謝するばかりです。

以下、各自のネタについて発表順で書いていきます。

gony さんのネタ Tekito Striker はスペハリのように 2D スプライトの拡大縮小を使った擬似 3D シューティングを本当の 3D(OpenGL) で再現してみるという試みでした。当時の感覚に近づけようとすると時速4000kmぐらい(笑)とかに設定せなあかんそうで、演出上のウソがいかに重要かがよく理解できました。言語は今回初めて Objective-C を使ってみたそうですが、自機が弾を発射して敵を破壊するという所までちゃんと実装されてました。*1

うちのネタは一昨年リモート参加時に披露した Plot3D (id:logion:20060215) と、ちょっとした新ネタ(後で書きます)でした。

Zinnia さんは自作のプレゼンツール SPS で自己紹介をされました。数年前に Xanadu Clone の SDL 版の開発と、s98 フォーマットを使った FM 音源対応を行っていたそうです。(全然知りませんでした…) 空腹時の音程変化にもばっちり対応とか。また、SDL ではありませんが Managed DirectX 習作としてマウスカーソルからパーティクルが飛び散るデモもありました。もっとも最後に紹介された、音声解析によるいびきで操作するゲームの構想が気になって夜も眠れそうにありません(笑)。

id:isshiki さんのネタは、携帯ゲーム機 GP2X-F200 上で Python を動かし、 gony さんの シューティング GSS を移植してしまったというものでした。フレームレートは少し厳しかったようですが、そもそも Python ごと携帯ゲーム機で動いてしまう所が素晴らしいです。もっとも、画像の解像度を落としたり 8bit に減色したりとメモリの制約をクリアするための工夫が大変だったそうです。また、ラスタースクロールを使った製作中の縦シューも披露されました。

id:shinichiro_h さんはネタの仕込み時間が十分にとれなかったそうで、その理由として id:i-saint さんが昨年末のコミケで販売された exception を紹介されていました。(うちも通販で買いました。まだ 3 面が越せません) また、開発中の弾幕+追いかけっこジャンプアクション(?)も披露されましたが、ゲームに仕上げるかどうかは未定とのことです。楽しげに見えたのでちょっと残念…。

ohai さんのネタは SPS による自己紹介と、リリースが近い Ruby/SDL 2.0 の話でした。主な変更点は内部構造の変更、Event2 が本採用となって Event に改名、Surface の明示的な開放のサポート、そして昨年末にリリースされたばかりの Ruby1.9 への対応などです。かねてよりリリースは英語版のドキュメントができてから…とコメントされてましたが、その時期もとうとう 3 月と明言されました。みなさん wktk して待ちましょう。(待てない人は CVS から入手しましょう) そして、昨年のNFで展示されたという全面ワイヤーフレームの地形縦シュー Pencil Bullet に超期待。めっちゃトレジャーしています。地形や敵配置・キャラデザインに独自の CAD ツールを開発するほどの気合の入り様。大学の研究室時代、TgifXpilot の自機をデザインしていた頃を思い出してしまいました。時期は未定ですが、そのうち公開されるかも知れないそうなのでとても期待してしまいます。

yhara さんのネタの1つ目は SDL ではないものの Javascipt で実装された BiwaScheme。プレゼンに使われていた一見HTML+Javascript なページも、ソースを開いてみると Scheme のコードがびっしりで大爆笑。2つ目は Ruby1.9 から導入された Fiber (coroutine) を使った Ruby/SDL2.0 の動作デモ。以前の SDL オフでも、Python の Generator を使ったシューティング GSS を gony さんが披露されていましたが、登場するキャラの個々の移動ルーチンがそれぞれ独立して書けるのでなかなか良さげに思っていました。*2 Ruby でも PentiumM のノート PC で 300 個程度のキャラが 60 fps で動いており、パフォーマンス的にも全然問題なさそうとのことです。うちも Ruby を触り出したことやし、そのうち一度触ってみたいと思います。上で「CVS から入手しましょう」なんて書いていますが、Windows 版の Ruby1.9+Ruby/SDL2.0 のバイナリがすでに公開されていますので、うちはこちらを使いたいと思います。(ありがたやありがたや) …と思いきや OpenGL がなさげですね…楽したらあかんとゆーことか。orz

tkf さんのネタは教育研究用に考えてはる、ワンチップマイコンと PSG 音源チップの制御を SDL で行うという構想の話。最近のハードウェアの話は全く知らなかったので興味深く聴かせていただきました。特に、USB 直挿しできる制御基板がついてくる「はじめての 78k マイコン」なんていう書籍があるんですね…。

wo さんは当日まで準備する時間がなかったそうで、他の方の発表中に仕込みをされていました。それでも時間内に SDL_net による通信対戦レーシングができてしまって驚愕。id:isshiki さんがコンパイルを頑張ったおかげで無事 2 台の PC 間で通信対戦が実現できました。すばらしい。

id:niha さんは ゴルファーな方でした。SDL ネタではなかったものの、ruby によるショートコーディングの実演をして下さいました。可読性厨(^^;)の自分にはあまり縁のない世界だと思っていましたが、ruby を勉強したばっかりの身でも中々分かり易かったです。とりあえずリストの生成には rest 引数を使うと 1 文字削れることは理解しました。(<学んだのはそれだけかっ!)

そんなこんなでとても内容の濃い会合でした。みなさま本当にお疲れさまでした。

*1:やはり SDL のオフネタとはこうあるべきですね…。orz

*2:この話を聞くと、個人的には SORD M5 の BASIC-G に搭載されていた MOVE 命令を思い出すんですよね…。