それで、私の友人と私は解決できない議論をしました。彼は、汎用 Web ゲーム ライブラリとマップ エディターを作成しています。マップ エディターはマップを XML として保存しますが、マップ エディターはマップの詳細を次のような Javascript ファイルにエクスポートする Lua スクリプトを読み込むこともできます (彼はコードを投稿したくなかったので、これは単なる名前が変更されたスニペット):
// This probably isn't valid code, but this is the idea of the code generator
(function() {
Game.Level1 = function (state) {
GameEngine.Group.call(this);
var Object0 = new Game.Lo(new GameEngine.Point(654 , 975.13), 15, state);
var slot123 = new GameEngine.TimeSlot(123); //Start
slot123.addEvent(new GameEngine.Event(Object0, "x", "current", 15, 200));
...
ゲーム ライブラリは、マップ ファイルを解析してオンザフライでオブジェクトを生成する代わりに、このコードを実行するだけでよいという考えです。また、コードを生成するマップ エディターの Lua スクリプトは、別のライブラリ用に別の言語でコードを出力したい人なら誰でも変更できます。(スクリプト言語に限定されません)。
このアイデアは聞いたことがありません。通常、マップ データは JSON や XML などの標準形式であり、ゲーム ライブラリに解析させることを期待していました。
彼のライブラリが JavaScript で書かれており、彼のマップが JavaScript を生成してファイルをロードできることを考えると、生成されたコードを実行することと、JSON/XML を解析してそこからオブジェクトを生成することの間のトレードオフは何ですか?