游戏开发-手游框架设计<零>

框架最能体现一个开发者对游戏开发的理解,对项目的把控

已经搬家到新博客 jjyy.guru
继续和大家跟分享游戏技术、编程心得、unity3d、cocos2d、emacs、操作系统

手游框架设计从两个角度出发:

我们为什么需要框架帮助开发呢?首先明确一点:技术是为产品服务的。在我看来,一个好的框架,能够做到快速开发、性能优秀、节省资源、容易学习,我们从两个角度来看。本人毕业后端游工作,后来在手游公司担任主程,目前在鹅厂。这里会特意对比演示过去的(在端游)做法与我改进的做法(在手游),写的都是个人经验之谈,如果有什么不对请指正,希望对大家有帮助。其中例子代码用lua编写。

1.从用户的角度:

这里明确以下性能指标中有要求的几个点:首先是性能,当然是越快越好,那么我们可以通过调整帧率,节省手机电量以及消去发热量,手游对性能要求是不低的。其次是内存,基本要求是不会因为内存用量过度导致闪退,市面上各种低端android机型内存都不高,那么要求就变得更性能一样了,也是越省越好。然后是体积,体积对下载量的影响非常大,不过体积不是越小越好,因为有的玩家就是不玩小体积游戏,这个合适范围就可以了,通常网游限制在100M以内,单机限制在20M以内,要求高的可以用切包的方式压到5M以内。然后是流量,玩久了玩家会察觉出来的,最好用自己的协议通信编码压缩。最后,版本更新应该做到增量更新,玩家在面对全量更新的时候是很痛苦的。

以上这些功能,应该在框架这一层就封装好,对业务开发者隐藏起来。

2.从开发者的角度:

上面说的性能问题,CPU、内存、外存、流量等等问题都被框架解决了,开发者可以只管专注业务的开发,但也可以插入自己的特殊处理。重点是是迭代速度,尽量让开发者专注业务开发,写最少的代码完成最大的工作。我们对开发流程分开耗费时间的步骤,这里有条粗略的时间线:

策划案->美术->界面开发--+
      +->数据表-+     |
      +->协议->开发功能->发布测试->debug->上线

这里可以看到从想法到实现中间经历了多个步骤,如果我们可以把这些都打平,真正地把哪些不属于业务的工作在框架层面就把它解决。那么我们就能获得最快的开发速度。比如我经常看到有些项目中自己写一套数据表的Parse来解析不同的数据,这就是典型不属于业务的工作,应该自动化把各式各样的数据自动解析。核心思想是贯彻自动化,借助脚本把真理保持在单点,并且自动进行推导到系统每一处,这样我们每次修改或者开发功能,只需要改最小的部分就可以了。更重要的是,这样做能够让代码遵循语意,写出来的代码能够轻松读懂。下面每个涉及到开发的都一个个详细来说。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,573评论 25 708
  • 跑步不会创造奇迹,但可以帮助你在某一段时间内,专注于内在,反省并学习如何料理自己的人生。到跑步中去领悟人生是一次长...
    饮雨秋寒阅读 128评论 0 0
  • 用了十多年,一直关注和忙录于内容,忽略了表现力。 偶得郑少的ppt制作金点子,相见恨晚啊!决定从此让内容和外形相得益彰!
    万历梅子阅读 95评论 0 0
  • 放假第一天,我和妈妈弟弟跟着毕加索组织的去云丘山,我们收拾完行李,就走着去毕加索集合的地方,我们坐着大巴去云丘山,...
    小蝴蝶柴姿伊阅读 390评论 1 2
  • 37周的胎宝宝,你已经足月了,不知哪天,你就会破壳而出,完美粑粑麻麻的人生。 终于等到你~作为一个做什么事情都必须...
    杨小圈阅读 218评论 0 0