8

我想编写一个基于网络的 MMO 游戏,允许用户编写 AI 并将其作为游戏的一部分运行。我计划将 Html5 用于图形,并希望它基于网络,以便可以从智能手机访问。我需要找到一种支持沙盒、并发、热代码交换和大型库的编程语言,以使事情变得更容易。

目前我的研究对象是 Erlang、Stackless Python 和 Lua。任何帮助表示赞赏。

4

2 回答 2

16

Erlang支持沙盒,因此您可能不想使用它,至少对于您的脚本语言。Erlang 无论如何都不适合编写脚本,所以这可能没问题。

然而, Erlang为这样的项目提供很好的后端语言,我强烈推荐它从个人经验。

我不认为 Stackless 也没有沙盒支持,所以这也可能不在列表中。

另一方面,Lua 明确支持沙盒,并且也有协程:http://lua-users.org/wiki/SandBoxeshttp://lua-users.org/wiki/CoroutinesTutorial,所以我建议为您的脚本语言。

Lua 也非常容易嵌入,正如这个小教程中所见:http: //heavycoder.com/tutorials/lua_embed.php(你甚至可以在没有加载所有库的情况下逃脱,因为你无论如何都想对其进行沙箱化)。

于 2010-01-21T01:56:46.457 回答
7

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 :/.

于 2010-01-21T02:07:24.403 回答