我想认为可以通过图表以一种或另一种方式表示我们周围的一切。即使它只是表示特定对象的状态在整个时间之间的过渡的线性图(例如生物,从出生到死亡经历多个状态)。我使用图表为实际实现奠定思想和想法。我即兴创作了很多。
因此,我的图大多数时候都处于很高的水平,并且感觉就像是思维导图。
举例来说,这实际上是我的游戏中的类继承映射(已被剪切),其中Interactive Object是基本类型。
这是一个FSM(有限状态机)图,用于尖峰陷阱(那些令人敬畏的陷阱,您踩到这些陷阱并且从地面出现尖峰的尖峰)。
这是我最近绘制的一本手册图(之所以这样命名,是因为它经常被用作回到它的图)。它概述了游戏的组成部分,还有助于收集所需的资产,因为您可以立即看到需要什么和不需要什么。我建议在小型项目中使用,因为在大型项目中它们会变得非常庞大。但是,它们可以进一步扩展,以便解决问题。
当我进入较低的层次时,通常是因为我需要规划架构中最复杂的方面,并且通常在那儿处理UML。我从不专心输出绝对干净和正确的UML。我采用了我最喜欢的UML约定,并将其转变为一个不错的思维导图式UML。它很简单,可以为我完成工作,但是出于明显的原因,我不会在期望使用实际UML的环境中使用它。
当我不得不下一个较低的层次时,是我必须描述实际的算法。我使用所谓的流程图。它是一种受白盒测试中使用的图表启发的格式。
我现在绘制的尖峰陷阱样本如下所示:
这通常是图表和实际算法实现之间的最后一层。如果需要,我将进一步详细说明流程图(带有额外的执行指令),并推论或估计复杂性,并建立准确的测试用例。我也更喜欢图而不是伪代码。
与游戏开发无关,我还有一种很好的格式来描述多屏幕应用程序中的屏幕,用户可以在每个屏幕上触发的功能以及屏幕之间的关系。我通常在开始实际开发之前就构建它们,并且它们在整个开发过程中都像地图一样。如果是针对客户,则屏幕图甚至更有用!它可以帮助我从头到尾遍历所有项目,并考虑到所有需要的功能。因此,提供准确的成本和时间估算非常宝贵。
是的,我绝对会画出所有东西。如果我有一个想法,我可以并且一定会为它画一个图。如果我以某种方式启动了一个项目,但至少没有一个非常宽泛的图表来支持我,那我会感到无能为力。