《游戏编程模式》一1.5 寻求平衡
本节书摘来异步社区《游戏编程模式》一书中的第1章,第1.5节,作者: 【美】Robert Nystrom (尼斯卓姆) 译者: 赵卫兵 , 许新星 , 姜召阳 , 陈侃 , 屈光辉 , 郑炯彬 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.5 寻求平衡开发中我们有几个因素需要考虑。
1.我们想获得一个良好的架构,这样在项目的生命周期中便会更容易理解代码。
2.我们希望获得快速的运行时性能。
3.我们希望快速完成今天的功能。
我认为一个有趣的地方是这些都是关于某种速度:我们的长期开发速度,游戏的执行速度,以及我们短期内的开发速度。
这些目标至少部分是相冲突的。好的架构从长远来看,改进了生产力,但维护一个良好的架构就意味着每一个变化都需要更多的努力来保持代码的干净。
最快编写的代码实现却很少是运行最快的。相反,优化需要消耗工程时间。一旦完成,也会使代码库僵化:高度优化过的代码缺乏灵活性,很难改变。
完成今日的工作并担心明天的一切总伴随着压力。但是,如果我们尽可能快的完成功能,我们的代码库就会充满了补丁、bug和不一致的混乱,会一点点地消磨掉我们未来的生产力。
这里没有简单的答案,只有权衡。从我收到的电子邮件中,看得出来,这让很多人头疼。特别是对于想做一个游戏的新手们来说,听到这样说挺恐吓人的,“没有正确答案,只是错误口味不同”。
你绝对没听到过某人在挖掘水沟上的卓越事迹。也许你有,我却没有研究过这个领域。据我所知,那里也许有热衷于水沟挖掘的爱好者,水沟挖掘准则,并且有一个自己的文化圈子。我们凭什么去评判呢?
但是,对于我而言,这令人兴奋!看看人们从事致力的领域,在这中心,你总能找到一组相互交织的约束。毕竟,如果有一个简单的答案,每个人都会这么做。在一周内便可掌握的领域最终是无聊的。你不会接触到在别人的杰出职业生涯中所挖掘出的东西。
对于我而言,这和游戏本身有很多共同点。就像国际象棋永远无法掌握,因为它是如此完美的平衡。这意味着你可以穷尽一生来探索可行的战略空间。设计不当的游戏如果用一个稳赢的战术一遍遍玩,会让你厌倦并退出。
认清性能问题 首先专注于业务上最需要优先修正的程序,而不是从全局调优来改善性能。要重视全局的性能表现,但解决问题要从细节和业务最需要的环节入手。
一颗小树 #3 投资成功,是我们变成一个更好的人之后自然的结果 在投资里对自己诚实很重要,因为你的对手只有你自己,在学习和实践投资的过程中,你会不断地发现自己的弱点,正视并战胜或接纳它们,在其它方面也会一样受益。
《伟大的小细节:互联网产品设计中的微创新思维》——2.3 预期操作权衡 本节书摘来自华章计算机《伟大的小细节:互联网产品设计中的微创新思维》一书中的第2章,第2.3节,作者:文哲著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- C语言程序设计100例之(55):游戏预言
- 强化学习代码实战-03动态规划算法(冰壶游戏测试)
- 《Android游戏开发详解》一3.1 构造方法
- 《点睛:ActionScript3.0游戏互动编程》——1.3 HSB模式及其与RGB间的转换
- 《Android游戏开发详解》——第2章,第2.15节改进程序
- 基于QT(C++)+Sqlite3实现单词消除游戏系统【100010741】
- 最新版gym-0.26.2中Atari环境下各游戏在不同模式和困难度下的遍历
- 【转载】 DQN玩Atari游戏安装atari环境bug指南
- 【Unity3D日常开发】修改游戏对象的材质颜色
- 关于游戏剧情模式中用到的基础简单API---MoveTowards和GameObject.Find()的应用
- 关于Unity的游戏的运行模式
- [LeetCode] 488. Zuma Game 祖玛游戏
- Java大鱼吃小鱼游戏,今天你吃了吗?
- 微信小程序游戏——飞机大战
- Unity笔记-29-ARPG游戏项目-03-攀爬系统
- 【uoj#51】[UR #4]元旦三侠的游戏 博弈论+dp