Haxe + OpenFL + mgl でゲームを作る

概要

Game Jam みたいなイベントに参加してみたいと思って、自分が一日くらいの短期間でゲームを作るのにちょうどいいライブラリみたいなものを探していました。

ブラウザで動くものがよかったので、Unity とか enchant.js とか Cocos2d-JS とか見てたんですが、最終的に mgl というライブラリにたどり着きました。理由はいろいろあるんですが(JavaScript が苦手とか)、サンプルが一番かっこよかったからです。

作ったもの

試しに作ってみたものです。作ってるうちになぜかゲームでも何でもなくなってしまったのですが、西暦と和暦の対応を表示するという優れものです。画像クリックで Web サイトに飛びます。要 Flash です。

ライブラリはそのまま使ってますが、一点だけ、Sound.hx で lastPlayTicks = 10; としてたところを 0 にしてます。

mgl よいところ

関数名の短縮形が用意されてて、それで書くと可読性最悪になるところです。 ABA Games さんは短縮形で書いてて、最初はさっぱり読めないんですが、慣れるとかっこよく見えてきます。

あと、画像と音のファイルを用意しなくていいところです。私はデザイナーでもコンポーザーでもありません。 なので、普通はリソースフォルダのようなところに、Web から拾ってきた無料素材を突っ込むことになると思うんですが、 だいたいその時点でクソゲーの予感がするので、ライブラリ側でかっこよくしてくれるのはとても助かります。

感想

これを書いている日に mgl の CoffeeScript 版が公開されました。 今回の Haxe 版は HTML5 としても出力できるんですが、たぶん音が対応していなそうだったので、今回は Flash にしました。CoffeeScript 版は HTML5 で音も出ているようなので、次は CoffeeScript 版を試してみたいです。