evennia

Action disabled: source

Evennia是一款开源的MUD类游戏的服务器软件,它基于Python1)开发,使用BSD许可协议发布,对商业应用友好。

虽然MUD是一种历史比较久远的游戏方式,但Evennia自身使用了不少新技术。它结构清晰、文档丰富、开发简便、易于扩展。它自带有网页服务器和客户端,用户可以直接使用浏览器玩MUD游戏,而且还加入了文字链接功能,可以通过点击链接而不是输入文字来进行游戏。虽然目前针对的主要是纯文字内容的游戏,但由于其自身很容易扩展,加以改动就可用于更广泛的用途,发展潜力很大。

Muddery是一个用Python编写的MUD框架,采用BSD许可证(3句版)发布,它由卢铱俊基于Evennia开发。

Muddery仍在开发中,它将具有以下特点:

  1. 使用Python开发的,因此可以跨平台。用户只需要花几分钟时间就能安装它。
  2. 使用网页客户端,以JSON格式交互数据。客户端负责展示内容,用户通过修改网页就能改变显示的样子。Muddery可以支持简单的图像和声音,但它不再支持Telnet及通用的MUD客户端。将来可能会开发它的原生应用客户端。
  3. 将会提供一系列的模块如战斗系统、技能系统、装备系统等,用户可以使用这些模块创建自己的游戏。
  4. 可以通过一系列数据表创建整个游戏世界,那些只具备很少编程知识的游戏设计者也可以用Muddery来创建游戏。

其实无论是Evennia还是基于Evennia开发的Muddery,在架构、可扩展性、架设维护等方面都比传统的LPMUD要有优势,例如:

  1. 跨平台。
  2. 模块化的系统和扩展,游戏开发者可以制作自己的页面、游戏内容等,以Override的方式载入,官方的各项更新基本不会对游戏开发者的开发内容产生影响。
  3. 添加内容容易,无论是基于django model的系统和内容管理,还是重写基于数据库的内容管理,都可以让开发零基础的人进行游戏内容添加。
  4. 系统在线开发,重启不会造成玩家断线。

可见Evennia确实是一个很有前景的项目,但目前还有一个很致命的缺陷:由于所有玩家的所在位置均会记录在数据库中,而存储过程部分的代码还有缺陷,那么当玩家快速移动的时候会产生大量的数据库并发读写,造成LAG


1)
一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL (GNU General Public License) 协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
  • evennia.txt
  • 最后更改: 2017-09-27 10:18
  • dnk