上一节我们主要了解了MVC框架,本文就来介绍下基本的游戏程序框架的搭建,大神们如果可以的话,希望多多提供一些经验,让我们可以多学一些知识,希望可以多给我一些批评指正,我将感激不尽。
本篇所用的Cocos2d-x版本为:Cocos2d-x 3.2
Cocos2d-x项目的游戏框架搭建
游戏与应用项目其实差别不是很大,甚至有许多地方都是一样的,无非侧重点不同,手机游戏更侧重于用户的体验,更加的娱乐化、情感化、让玩家感觉“爽”。而手机应用更侧重于简单、明了,优先完成业务为重。
在以Cocos2d-x引擎为基础上,其实我们要做的准备工作还是很多的:
一、分析项目
首先,我们要知道,我们这个游戏是什么样类型的游戏,游戏机制是什么,按照目前市场上来说可以分成如下类型与机制:
1、 游戏类型
A、动作类
B、策略类
C、角色扮演类
D、 体育类
E、驾驶模拟类
F、 经营模拟类
G、冒险类
H、 益智解谜类
I、 社交游戏类
2、 游戏机制
A、物理机制
B、经济机制
C、渐进机制
D、 战术机动机制
E、社交互动机制
当我们拿到项目的时候,我们一定要了解到这点,因为这是我们要采用哪些技术的基础依据。
就好比《刀塔传奇》来说,那么它需要用到哪些基本技术呢实现呢?就像广告里说的骨骼系统!那么《愤怒的小鸟》呢?不用我说同学们也知道,物理系统!那么剩下的就是根据策划的要求进而添加一些基础的系统运用。
其次,要知道我们的游戏是单机游戏?还是单机弱联网游戏?还是强联网游戏?通讯是采用长连接还是短连接。
最后,逻辑是在服务端,还是在客户端!这点很重要!里面牵扯一些东西,容我一会再说。
二、搭建项目
基本需求分析完毕后,那么就开始创建一个Cocos2d-x项目吧。
耐心的等待片刻……
好了项目创建成功了!
打开项目后,我们可以看到,Cocos2d-x已经帮我们集成了一些系统:
Chipmunk物理引擎及Audio系统,那么让我们先来编译下…
熟悉的HelloWorld的来了!
那么基于需求,我们需要哪些系统帮助我们完成一个游戏呢?
1、网络管理器
网络管理器,一般根据游戏的需求,我们会采用2种方式,短连接及长连接。短连接的话Cocos2d-x已经为我们提供了一个network库,而长连接呢?Socket就需要我们自己去找第三方库了,对于Socket个人比较推荐ODScoket,因为android和ios都兼容,跨平台才是王道!
2、数据管理器
数据管理器,说白了就是封装好的单例数据模块,方便管理及调用的数据集管理器。
3、UI管理器
UI管理器就更不用说了,就是我们自己封装的UI管理器了,当然首先也需要我们熟悉下Cocos Studio!个人觉得有了Cocos Studio换IP什么的再也不用麻烦程序了,我打算下一节详细的讲讲UI管理器。要使用Cocos Studio必须要添加的库文件。
4、数据库管理器
对于中型及大型游戏,肯定要使用到数据库,还好Cocos2d-x也为我们准备好了sqlite3库,这里就需要我们熟悉一般的SQL语句了,至少增删改查必须会啊!正可谓,万事具备,只欠东风了。
5、加密管理器
为什么要提到加密,上述已经提到过,逻辑是在服务端还是在客户端,大部分游戏的逻辑都是在服务端,为什么呢?就是因为加密的问题,客户端只是负责显示逻辑及提交业务就可以了,但是也有不少游戏逻辑是在客户端,服务端只负责保存数据及数据效验。其实,我个人比较喜欢将逻辑放在客户端,这样的话会大大的减少服务器压力,只不过客户端一定要做好加密工作!一般情况,客户端加密可以采用多种手段,像Base64、MD5、AES等,具体到底适不适合当前项目,还是要看项目实际情况了。
从后面开始我将会抽时间一点点的讲解这些管理器,当然如果时间允许的话,我会尽可能给大家带来一个项目,因为边写边学,学习的效果应该更好。