【问题标题】:Major game components主要游戏组件
【发布时间】:2010-11-10 02:36:39
【问题描述】:

我正在开发一款游戏,经过两个月的工作(请注意不是全职),我开始意识到我们的游戏规格缺少很多细节。我不是专业的游戏开发者,这只是一个爱好。

我希望得到的帮助或建议是:您在游戏中发现哪些主要组件需要开发或已作为库存在?此问题的目标是让我能够指定更多的游戏方面。

目前,我们几乎只指定了我们将如何处理视觉效果,完全忘记了有关游戏逻辑的所有内容(AI、实体交互、任务逻辑(我们如何决定任务是否完成))。

到目前为止,我已经找到了这些要点:

  • 物理(碰撞检测、实际力等)
  • AI(寻路、目标等)
  • 模型管理
  • 动画管理
  • 场景管理
  • 战斗管理
  • 库存管理
  • 相机(确保不要渲染场景中的所有内容)
  • 高度图
  • 实体通信(玩家与 NPC、敌人、其他玩家等)
  • 游戏状态
  • 游戏状态保存系统

为了缩小这个问题的范围,我希望你能具体讨论与开发 RPG 类型游戏相关的方面。我还要指出我正在使用 XNA 来开发这个游戏,但是我几乎没有掌握所有可用的类(几乎只使用带有一些与之相关的类的 Game 组件,例如 GameTime、SpriteBatch、GraphicDeviceManager ) 但仅此而已。

【问题讨论】:

    标签: components


    【解决方案1】:

    你有一个不错的列表,但是你缺少存储(节省负载)、文本(文本在 RPG 中很重要:Unicode、字体渲染),可能是一个用于文本的宏系统(将 {player} 等标记替换为玩家角色名称),以及所有内容生成工具中最重要的(地图编辑器、角色编辑器、对话编辑器),因为 RPG 需要内容(如果需要,还需要自动生成工具)。顺便问一下你的作品有链接吗?

    我以做这件事为生,所以如果您需要更多指点,也许我可以提供帮助。

    【讨论】:

    • @Robert Gould:感谢您的帮助,非常感谢。既然您在个人资料中说您专门从事脚本编写,我想知道您如何将脚本集成到对话框中,尤其是您如何在幕后施展所有魔法。我知道有很多事情要讨论,也许我们可以找到一种正确的方法?要回答你的问题,不,我还没有任何链接,因为这款游戏还处于开发初期,几乎没有什么可展示的。
    【解决方案2】:

    我不知道这是否有帮助,但我多年来一直在阅读来自http://www.gamasutra.com/ 的文章。

    我从一开始就没有一套完美的工具,但你的列表涵盖了运行游戏的大部分常见问题。但是你有没有发现每个项目代表什么?你已经赚了多少钱? “库存管理”听起来很沉重,但有些游戏只需要一个简单的对象“数组”。需要一个小时来编程 + 一些图形集成(如果您已经完成了 GUI 管理)。

    如何开始规划

    当我在业余时间开发游戏时,我通常会得到一个想法,因为另一个游戏缺少这个功能/选项。然后我启动我目前使用的任何开发工具,并尝试看看我是否可以制作一个展示这个想法的原型。它并不总是关于精美的图形,但通常更多的是关于找出如何解决某个问题。绿色和红色框将在很大程度上帮助您,但除此之外,请使用 Google 图片并快速搜索原型图形。但请记住,这些图片可能受版权保护,因此只能将它们用于内部测试目的,并向您的图形艺术家解释您想要制作的游戏/图形类型。

    其次,您会发现您也需要找到/构建工具来创建“地图/任务/任务”。如今,许多人开发了自己的“对象脚本”,他们可以在其中轻松地为游戏添加新内容/路径。

    我们(我和我的朋友)一直在测试的许多想法都是从某个界面原型开始的,看看它是否可以首先生成那种屏幕输出。然后我们构建一个可以为我们提供测试地图的快速'n'dirty 地图/关卡编辑器。

    此时没有游戏逻辑,仍在确定游戏引擎是否正在运行。

    我的第一个游戏算法问题

    在我十几岁的时候,我有一个 Commodore 64,我想知道,他们如何对 10 个数字进行排序以获得高分?我花了很长时间才找到一种“可扩展”的方法,但我也学到了很多关于编程的知识。

    我发现的第二个问题

    当我在屏幕上飞行我的直升机时,如何让坦克/大炮向正确的方向发射子弹?

    我坐下来画了实际问题的草图,查看了要点,尝试了一些我自己的理论,发现了一些似乎可行的方法(通过除法和乘法等)后来在学校我发现这或多或少是毕达哥拉斯。哈哈!

    多年后的许多游戏尝试

    我玩了“沙丘”和后来的 C&C + 新游戏魔兽争霸 (v1/v2) - 我记得它开始让我恼火的是蹩脚的 AI 是如何工作的。我想,路径查找算法让玩家感到沮丧。他们朝着目标位置的方向移动,然后找到了一堵墙,但如果方法复杂,物体就会停下来。啊!

    所以我首先坐在大量的纸上,然后尝试绘制某些场景,其中“物体”(坦克/兽人/士兵)将从 A 移动到 B,然后突然出现“结构”(建筑物/其他物体)在路径中 - 然后呢?

    我了解了A-star pathfinding(在我自己先以类似的方式解决它之后,然后阅读了这个工作的原因)。一种非常“cpu 重”的寻找路径的方式,但我从“破解这个坚果”的过程中学到了很多东西。随着时间的推移,这些想法极大地帮助了我开发其他游戏算法。

    所以我的意思是:我认为你必须考虑更多:

    • 游戏要怎么玩?
    • 用户体验如何?
    • 用户为什么要回到游戏中?
    • 需要什么要求?宽带? 19 英寸 1280x1024 显示器?
    • 是 RPG,是的 - 但它是多用户还是单用户?
    • 我们需要快速的网络/服务器设置,还是需要为 NPC 开发强大的 AI?

    还有更多...

    我不确定这是你要求的,但我希望你能以某种方式使用它?

    【讨论】:

    • 大部分规划都是通过软件项目管理计划和总体思路的UML图完成的。我对事情的发展有一个相当好的想法,但就像我提到的那样,我们似乎继续前进并忘记了很多东西。实际上,我们并没有做任何广泛的工作来找出需要编程的每个区域,只是为了有一些“可玩”的东西。目前,我们只有角色、动画、基本碰撞(无武器碰撞)、基本实体交互,仅此而已。如您所见,还有很多事情要做。
    【解决方案3】:

    制作游戏需要数百个组件,从时间管理到音频。您可能需要推出自己的 GUI,因为本机操作系统控件非常非游戏。您可能还需要各种工具来生成您的世界、导出器将模型和纹理转换为适合您的游戏的东西等。

    我强烈建议您从市面上众多免费或廉价游戏引擎中的一种开始。其中有大量随源代码一起提供,因此您可以随时了解它们是如何组合在一起的。

    当您认为自己准备就绪时,您可以开始更换您正在使用的引擎部件以更好地满足您的需求。

    【讨论】:

    • @rikh:目前正在使用 XNA 使用 C#。就“游戏引擎”而言,并不多。至少,所有的图形和音频部分似乎都得到了足够高的处理水平,足以让我轻松地制作东西。我正在慢慢构建引擎的场景部分。
    • ziggyware.com/weblinks.php?cat_id=10 上似乎有相当不错的 XNA 游戏引擎列表
    【解决方案4】:

    我同意 Robert Gould's 的帖子,尤其是关于工具的内容,我还要补充一下
    脚本
    内存管理
    网络 - 尤其是游戏对象状态的复制和匹配
    哦,不要忘记本地化 - 特别是对于文本字符串

    【讨论】:

      【解决方案5】:

      效果和效果计时器(可能是魔法效果,可能只是被击晕之类的东西。)

      角色职业、技能、法术(如果是那种游戏)。

      世界创建工具,方便非程序员构建者使用。

      想想你是否想要 PvP。如果是这样,你需要真正考虑如何设计你的战斗系统,以及对谁可以攻击谁的任何限制。

      设备、“宝藏”、事物的价值以及你想如何做经济。

      【讨论】:

      • @Anon:由于大部分游戏的目标是在 x-box(有合作的可能性)或计算机(单人)上玩 PvP 几乎没有这个问题。世界创造工具也将被淘汰,因为我们正在制作的游戏更像是“一旦制作完成”的游戏。对我们来说,这款游戏的主要目标是学习如何开发一款比乒乓球或井字游戏更有意义的大型游戏。
      【解决方案6】:

      这是一个较老的问题,但恕我直言,现在有一个更好的答案:使用 Unity(或类似的东西)。它为您提供了制作游戏所需的 90%,因此您可以直接投入并专注于您关心的部分,即游戏玩法。当您因为某些东西不能开箱即用而搁浅时,您通常可以在 Asset Store 中找到免费或便宜的资源,这将为您节省大量工作。

      【讨论】:

        【解决方案7】:

        我还要补充一点,如果您不是全职开发游戏,请注意任务的复杂性和时间范围。如果您尝试将这么多不同的框架集成到您的 RPG 游戏中,那么您很容易会花费数年的时间来完成工作;例如,也许最好从小处着手,先开发游戏的“核心”,而不是关心物理。您仍然可以在第二个版本中添加它。

        【讨论】:

        • 您没有回答问题。 -1。作为对原始问题的评论,这会更好。
        • @Zoli2xa:我们非常了解时间框架。就我而言,我们的首要目标是获得一个至少令人愉快的 alpha 版本。由于它主要是一种爱好,我认为它不会成为成功的东西。对我来说,它更像是一个游乐场,学习软件架构和一般流程。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-26
        • 1970-01-01
        • 2015-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多