您如何为特征蠕变做准备?


15

在预生产期间如何准备特征蠕变?

特征蠕变是指您处于生产阶段时决定“如果这是特征会很酷!” 那会增加n个小时的开发时间,而这是没有考虑的,除非您是暴雪,否则就没有时间。您无法预料它在预生产期间是很酷的功能,因为该功能仅在生产期间发现。

在预生产期间我该怎么做才能解决或防止特征蠕变或为特征蠕变做准备?

我应该允许特征蠕变并剪切较少的期望特征吗?还是由于体系结构不是为新功能设计的,这是否会带来问题?我是否应该说没有功能,除非它们适合现有架构?

我知道这是一个广泛的问题,但我希望它不会因此而告终。这是游戏开发中的主要问题,应予以考虑。

Answers:


10

虽然在预生产方面当然没有硬性规定,但可以使用多种启发式方法来提供帮助。某些功能的蠕变是自然且必要的-没有计划能够在与现实的第一次接触中幸存下来,并且直到您看到它,您可能都不知道什么是“酷”的。

首先,分阶段发展。将轮廓绘制到要素图中,然后寻找将要素归类可测试迭代的方法每个迭代都有一个截止日期。一旦开始迭代,就不要向其添加新功能。当然,任何不可预见的技术需求都应纳入当前的迭代中,但有关功能的新想法应列入清单以供将来考虑。然后,您可以考虑在当前迭代完成后是否将其添加到迭代中。

这是从MoSCoW方法开始的,您可以通过这种方法对功能进行分类:

  • 必须具有对当前迭代保持稳定至关重要的功能,也就是说可以测试。如果没有迭代将无法进行迭代,则必须这样做。
  • 应该具有在某个时候必须完成的功能,但是如果迭代随着时间的流逝,则可以推入下一个迭代。例如,出版商需要的东西可以放在这里。
  • 可能具有 -您认为可能对当前迭代很重要但可以从项目中删除的功能。这些都是波兰人重要的特征
  • 不会 -可能会积压的项目,此迭代中确定的功能将在以后的迭代中考虑。

理想情况下,您希望开发是逐步完善,而不是一无所有。在最后期限内工作应将最不重要的功能推到最后,所以无论您做什么,都可以削减。确保估算每个功能在开发和完善这些估算时所花费的时间。切勿压缩时间表以腾出更多功能。拒绝将截止日期(迭代或最终)推向未来-如果可能,请移动或削减功能。如果您要按时完成任务,但游戏仍然难以解决,那么您就该认真考虑一下您的决定,并考虑在将该项目变成时间/金钱坑之前将其吞噬掉。


3
  • 计划将可用的预生产时间的一小部分用于基本功能集。
  • 基本要素集应该是低风险,高回报的要素,因此您不会对这些要素感到陌生
  • 基本功能集是最小且不可协商的-必须存在-否则就没有坚实的基础可以工作,并且您会充满自我怀疑/“我应该取代这个”综合症吗?
  • 确保游戏的最早迭代具有足够的吸引力,以使您能够负担得起功能爬行。从根本上说,令人印象深刻的游戏不会走得更远,更不用说爬行了。
  • 事先知道您可以承受的蠕变裕度,因此您可以明智地使用该裕度。
  • 使用像Unity这样的预先构建的,高度通用的技术,并规范地使用它来提高灵活性,以使功能爬取不会对现有架构产生太大影响
  • 不要构建复杂的子系统- 这里适合使用eXtreme编程方法
  • 有其他人(设计师和编码人员)可以定期动动脑筋,以帮助您确定允许使用的功能的优先级,并请有经验的人将您的代码作为这些问题的主要指导。
  • 您仍然必须限制要素蠕变,因此要不断确定优先级并知道在哪里画线

最终,我不建议初学者这样做,因为您需要在每个阶段都能做出正确的决定,即使对于最有经验的人来说,这也不容易。如果您不确定正确的决定是什么,请制定严格的“不得超出此范围”政策。

您还将看到第一点以及有关使用众所周知的技术的观点,这意味着您需要快速原型制作(游戏阻塞)和所选工具集方面的丰富经验。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.