语言开发游戏"/>
python语言开发游戏
我可能会稍微偏离主题,但这个主题让我感兴趣,因为我(爱好方面)在很多游戏服务器(MMORPG服务器)上工作过——除了我的代码之外,还有其他人的代码。有一些文献你会感兴趣的,如果你想要一些参考的话,给我留个便条。
在您的问题中,有一件事让我印象深刻,那就是希望从多线程应用程序中为1000个用户提供服务。从我的卑微经验来看,这不太管用。:-)
当你为成千上万的用户服务时,你需要一个尽可能模块化的设计,因为你的主要目标之一是保持服务作为一个整体的运行。游戏服务器往往相当复杂,所以会有相当多的显示停止错误。不要因为一个单一的失败点(一个应用程序)而让你的生活痛苦。
相反,尝试构建可以在多个主机上运行的多个进程。我的拙见如下:使它们独立,这样一个失败的过程将与服务无关。
使它们变小,这样服务的不同部分和它们的交互方式就容易掌握。
不要让用户直接与gamelogic或DB通信。编写一个代理网络堆栈可以并且将在拥有大量用户时在不同的架构上显示奇怪的行为。还要确保以后可以“清理”/过滤代理转发的内容。
拥有一个只监视其他进程以查看它们是否仍然正常工作的进程,并且能够重新启动部件。
使它们可以分发。从一开始就通过TCP协调进程,否则会遇到可伸缩性问题。
如果您拥有大型环境,请考虑通过按地理位置划分服务器来动态划分负载的方法。不要让每个后端进程都将所有数据保存在内存中。
我已经移植了一些用C++和C语言编写的引擎,用于Linux、FreeBSD和Solaris(在旧的UltraSparc IIi上,是的,MMOO仍然运行在那里)。根据我的经验,考虑到它在sparc机器上运行的古代硬件,C#已经足够快了。
行业(据我所知)倾向于使用大量的C++来为服务工作,并为实际的游戏逻辑嵌入脚本语言。啊,写了太多已经很酷的话题。
更多推荐
python语言开发游戏
发布评论