暗星计划是否现实?[已关闭]

2022-09-01 17:30:51

Project Darkstar是昨晚在纽约谷歌办公室举行的JavaSIG月度会议的主题。对于那些不认识的人(可能是每个人),Project Darkstar是大型多人在线游戏的框架,试图处理所有“困难的东西”。基本思想是,您编写游戏服务器逻辑的方式是将所有操作分解为微小的任务。您可以将这些任务传递给 Project Darkstar 框架,该框架处理将它们分发到集群中的特定节点、任何并发问题,最后持久化数据。

显然,对于视频游戏来说,做这种事情与为企业应用程序做的问题是一个大不相同的问题。发表演讲的Jim Waldo声称,MMO游戏的数据库读/写比率为50/50,而企业应用程序更像是90%的读取,10%的写入。他还声称,大多数现有的MMO都会将所有内容完全保存在内存中,并且每6小时才转储到数据库。这意味着如果服务器出现故障,您将丢失自上次数据库转储以来的所有工作。

现在,这个项目本身听起来真的很酷,但我不认为这个行业会接受它。首先,您必须用Java编写服务器代码。客户端代码可以用任何东西编写(Jim声称ActionScript 3是最流行的,其次是C++),但服务器的东西必须是Java。对我来说听起来不错,但我真的得到的印象是,游戏行业的每个人都讨厌Java。

其次,与其他开发人员更喜欢使用现有框架和库的行业不同,游戏行业的家伙似乎喜欢自己编写所有内容。不仅如此,他们喜欢为他们制作的每个新游戏重写所有内容。开发人员使用Havok进行物理处理,虚幻引擎3作为平台等,情况开始发生变化,但在大多数情况下,看起来一切都是专有的。

那么,Project Darkstar的家伙们只是在浪费时间吗?像这样的通用框架真的适用于具有所需性能的复杂游戏吗?即使它确实有效,游戏公司是否愿意使用它?


答案 1

编辑:这是在甲骨文收购Sun并开始横冲直撞之前写的,以杀死所有每天不能使他们赚十亿美元的东西。请参阅 OSS 分叉的注释。我仍然坚持我的观点,即像这样的东西(MMO中间件)是现实的,你只需要一个不会落后于它的公司。

市场可能由少数大型游戏主导,但这并不意味着没有多少空间容纳更多的小众游戏。让我们面对现实:如果你想达到100.000多名玩家,你最终会建立自己的技术堆栈,至少对于关键核心而言。这就是CCP为EVE Online(StacklessIO)所做的,这就是暴雪为魔兽世界所做的(尽管他们确实使用了许多第三方库),这就是Mythic为Warhammer Online所做的(尽管它们基于Gamebryo)。

但是,如果您的目标是成为一个小型的利基MMO(例如数十个免费游戏/Itemshop MMO),那么获得正确的网络内容非常困难,数据一致性甚至更难,可扩展性是最大的b * tch。

但游戏技术并不是你唯一的问题 - 你还需要解决计费问题。只使用信用卡?在德国销售的乐趣,然后,那里的人们想要ELV。这就是你需要一个可靠的计费提供商的地方,但你仍然需要将你的帐户连接到计费应用程序中,以确保在计费失败时阻止/重新激活帐户。

有一些公司已经提供“MMO基础设施服务”(即欧唯特的EEIS),但底线是:像Project Darkstar这样的东西是现实的,但假设你可以完全在第三方堆栈上构建一个数十亿的MMO是乐观的,可能是理想主义的。

但话又说回来,完全发明所有技术甚至更愚蠢 - 使用你需要的第三方东西(即计费,字体渲染,音频输出......),但自己编写真正成就或破坏您的业务的东西(即网络堆栈,用户界面等)。(注意:杰夫的帖子可能有点缺陷,但恕我直言,总体方向是正确的。

附录:此外,游戏行业确实经常许可和重用引擎。最突出的游戏引擎是虚幻引擎Source Engineid Tech,它们为数十个甚至数百个游戏提供了动力。但是有一些鲜为人知的(行业外)引擎。有Gamebryo,这是《文明4》和《辐射3》等游戏背后的中间件,还有RenderWare,现在只有EA-in-Internal,但用于Battlefield 2或The Sims 3等游戏。有开源的Ogre3d,它被用于一些商业游戏。如果你只是在寻找声音,有像FMOD这样的东西,或者如果你想做字体渲染,为什么不给FreeType一个旋转?

我想说的是:第三方引擎/中间件确实存在,并且它们已经成功使用了十多年(我确信id的Wolfenstein引擎已授权给其他公司,那是1992年),即使是大公司在数百万美元的游戏中也是如此。重要的是支持,因为如果开发人员不得不将游戏开发时间花在不必要的引擎调试上,那么在出现问题的情况下没有帮助的良好引擎几乎是毫无价值的,或者至少是非常昂贵的。

如果Darkstar的人设法获得正确的支持和2或3个更高调的游戏,我相信它可以成功地向更多的小型开发商和独立开发者开放MMO市场。


答案 2

对我来说,这听起来像是无用的技术。MMO世界由一些大型游戏公司控制,这些公司已经拥有自己的技术。独立游戏开发者喜欢尝试构建MMO,有时他们这样做,但这些游戏很少获得牵引力。闯入MMO世界的大型公司可能会授权“经过验证的”技术,或者扩展自己的技术。

游戏公司从一个游戏到另一个游戏重用大量代码。大多数/许多游戏公司已经在内部开发了自己的技术,并将其用于他们制作的每款游戏。偶尔,他们会做一些事情,比如用第三方物理引擎替换他们的物理代码。如果他们的内部代码库(游戏引擎、设计工具、内部流程)开始老化,或者变得笨拙,他们可能会切换到像虚幻引擎这样的大型游戏引擎之一。即便如此,主要的代码块将继续在游戏之间重复使用。


推荐