游戏
程序开发避不开谈的一个问题,游戏的复杂度的问题。游戏的复杂度应该控制到多少游戏
开发者应该细细实验才能得出最终的结果。在《The art of unix programming》中,复杂度的控制被看的非常的重,里面一句话提到编程项目的核心就是对于复杂度的控制,以及simple原则其实也在讲这个事情。
我自己在08年也写了关于这个的话题:复杂度与习惯。7年过去了,也经历了《天涯明月刀》这样的重型项目的游戏程序开发磨练,也有了更多的认识。
游戏
程序开发复杂度的要点
游戏程序开发复杂度的要点所在就是程序给大脑带来的负担,它等同于
程序员提升和开发程序的难易程度,这个负担随着模块的复杂度大约是平方级数增长。
如果负担很低,那么一段程序的就容易控制,程序员就容易提升程序的质量(包括开发效率,运行稳定性和运行效率)。
所以我们也不需要在任何时候任何情况去做游戏程序开发复杂度的最小化,如果一个模块本身规模很小,那么就不需要花很多精力去做进一步简化(当然处于自我提升和精益求精的本能,在时间允许的情况下,做这个当然好的了)
同时低游戏程序开发复杂度度也不等同于最少行数的代码,而是给大脑带来最少负担的代码,比如后文举得代码例子,虽然另外一种写法代码行数更多,但是由于它符合一个更稳定的模式,所以在大脑负担和心理负担都更轻,它可以认为是更低复杂度的代码。
good for the programmer’s soul
“Low-level programming is good for the programmer’s soul.” – John Carmack
对于卡神的这句话,无比的赞同,做底层代码实现,对硬件和系统有透彻的理解,对于程序员去清晰的理解整个程序如何运行的至关重要,你就会更好的以底层的思维去思考。
同样的道理,也可以用于高层的复杂度控制上面,更多的优秀的编程实践,更好的理解要做的事情,理解系统本身,最后达到一个最简洁的实现,整个
设计和实现的过程,可以让人进入心如止水的状态,同样的”good for the programmer’s soul“。太难的游戏会让玩游戏的人丧失继续玩的信心,太简单的话玩家有限。一品
威客有专业游戏程序开发人才,如果你有游戏
程序开发需求,快来一品威客网下单吧。