gpt4 book ai didi

networking - MUD编程问题

转载 作者:行者123 更新时间:2023-12-03 00:13:19 27 4
gpt4 key购买 nike

我以前玩过一款基于Smaug Codebase的MUD 。它是高度定制的,但核心是相同的。我有这个 MUD 的源代码,并且有兴趣编写自己的源代码(只是为了一个有趣的项目)。不过,我有一些问题,主要是关于设计方面的问题。也许有人可以帮助我?

  1. 我应该使用什么语言?解释的还是编译的?这有什么不同吗? SMAUG 是用 C 编写的。我熟悉多种语言,学习更多语言也没有问题。
  2. 我是否应该遵循某种特定的方法来不影响性能?面向对象、函数式等等?
  3. 我应该使用什么介质来存储数据?平面文件(这就是 SMAUG 使用的文件),或者类似 SQLite 的文件。两者的性能优缺点是什么?
  4. 是否有任何人知道如何开始此类项目的指南?

我希望它能够扩展到允许 50 名玩家同时在线,而性能不会下降。如果我使用 Ruby 1.8(非常慢),与使用 Python 3.1(更快)或编译的 C/C++ 相比会有什么不同吗?

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

最佳答案

我会尝试一下:

  1. 在 2009 年,对于 50 名玩家的游戏来说,这并不重要。如果您想进一步发展它,您可能想选择一种您熟悉的分析工具的语言,但由于现在 RAM 非常便宜,驱动早期 LPMUD(我有过经验)和 DikuMUD(它)的限制你的史矛革源自)不适用。 (LPMUD 可以在 8MB RAM 的机器上处理约 10-15 名玩家)
  2. 编程风格并不一定会导致性能困难,像 Amazon's 'obidos' webserver 这样的大型网站是用 C 编写的,但像最初的雅虎商店这样的大型网站是用 Lisp 编写的,StackOverflow 是用 ASP.NET 编写的,等等。我/个人/使用 C,但很多人会称我为虐待狂。
  3. 平面文件在当今时代对于大量数据存储来说毫无意义,也有特定情况的异常(exception)(例如,大型邮件服务器有时使用“maildir”,它是结构化平面文件)。游戏的规模可能意味着您不会因数据检索延迟而遇到巨大的缓慢问题,但崩溃时的数据完整性可能会成为最有说服力的论点。
  4. 不知道任何指南,但我要做的就是尝试将游戏作为一个愚蠢的聊天服务器启动,确保用户可以登录并执行某些操作(获取他们的输入并将其转储给所有其他用户),然后将其构建为允许特定登录,因此您将开始面临用户名/密码处理以及用户选项设置/存储/检索的挑战...然后开始添加游戏驱动程序元素(获取井字游戏在游戏中工作),然后变得更复杂一点(得到一个 5 个房间的设置,使用可以拾取/掉落/互相攻击的对象),然后添加一些非玩家角色,然后担心在 Diku 中吞食-派生出史矛革城堡等并与它们合作。 :)

这有点即兴的,我肯定会有不同意见。 :) 祝你好运!

关于networking - MUD编程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1849372/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com