Networking 泥浆编程问题

Networking 泥浆编程问题,networking,mud,Networking,Mud,我以前玩过一个基于泥的游戏。它是高度定制的,但在核心部分是相同的。我有这个MUD的源代码,并且对编写自己的(只是为了一个有趣的项目)感兴趣。不过我有一些问题,主要是关于设计方面的。也许有人能帮我一下 我应该使用什么语言?解释还是编译?这有区别吗?SMAUG是用C写的。我对很多语言都很熟悉,而且学习更多也没有问题 是否有一种我应该遵循的特殊方法不影响性能?面向对象、功能等 我应该使用什么介质来存储数据?平面文件(这是SMAUG使用的),或者类似SQLite的东西。两者的性能优缺点是什么 有没有人知

我以前玩过一个基于泥的游戏。它是高度定制的,但在核心部分是相同的。我有这个MUD的源代码,并且对编写自己的(只是为了一个有趣的项目)感兴趣。不过我有一些问题,主要是关于设计方面的。也许有人能帮我一下

  • 我应该使用什么语言?解释还是编译?这有区别吗?SMAUG是用C写的。我对很多语言都很熟悉,而且学习更多也没有问题
  • 是否有一种我应该遵循的特殊方法不影响性能?面向对象、功能等
  • 我应该使用什么介质来存储数据?平面文件(这是SMAUG使用的),或者类似SQLite的东西。两者的性能优缺点是什么
  • 有没有人知道如何开始这样一个项目的指南
  • 我希望它能够扩展到允许50名玩家同时在线,而不会降低性能。如果我使用Ruby 1.8(速度非常慢),与使用Python3.1(速度更快)或编译的C/C++相比,它会有所不同吗

    如果有人能伸出援手,提供一些信息或建议,我将永远感激。

    我将尝试一下:

  • 2009年,对于一个50人的游戏来说,这并不重要。如果您想进一步扩展它,您可能想选择一种您熟悉的分析工具所用的语言,但是由于RAM现在非常便宜,驱动早期LPMUD(我有经验)和DikuMUD(您的Smaug的来源)的约束不适用。(LPMUD可以在8MB内存的机器上处理约10-15名玩家)
  • 编程风格不一定会导致性能问题,像雅虎商店这样的大型网站都是用C编写的,但正如雅虎商店这样的大型网站是用Lisp编写的,StackOverflow是用ASP.NET编写的,等等。我个人使用C,但很多人会称我为虐待狂
  • 平面文件在今天的数据存储时代是毫无意义的,有一些特殊情况例外(例如,大型邮件服务器有时使用“maildir”,它是结构化平面文件)。游戏的规模可能意味着你不会因为数据检索延迟而陷入巨大的缓慢,但崩溃情况下的数据完整性可能会成为最有说服力的论据
  • 我不知道有什么指南,但我要做的是尝试让游戏作为一个哑巴聊天服务器启动,确保用户可以登录并做一些事情(将他们的输入和转储到所有其他用户),然后将其建立到允许特定登录,这样你就开始面临用户名/密码处理的挑战,和用户选项设置/存储/检索。。。然后开始添加游戏驱动元素(让tic-tac-toe游戏在游戏中运行),然后再进行一些更复杂的操作(让5个房间的设置用于处理可以相互拾取/放下/击打的对象),然后添加一些非玩家角色,然后担心在Diku衍生的smaug castles/等中发出咕噜声并使用它们。:)
    这有点即兴,我相信会有不同的意见。:)祝你好运

    这是一个基于文本的游戏,对吗?在这种情况下,对于当前的硬件,似乎您需要担心的是不会意外地创建一个O(n**2)算法。即使有50个用户,这也不会太糟糕。

    啊,LPMUD。。。带来了很多回忆。LPC实际上非常适合开发物品和生物。非常可靠的答案Jon!!我会提到用异步通信启动哑巴聊天程序。回去插上它会很痛苦。