我正在寻找可以嵌入游戏的虚拟机。
我的想法是创造一个游戏世界和两个化身。在头像中,我嵌入了一个虚拟机,可以使用api与游戏世界中的头像进行交互,例如:
move_forward()
turn_left()
turn_right()
sense()
etc.
在每个tick中,我将允许每个VM更新每个进度的X刻度。然后将两个不同的程序上传到每个VM并独立执行。整个设置应该能够抵御VM内的程序崩溃。
我更喜欢在Python中工作,我的环境是C#,但我愿意接受建议。
这个想法深受GunTactyx游戏的启发,但我发现那里使用的语言太狭隘了,因为我的目标是成为一个进一步深入编程的学习平台。
你知道任何允许我这样做的虚拟机吗?
亲切的问候
的Jesper
答案 0 :(得分: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/
另请查看此帖子以了解有关Lua Vs Python的讨论: