おんがえしの blog

作ったプログラムと調べた技術情報

シングルバイナリで動くゲームエンジンの fude というのを作っている

ongaeshi/fude: A single binary video game programming environment.

インストール不要でRubyスクリプトを書くだけで動くゲームエンジンを作ってみたくて作った。raylibというC言語で書かれたゲームエンジンを内部で使っている。とても軽量で raylib、mruby、raylib APIのmrubyへのバインディング全てでバイナリサイズが1.8MB! これならアプリケーション単位でfude.exeバイナリをgitレポジトリに置いても十分に運用できると思う。

自分がWindowsなのでWindowsバイナリを置いてしまっているけどraylibもmrubyも様々なプラットフォームで動くのでMacLinux, Androidで動かすのもそこまで難しくないと思う。後raylibはemscriptenによるHTMLビルドもサポートしているようなので機会があれば試してみたい。

インストールと使い方

git clone して exe 実行すればすぐにサンプルが動く。

ホットリロードモードもあってfude main.rbのようにファイル名指定、またはドラッグアンドドロップして起動した状態でファイルを編集すれば自動でホットリロードする。

raylibのAPIは大体移植したので https://github.com/raysan5/raylib/tree/master/examples にあるサンプルコードはある程度移植できるようになっているはず。 https://github.com/ongaeshi/fude/tree/master/examples にちょっと移植してある。