上一节我们主要了解了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等,具体到底适不适合当前项目,还是要看项目实际情况了。

从后面开始我将会抽时间一点点的讲解这些管理器,当然如果时间允许的话,我会尽可能给大家带来一个项目,因为边写边学,学习的效果应该更好。好了,本节暂时就讲到这里了,我们下一节再见!