loading请求处理中...
手机版 新型创意托付式服务平台 全国
VIP商铺十大特权×
新闻
中心
任务列表:
人才列表:
免费发布任务

普通自助发布 懒人一键发布 商城快速购买

游戏程序开发复杂度控制的实际意义

发布时间:2015-11-17 17:24:32     阅读次数:10635次    评论数:0次
    游戏程序开发复杂度控制的好具有很重要的实际意义。一方面,游戏程序开发复杂度控制有实际的价值意义,另一方面有开发效率和运行效率的意义。写程序的时候,质量和效率最好的情况就是始终对于整个系统,在代码级别保持一个非常清晰的状态,你心里知道要写成什么样,写的过程,整体的代码也清晰合理,与你心里的样子相印证,然后可以心如止水的一直非常快的写,整个过程非常的享受。
游戏程序开发复杂度控制的实际意义
    游戏程序开发的实际价值

    先从游戏程序开发实用的角度来看:关乎运行效率和开发效率(当然其他的扩展性等等也会包括,但是实际在项目里的感受是这两个尤其的明显)。

    其实7年前我也是毫无疑问的这么认为的,但是实践起来并不是一码事情,大约几年前,才真正的形成开发的原则。

    游戏程序开发的开发效率

    这个最深刻的认识原则当初开发地形系统,包括从编辑器的底层部分(UI部分是另外一个同事做的)以及runtime部分,从材质到高度图,系统庞大而且复杂。

    游戏程序开发的开发过程中,也不可避免的遭遇到需求变动(包括材质系统的能力,地图大小这种非常颠覆性的)。

    时间紧任务重,一直想尽量快点把东西做好,开发过程中,代码整理和系统整体控制没有做太多,然后其他组可以同步进行,然后再进行代码整理。

    但是对于一个庞大的系统,这种策略就不好。

    写程序的时候,质量和效率最好的情况就是始终对于整个系统,在代码级别保持一个非常清晰的状态,你心里知道要写成什么样,写的过程,整体的代码也清晰合理,与你心里的样子相印证,然后可以心如止水的一直非常快的写,整个过程非常的享受。

    而如果实现过程中,缺乏对于系统良好的认识和整理,希望“随便搞搞,搞出来再整理“,这种在小型情况下是ok的,但是大型系统下,即便思维保持清晰,但是庞大的系统缺乏整理,而造成非常的复杂,很多东西由于前后设计的不一致,导致是处于一个不合理的复杂情况–需要你去死记。


    这样造成的结果就是,即便你对于整体系统的设计非常的清晰,但是在编程过程中,由于系统的一定的混乱,让你没法整个过程非常清晰的,心如止水的进行,整个的过程,磕磕绊绊,让人疲惫不堪。

    所以在后半段,就停下来改变了策略,先做充分的整理,把不需要的部分去除,然后把代码整理到完全准备好来做新代码的实现,才去做新的实现,这样反而是最快的,写起来也愉快迅捷。

    游戏程序开发的运行效率

    处理效率,常规的基本做法是profile热点,以及根据游戏的情况进行feature的关闭。

    但是这个能做的事情是非常有限的,如果想做进一步提升性能,接近性能的极限,必须要做的就是:

    – 对于每一个模块有充分的理解

    – 可以做到快速的反复尝试迭代

    处理性能热点,在优化早期是一个非常高效的做法,准确来讲,热点处理是”在有水分的情况下,高效提升性能“的方法。

    但是在追求极限性能方面,热点优化还是不够,某一个模块的性能消耗是不是超过了它应该有的,以及一个排名10名开外的模块其实是不需要高频运行的等等,这些都是热点处理不能解决的。

    在对于程序有充分了解,就可以进行更彻底的调整,把大量的运行做并行,低频执行或者直接优化掉。

    实践中看下来,这样的处理会把程序的性能带到一个新的台阶。

    这个道理可以说是知易行难,难就难在,对一个超大系统(比如对于《天涯明月刀》来说,就是整个客户端,覆盖几十万行的代码),如何做到充分理解,如何做到容易的彻底的修改优化。

    所以关键点又回到复杂度,只有程序的复杂度得到最好的控制,才能较好的做这个工作。

    这个后来在实践中,优化过程中,大约一半时间是在做代码的调整和重构,代码合理就会让优化更加的可行和高效。写程序的时候,质量和效率最好的情况就是始终对于整个系统,在代码级别保持一个非常清晰的状态,你心里知道要写成什么样,写的过程,整体的代码也清晰合理,与你心里的样子相印证,然后可以心如止水的一直非常快的写,整个过程非常的享受。一品威客网有专业的游戏开发人才,欢迎来下单。
本文地址:http://www.epwk.com/meijie/182635.html
来源:一品威客,转载须经版权人书面授权并注明来源

编辑:蓝blue

小编介绍:蓝blue是一品威客资深小编,从事编辑工作多年,创作和整理了近万篇优质文章。如果您对“游戏程序开发复杂度控制的实际意义”有其它疑问或见解,可以联系蓝blue,共同探讨,相互学习,可以通过下面的方式与之联系。

擅长领域:软件美工 插件开发 软件汉化 脚本制作 游戏开发 办公系统 程序修改 嵌入式 桌面软件 多媒体软件 其他软件开发 SaaS开发

留言(0

↓展开留言
您需要 注册登录 后才能发表留言。

我们提供的,不仅仅是资讯。免费注册一品网会员,您可以——
  • 成为雇主 百万威客为您解决难题!

    多方案 低价格 价格由您定!

  • 成为威客 凭技能 ,赚取真金白银!

    威客时代,轻松赚钱,首选一品威客网!

相关任务推荐更多 >
VIP经验分享 | 赚钱故事
更多 >
22岁只身闯上海,他说:年轻就是要逼自己搏一搏 上海善出信息科技有限公司是一家集研发、销售、售后服务为一体的高新技术企业,公司先后在上海、武... [详细]
融入平台同发展 祺壹广告继续深耕线上市场 汕头祺壹广告设计有限公司从2008年底开始创立,从事LOGO设计、产品包装设计、企业宣传画册、宣传海... [详细]