论文部分内容阅读
目前,移动游戏市场主流的游戏客户端引擎主要包括Cocos2d-x引擎和Unity3D引擎这两款,此外,公司研发技术团队也自主研发了一套新的区别于上述两款的开发引擎。针对以上三款移动游戏客户端引擎的实际项目使用情况,每款手机游戏项目都分别需要与之对应的Android和iOS开发人员进行相关的平台技术开发,因此,从项目研发立项、游戏开发、测试、直至上线、后期维护的全过程,均需投入大量的人力资源成本。同时,市场上现有的手机游戏客户端框架在复用性、扩展性和灵活性方面存在缺陷,远远不能满足手机游戏客户端开发的实际需求。由此,研究开发一套手机游戏客户端通用框架是加速手机游戏开发的必然要务,也是手机游戏客户端的重要组成部分,该框架的实现为手机游戏客户端开发工作增强了安全、稳定和快速的功能,达到提高开发效率进而缩短开发周期的实用性效果。本论文在充分研究Cocos2d-x引擎、Unity3D引擎和公司自主研发的引擎这三款引擎的特点的基础上,结合公司目前游戏项目遇到的问题,设计和实现了基于上述三款游戏引擎的手机游戏客户端通用框架。该框架主要包括:平台相关性功能模块、平台各个SDK的实现模块、通用接口管理模块、SDK通用接口管理模块以及通用逻辑处理模块。在平台相关性功能模块中,主要针对Android和iOS平台的生命周期、输入系统进行了封装,其中游戏生命周期包括:将要启动、启动、激活、程序循环、内存警告、进入前台、进入后台、结束等过程;输入系统包括:加速计、触摸、3D Touch、手柄、裸眼3D等;通用功能包括:视频的播放、版本更新、资源更新、资源加载、防外挂等。在平台各个SDK的实现模块中,主要包括:渠道SDK封装成AnySDK、一键打包、语音聊天模块功能、视频录像功能、GooglePlay相关功能、Facebook相关功能、支付功能、动态加载so动态库、海外市场采集、推送等。通用接口管理模块和SDK通用接口管理模块对接口进行了统一的管理,Android系统通过JNI来实现C++与Android的通信,iOS系统则是通过Objective-C与C++的混编直接通信,针对Unity3D是C#编程,则通过Dll Import来实现C#与Objective-C的通信。通用逻辑处理模块,则整合了程序通用接口管理模块和SDK通用接口管理模块,进行了更高级的封装,提供了一套游戏逻辑可以直接使用的接口。根据公司实际项目的使用情况表明,该手机游戏客户端通用框架的使用提高了项目开发的效率,缩短了开发周期,降低了公司人力、物力成本,使游戏开发周期完成度得到有力的技术保障,同时该手机游戏客户端通用框架为项目开发带来了良好的复用性、扩展性和灵活性的特性,大大增强了手机游戏客户端的稳定性和安全性。