ゲームフレームワークLOVE

先日、IndieGames.comで"Not Tetris"というゲームが紹介されていた。

テトリスを模した物理シム系のゲームだ。シンプルなネタゲームだけれど、世界で最も有名であろうゲームボーイ版のテトリスに対するオマージュが感じられて面白い。

このゲームは"LOVE"という、スクリプト言語Luaをベースにしたフレームワークを使って制作されている。LOVEには2D物理エンジンとしてBox2Dが組み込まれているので、こういった物理シムを使ったゲームは比較的手軽に制作することができる。

以前、Luaを使った軽量なフレームワークは無いかと探していたときに、このLOVEの存在を偶然に知った。ユーザー数はさほど多くないけれど、軽量な設計や、整備されたドキュメント、マルチプラットフォームへの対応など、無難によくできている。ゲームプログラミングの入門には適した環境かもしれない。

余談

LOVEはよくできている。でも敢えて贅沢を言えば、これと同レベルのものがHTML5+JavaScriptで登場すればいいのに……と、個人的には考えている。この手のカジュアルゲームは、インストール不要で遊べることが必須だからだ。

LOVEには独立実行形式を生成する手段が用意されていて、インストールの手間は極力減らすことができるようになっている。ただそれでも、ダウンロードしてローカルに保存しなければいけないという時点で、プレイに対する障壁は格段に高くなってしまっていると思う。

JavaScriptベースでゲームフレームワークを構築することは可能だろうか?グラフィックに関してはcanvas要素を使ったライブラリがいくつか存在する。音に関しては、ブラウザによって対応がまちまちで(例えばFirefoxはmp3に対応していない)、現状は過渡的であると言わざるをえない。物理エンジンについてはBox2DのJavaScript版が既に存在していて、今後の発展の可能性を感じさせる。