逻辑优化
-
网络模块
网络层消息分组处理,比如聊天组和逻辑组 网络层消息组分帧处理,减少网络消息单帧吞吐量 控制网络层消息优先级队列处理
-
界面模块
界面管理分组管理 界面开发必须通过事件机制解耦 界面导航采用堆栈方式 界面关闭应分为:返回和关闭(返回代表返回栈顶元素,关闭直接返回主界面) 界面关闭指定到跳转界面同样入栈
梳理界面界面开发流程,界面开发不高效,且缺少通用型组件。
-
资源管理
资源Bundle管理 资源Asset的管理
资源池策略(引用计数或反向依赖) 资源加载和卸载 资源卸载下载一定通过Unload(true)方式卸载
资源打包策略(主包和依赖包方式) 资源打包只关心依赖图集、贴图
主资源通过资源清单方式维护
-
配置数据模块
数据生成数据高效数据文件(文件格式和二进制格式) 数据对象生成一定不能暴露出可修改静态配置数据可能
-
版本自动化
高效使用的版本资源化规划 版本打包脚本实现,建议使用Python 版本部署参数配置(版本号,CDN服务器,是否打开日志,平台等) 版本部署参数应分为不同平台 自动化工具可统一继承Jenkins平台
-
客户端Tick管理
不同系统底层心跳管理必须有先后顺序 系统心跳管理必须可以通过参数控制,便于性能调优
-
项目适配方案
适配方案应项目初期确定 项目适配配置文件应分为不同平台不同配置 所有适配参数应该统一由设置模块调用
-
对象池方案
普通对象缓存池管理方案 带类型的对象池管理方案
-
项目SDK和Device
SDK需要在客户端封装成统一的接口,不同平台不同实现 设备信息也需要封装成统一接口,不同平台分别实现
-
音效方案
音效需要分组播放
-
动画优化
控制动画的更新类型,一般是主角是一直更新,其他的动画是在视野范围内更新 动画状态机的动画剪辑动态替换
-
特效打包
所有的特效作为主包,贴图按照依赖关系打包
-
单元测试
根据游戏类型定义资源游戏单元检测框架,主要是为了美术检测资源 定期进行性能检测 兼容性检测 压力检测
-
场景优化
Instance 技术 显示对象的权限管理,隐藏应该是所有的逻辑也隐藏 显示对象更新权限管理,统一由显示对象管理器控制
工具优化
- 日志系统
- 资源打包
- 资源规格检查工具
- 整理目前游戏存在工具(常见网格编辑,动画编辑,界面导出,配置生成等)。
规范优化
- 程序编写上规范(编码,注释,结构,注意事项等)。
- 美术资源制作上规范 (制作方式,目录结构,命名规范等)。