2DゲームエンジンDEFOLDの紹介
2DゲームエンジンのDEFOLDを使いはじめました。
調べた内容を少しずつまとめます。
今日は紹介だけ。
完全無料
「完全」の意味はよくわからないけど、やったぜ!
言語はlua
javascriptに似たゆるい言語。プログラミング初心者でも手を出しやすいと思います。
Lua - Wikipediaより
Hello World
print("Hello World")
挿入ソート
local a = {5, 3, 1, 4, 2} -- `{´と`}´はテーブルコンストラクタ for i = 2, #a do -- `#´は長さ演算子であり、`#a´はテーブルaのサイズ(ここでは5)を返す for j = i, 2, -1 do if a[j - 1] <= a[j] then break end a[j], a[j - 1] = a[j - 1], a[j] end end
特に癖もなく普通の言語です。
マルチプラットフォーム対応
対応プラットフォームいっぱい。 - HTML5 - Android - iOS - Steam - FB Instant Games - Windows - macOS - Linux
セットアップ不要
エディタをダウンロードしてインストールするだけで環境構築完了です。 編集画面のUIもシンプルでよさそう。
Message Passingが良い
ちょっと細かい話ですが、DEFOLDでは
メソッド呼び出しなどのオブジェクト同士のコミュニケーション時に、オブジェクトのメソッドを直接呼ぶことができません。
その代わりMessage Passingを使い、間接的にメッセージを送る方式を使います。
こんなイメージ
これによりオブジェクト同士の依存が強制的になくなります。
依存がないとオブジェクトの再利用などの最適化ができるようになります。
そこらへんの最適化はDEFOLD側で全部いい感じにやってくれます。
なので開発者はゲームのことだけ考えれば良い。
ありがたやー。
とりあえずシューティングゲームでも作ってみます。