我希望编写一个基于Web的MMO游戏,允许用户编写AI并将其作为游戏的一部分运行。我计划使用Html5进行图形处理,并希望它是基于Web的,以便可以从智能手机中访问。我需要找到一种编程语言,支持沙盒、并发、热代码交换和大型库以使事情更容易。
目前我的研究结果表明Erlang、Stackless Python和Lua等语言可以支持这些要求。欢迎提供任何帮助。
目前我的研究结果表明Erlang、Stackless Python和Lua等语言可以支持这些要求。欢迎提供任何帮助。
Erlang不支持沙箱,所以你可能不想使用它作为脚本语言。无论如何,Erlang并不是脚本编程的理想选择,所以这没关系。
但是,Erlang对于像这样的项目来说是一个很好的后端语言,基于个人经验,我强烈推荐使用它。
我认为Stackless也没有沙箱支持, 所以这也不在考虑范围之内。
另一方面,Lua明确支持沙箱,并且还有协程:http://lua-users.org/wiki/SandBoxes, http://lua-users.org/wiki/CoroutinesTutorial,所以我建议你使用它作为脚本语言。
Lua也非常容易嵌入,就像在这个简单的教程中看到的: http://heavycoder.com/tutorials/lua_embed.php (而且你甚至可以不用加载所有的库,因为你需要对它进行沙箱隔离)。
然而,Lua缺乏扩展标准库,这就是Python大获全胜的地方 :/。