0

我正在寻找可以嵌入游戏的虚拟机。

我的想法是创建一个游戏世界和两个化身。在头像中我嵌入了一个虚拟机,它可以使用 api 与游戏世界中的头像进行交互,例如:

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

在每个滴答声中,我将允许每个 VM 更新每个正在进行的 X 个滴答声。然后将两个不同的程序上传到每个 VM 并独立执行。整个设置应该能够防止 VM 内的程序崩溃。

我更喜欢在 Python 中工作,我的环境是 C#,但我愿意接受建议。

这个想法很大程度上受到了 GunTactyx 游戏的启发,但我发现那里使用的语言过于狭窄,因为我的目标是成为一个学习平台,以进一步进入编程领域。

你知道任何允许我这样做的虚拟机吗?

亲切的问候

杰斯珀

4

1 回答 1

1

我会使用 Lua,根据我的经验,它在游戏中的使用比 python 更多。

您可以使用调试钩子或协程来限制一次执行的指令数量。这是一篇关于有人做类似你的事情的帖子: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 回答