我想编写一个基于网络的 MMO 游戏,允许用户编写 AI 并将其作为游戏的一部分运行。我计划将 Html5 用于图形,并希望它基于网络,以便可以从智能手机访问。我需要找到一种支持沙盒、并发、热代码交换和大型库的编程语言,以使事情变得更容易。
目前我的研究对象是 Erlang、Stackless Python 和 Lua。任何帮助表示赞赏。
我想编写一个基于网络的 MMO 游戏,允许用户编写 AI 并将其作为游戏的一部分运行。我计划将 Html5 用于图形,并希望它基于网络,以便可以从智能手机访问。我需要找到一种支持沙盒、并发、热代码交换和大型库的编程语言,以使事情变得更容易。
目前我的研究对象是 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(你甚至可以在没有加载所有库的情况下逃脱,因为你无论如何都想对其进行沙箱化)。
I'd also go with Lua due to it's absurd customizability and versality (if you don't like it's syntax you can change it to a functional or a python-like one). As said in the previous answer, you've got sandboxing and strong concurrency. I personally would never even think of embedding anything else than Lua ;>.
However, Lua lacks a expanded standard library, and this is where Python wins big time :/.