0

ゲーム内に組み込むことができる仮想マシンを探しています。

アイデアは、ゲームの世界と 2 つのアバターを作成することです。アバターの内部には、次のような API を使用して、ゲームの世界でアバターと対話できる仮想マシンを埋め込みます。

move_forward()
turn_left()
turn_right()
sense()
etc.

各ティックで、各 VM がそれぞれ進行中の X ティックを更新できるようにします。その後、2 つの異なるプログラムが各 VM にアップロードされ、個別に実行されます。セットアップ全体が、VM 内のプログラムのクラッシュに対して堅牢である必要があります。

私は Python で作業したいと思っています。私の環境は C# ですが、提案は受け付けています。

アイデアはゲーム GunTactyx に大きく影響を受けていますが、そこで使用されている言語は狭すぎると思います。プログラミングにさらに進むための学習プラットフォームになることを目指しているからです。

これを可能にする VM を知っていますか?

敬具

ジェスパー

4

1 に答える 1

1

私の経験では、Python よりもゲームで頻繁に使用されている Lua を使用します。

デバッグ フックまたはコルーチンを使用して、一度に実行される命令の数を制限できます。あなたと似たようなことをしている人の投稿があります: http://lua-users.org/lists/lua-l/2009-03/msg00008.html

クラッシュに対する堅牢性の観点から: 「Lua は拡張言語であり、アプリケーションに頻繁に組み込まれているため、エラーが発生したときに単純にクラッシュしたり終了したりすることはできません。代わりに、エラーが発生するたびに、Lua は現在のチャンクを終了してアプリケーションに戻ります。 " http://www.lua.org/pil/8.3.html

C# を使用して Lua をラップする場合は、試してください。

http://luaforge.net/projects/luainterface/

https://github.com/NLua/NLua

また、Lua Vs Python に関する議論については、この投稿もチェックしてください。

https://stackoverflow.com/questions/356160/which-game-scripting-language-is-better-to-use-lua-or-python

于 2013-06-21T18:10:07.803 に答える