(我认为这个问题是从代码设计/体系结构的角度提出的,而不是从游戏设计的角度提出的,尽管答案至少在某种程度上适用于两者。)
如前所述,您既需要又需要平衡。对您的代码流/结构进行过度设计和设计不足都会导致问题。很难说出正确的平衡点是什么,但是总的来说,我发现我至少需要模糊地知道其余代码如何与我目前正在编程的内容结合起来,并思考可能的问题,否则,我倾向于“将自己编码为死胡同”-进入一种情况,即我意识到“好吧,现在由于我解决了这个问题,我创建了一个新问题,使整个以前的解决方案成为可能(甚至在最坏的情况下,甚至更多) )徒劳”。
通常,我认为,您可以通过考虑“如果...以后”(当我以后使用(当一切都以与我现在使用的相似的方式完全实现时))中的“假设条件”场景来大致判断您是否具有适当的平衡那部分A的工作需要略有不同,这意味着我必须完全修改与它相适应的部分B来适应这些变化吗?”。如果某一部分的体系结构更改不需要您更改一个或两个以上其他部分,并且这些更改不会级联(这意味着您还必须更改连接到B部分的下一部分,然后再更改连接到B部分的部分)。它们等等),代码以相对良好的方式划分。
但是,实际上,这是您在获得一些经验之后会体会到的。这就是部分原因的原因,每个人都向游戏初学者提供建议,使其首先编写已知且简单的内容(Breakout / Tetris / Snake),并通过所有菜单,声音,效果以及使其完全完成游戏的所有内容完全完成它-更好搞定较小的项目,并执行它(无论是好是坏)将完全帮助您了解各种体系结构决策的影响范围。