周末我参加了Ludum Dare 27(Ludum Dare是一个经常性的以推进个人游戏开发为目的的开发竞赛,参与者需要在48小时内针对所设定的主题创作游戏),规划整个游戏,虽然我一直以做游戏为生,但之前却没有过这种有趣的经历。这次体验让我深受启发,在过去的很多年我花的多数开发时间都是用C++11在Xcode上,而且我很喜欢。
但就在那个周末用Adobe Flash Professional ActionScript 3.0,我简直不敢相信我的工作效率那么高。竞赛的时间限制是48小时,而我实际只花了30小时。在这30小时中我做出了完整的游戏——时空大冒险,包括Box2D物理引擎,虽然时间短但游戏并不粗糙,前端、显示、用户界面甚至音乐一应俱全。
然而工作中我做游戏花费的时间远远比这个长,我不禁自问:“你是怎么做到不到48小时完成这一切?而一般开发游戏都是耗费数月时间。”我上一个刚刚做完的游戏项目House of Shadows耗时11个月,就算它比这次大赛做的时空大冒险的游戏复杂10倍多,生产劳动率依然是6∶1,这也就意味着如果我能将这次大赛的状态引入到我工作中,那么像House of Shadows这样的游戏只需不到两个月就可完成。48小时比赛能带来一些启发,应用到我们平常的项目中。
专注度:在这48小时竞赛中我几乎将所有清醒的时间贡献给了编程,睡得很少。高集中度能富有成效,提高产出。
摆脱分心:对我工作效率影响最大的是在开发过程中一些工具运行缓慢,让我失去耐心转而去做别的事情,比如收邮件、浏览Hacker News,时间就这样流失了。
简单易用的动画工具:这次游戏开发经历中UI方面的工作进行得尤其快,是因为使用的Flash。合适的工具也许能将一天的工作大大缩短。
C++头文件:竞赛中不止一次我会告诉自己“我不希望添加(修改/查询/删除)这个功能,因为那会意味着影响到头文件。”紧接着我又反应过来“哦,这不是C++,没有头文件。”用简单直接的单文件ActionScript就像是呼吸新鲜空气。