我去参加了我的侄子毕业典礼上周末,一个演讲者非常准确地指出了一点,需要在心中铭记,既包括在场的人,也包括没有出席的人。也就是说,你和我都需要记住这一点。演讲者的具体话语已经记不清楚了,所以我只能用简要的表述来传达:
生活中的失败是不可避免的,它会发生,而且你无法选择何时何地发生。失败时,不要寻找借口,或者躲藏起来;要为自己的行为、决策和失败部分承担责任。是你自己决定是否要提高自己,学习和成长。
我曾经尝试过的每个项目都有许多地方,我现在回头看都觉得可以改进。尤其是像打造游戏这样的项目,几乎不可能在开始时就拥有所有的信息。不到100天的开发时间,我已经从一个想法到几乎完成的项目,RushcrementalRushcremental。又一个incremental游戏,背景设定在一个废土的末世世界。
在游戏中,有许多不同的方式来获得奖励;例如,增加1个或多个统计量,或者解锁1个或多个能力。在写这篇文章的时间,每个个体系统都只是简单地前进,继续前进……这段代码已经被重写了多次。虽然我理解DRY(Don't Repeat Yourself)编程原则,他们应该应用于这里——但现在回头看,一开始就使用一个通用的奖励系统可能是最好的方法。
然而,我实际上是这样做的,每个系统都有自己的奖励系统。尽管有些地方已经进行了重构,但并没有完全完成。有时,代码并不需要完全优化,只要它能够正常工作就足够了。
我从这个“错误”中得出的几点教训。第一点很简单,如果我现在开始编写这个游戏,利用我现在拥有的知识,我会创建一个通用的奖励系统,通过不同的系统共享。这个想法可能显而易见,但任何阅读这篇文章的人都应该明白。更隐晦的教训是,不管怎样,项目都得完成。最终,项目被完成了,或者很快就会完成。项目的完成速度快,最后的产品也比我最初设定的要大。范围膨胀,你也这么觉得吗?但它得到了完成。
所以,我想与你分享的真正东西是,不要担心做出“最好的”选择。例如,哪个引擎是“最好的”?还是哪个地方是“最好的”起点?还是任何其他可能困扰你的决定?我们都试图创造出最好的游戏,我们可以通过创造来实现这一目标。犯错,纠正那些需要纠正的错误,处理那些不需要纠正的错误。
前进的最佳方式是继续前进。
我已经在编程游戏上花了超过20年。即使我仍在学习如何创造出比今天更好的游戏,我也会继续编写游戏。有时会涉及一些愚蠢的错误,有时我会朝着错误的方向前进——但我会继续编写游戏。如果你想编写游戏,我恳求你尝试一下。
如果你被困在选择路径A和路径B之间,而你已经花了很多时间思考,但仍然没有明确的答案——就选择路径A并看看它会带你到哪里去。它可能是一个错误,也可能不是。但是继续前进会让你更快地找到答案,而不是花费时间思考。
评论 (0)