就在我上次说要写一个手机端的网络游戏之后,我就开始准备一些资料和搭建开发环境。 由于之前开发过一个基于java的C/S题库程序,游戏的网络通信部分技术有点准备,但是还有很多不确定的因素,这些因素主要来自于客户端开发语言的选择端和服务器端。
对于客户端,因为如果不选择现有的游戏引擎,客户端的开发是非常耗时的,所以客户端的开发必须在开源的游戏引擎上进行,所以如果客户端和如果语言上的服务器端不同,同一种数据类型占用的字节数可能不同,那么在客户端和服务器端对数据包的解析就可能出现问题。 要解决这个问题,就需要对双方各数据类型占用的字节进行规范和统一。 这也是一项耗时的工作,而且还会增加代码量。
当我们决定客户端的开发要基于游戏引擎时,那么接下来的工作就是选择游戏引擎了。 对于我这次网游的定位网络游戏引擎,是一款2D网游。 我选择和注意的也是二维的。 游戏引擎,我主要关注两个游戏引擎,一个是cocos2dx,一个是andengine,其中cocos2dx是C++开发的跨平台游戏引擎,andengine是基于android开发的游戏引擎,我一直是我纠结用什么引擎开发。 据我所知网络游戏引擎,我对cocos2dx比较熟悉,cocos2dx的资料很多,但是因为是跨平台的,所以有很多东西不太好理解游戏图片,编译到android之后,程序会是比较大; 我最近才开始了解andengine。 本引擎所有代码均基于android。 我学过java和一点点android开发。 如果想看懂还是可以的,只是需要一点时间,而且资料也比较少。 当然对于后期的网络开发是非常有好处的,因为如果我选择andengine作为客户端游戏引擎,我的试题库程序可以直接使用socket通信,通信的开发周期应该很短。 太伤心了! ! !
但在我的潜意识里,我是这样想的。 如果我不是那么着急完成开发的话,我会选择andengine,因为它的代码都是用android java写的,这样我学起来会更快,这样我也能很好的理解一个真正的游戏引擎是怎么开发的。 如果急着完成开发,我会选择cocos2dx,因为我以前用cocos2dx做过一些小游戏3D素材,上手容易,但是cocos2dx的源码还是很多的,所以我只能了解它的大概意思,很难深入到细节。 你应该选择哪一个? 求大神们给点意见! ! !