代码之家  ›  专栏  ›  技术社区  ›  Tim Frey

暗星计划是现实的吗?[关闭]

  •  25
  • Tim Frey  · 技术社区  · 16 年前

    Project Darkstar 是月刊的主题吗? JavaSIG 昨晚在纽约的谷歌办公室开会。对于那些不知道的人(可能是所有人),Project Darkstar是一个大型多人在线游戏的框架,它试图处理所有的“硬东西”。其基本思想是,编写游戏服务器逻辑时,所有的操作都被分解成小任务。您将这些任务传递给ProjectDarkstar框架,该框架处理将它们分发到集群中的特定节点、任何并发问题,最后持久化数据。

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

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

    第二,与开发人员更喜欢使用现有框架和库的其他行业不同,游戏行业的人似乎喜欢自己编写所有东西。不仅如此,他们还喜欢为每一款新游戏重写所有内容。在开发人员使用Havok作为物理平台、Unreal Engine 3作为平台等方面,情况开始发生变化,但在很大程度上,一切似乎都是专有的。

    那么,黑暗之星计划的人是在浪费时间吗?像这样的通用框架真的能适用于具有所需性能的复杂游戏吗?即使它有效,游戏公司是否愿意使用它?

    7 回复  |  直到 11 年前
        1
  •  25
  •   Michael Stum    14 年前

    编辑:这是在甲骨文收购Sun之前写的,并开始了一场疯狂的杀戮,以杀死一切不让他们每天赚10亿美元的东西。查看oss fork的注释。 我仍然坚持我的观点,像MMO中间件这样的东西是现实的,你只需要一个不受其影响的公司。

    市场可能由少数大型游戏主导,但这并不意味着没有足够的空间容纳更多的小众游戏。让我们面对现实吧:如果你想达到10万以上的玩家,你就得建立自己的技术架构,至少对于关键核心而言是这样。这就是中国共产党为夏娃在线所做的。( StacklessIO ,这就是暴雪为魔兽世界所做的(尽管他们确实使用了许多第三方库),这就是神话为在线战锤所做的(尽管他们基于gamebryo)。

    然而,如果你的目标是成为一个小的,利基的MMO(像几十个免费游戏/网店的MMO),那么要使网络内容正确是非常困难的,数据一致性更难,可扩展性是最大的B*TCH。

    但游戏技术并不是你唯一的问题——你还需要解决账单问题。只有信用卡?在德国卖得很开心,那里的人都想要ELV。这就是您需要可靠的计费提供商的地方,但是您仍然需要将计费应用程序与您的帐户连接起来,以确保在计费失败时阻止/重新激活帐户。

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

    但是,同样,完全发明所有的技术更愚蠢-使用第三方的东西,你需要(即账单,字体渲染,音频输出…),但是 write the stuff that really makes or breaks your business (即网络堆栈、用户界面等)由您自己操作。(注:Jeff的帖子可能是 a bit flawed 但是总的方向是正确的。

    附录:另外,游戏行业也经常授权和重用引擎。最突出的游戏引擎是 Unreal Engine , Source Engine id Tech 如果不是成百上千的游戏,它可以为数十个游戏提供燃料。但也有一些鲜为人知的(行业外)发动机。有 Gamebryo “文明4”和“辐射3”等游戏背后的中间件 RenderWare 现在只有EA在内部,但在战场2或模拟人生3等游戏中使用。有开放源码 Ogre3d ,用于 some 商业的 titles . 如果你只是在寻找声音 FMOD 或者如果你想做字体渲染,为什么不给 FreeType 旋转?

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

    如果黑暗之星的人设法得到支持方权利和2或3个更高的知名度标题出来,我相信它可以成功地打开MMO市场更多的小开发商和独立。

        2
  •  3
  •   postfuturist    16 年前

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

    游戏公司在游戏之间重复使用大量的代码。大多数/许多游戏公司都在内部开发了自己的技术,并将其用于他们生产的每一款游戏。偶尔,他们会用第三方物理引擎替换物理代码。如果他们的内部代码库(游戏引擎、设计工具、内部管道)开始老化,或者变得笨拙,他们可能会转向像虚幻一样的大型游戏引擎。即便如此,主要的代码块将继续在游戏之间重复使用。

        3
  •  2
  •   Tim Cooper    12 年前

    据我所知,电子游戏公司不会重用他们的大部分代码,因为如果他们这样做,就意味着他们的新游戏只是旧游戏的翻版。

    嗯。。。如果你指的是电子游戏公司的“长尾巴”,也许吧。在一家拥有一系列成功游戏的公司里,通常会有少量的重用。硬件的重大变化会导致大量的工作被放弃,但这真的取决于公司。

        4
  •  1
  •   Tom Ritter    16 年前

    设计和编码听起来很有趣,但我认为最终归根结底 useless abstractions (从乔尔那里偷东西)。

        5
  •  1
  •   erickson    16 年前

    对于游戏来说,重用“游戏引擎”是很常见的,即使是来自第三方的引擎。这听起来像是朝这个方向迈出的又一步。

        6
  •  1
  •   Clox    15 年前

    我认为这是一件很好的事情。 开发人员不必担心Darkstar项目处理的所有这些事情,而且非常容易使用。 但这不仅仅是为了让它工作,不必学习有关互联网通信的所有知识,还包括性能。Darkstar项目已经开发了2年多,它不断地变得更好、更快和更强大。

    我认为当瞄准一个特定的游戏时,要写下这些东西是很困难的,而且可能不值得花时间,因为这样的技术可以被替代。在运行时,您还可以获得很好的信息,告诉您在应用程序中哪里会导致速度减慢或死锁,这样您就可以改进这一点。

        7
  •  -1
  •   icco    16 年前

    我不在游戏行业工作,但在我看来,这对电子游戏来说和地震和半衰期引擎一样。也就是说,他们将促进年轻开发者对游戏行业的兴趣,并促进独立游戏的发展。

    据我所知,电子游戏公司不会重用他们的大部分代码,因为如果他们这样做,就意味着他们的新游戏只是旧游戏的翻版。每个人都想要一个酷的新物理引擎,更好的图形,新的游戏方式。大多数视频游戏引擎和框架都是为特定的场景而设计的,因此在其他情况下不太容易弯曲。

    也许黑暗之星会弄好它,但我有点怀疑,因为一般化只起这么多作用。