android网络游戏开发——客户端开发——游戏引擎的选择

时间:2022-06-21 18:10:53

就在上次说了想写一款手机端的网络游戏之后,我就开始着手准备一些资料和搭建开发环境,由于在之前开发了一个基于java的C/S的题库程序,游戏的网络通信这一块的技术算是有点准备了,但是还是有很多的不确定性因素,这些因素主要来自客户端和服务器端的开发语言的选择上。

对于客户端来说,因为客户端的开发是如果不选择已经有的游戏引擎的话,那么开发是非常耗时间的,所以客户端的开发肯定是要在一个开源的游戏引擎上面进行,所以如果客户端和服务器端的语言不一样的话,可能出现相同的数据类型所占的字节数不同,那么就可能出现客户端和服务器端的数据包解析出现问题。要解决这个问题必须要对双方的每种数据类型所占用的字节进行一个规范统一,这个也是比较耗时的工作,同时也会增加代码量。

当我们决定了客户端的开发是要建立在游戏引擎之上,那么接下来的工作就是要选择游戏引擎,对于我这次的网络游戏定位是2D的网络游戏,所有我选择和关注的也是2D的游戏引擎,我主要关注了两款游戏引擎,一个是cocos2dx,另一款是andengine,其中cocos2dx是一款C++开发的跨平台的游戏引擎,andengine是一款基于android开发的游戏引擎,我一直在纠结到底是用哪一款引擎开发,就我了解的来说,我对cocos2dx比较熟悉,而且cocos2dx的资料也比较多,但是由于它是跨平台的,所有说有很多东西不好看懂,而且编译到android上面后程序会比较大;andengine是我最近才开始了解的,这款引擎的所有的代码都是基于android的,我本身学过java也学习过一点点的android开发,如果想要看懂还是可以的,但是要花一点时间,而且资料也比较少,当然对于后面的网络开发来说是很好的,因为如果我选择andengine作为客户端游戏引擎的话,我就可以把我在题库程序中的socket通信直接拿过来用,通信的开发周期要短。所以很惆怅!!!

不过在我的潜意识里面我是这样想的,如果不是那么急着要开发完成的话,我会选择andengine,因为它的代码全是android java写的,所以我会学习起来比较快,这样我也可以很好的了解一款真实游戏引擎是怎么样开发出来的。如果我急着完成开发的话,我会选择cocos2dx,因为我过去利用cocos2dx做过一些小游戏,上手的话很容易,不过cocos2dx的源码还是比较多,只能把它的大体的思路看懂,很难深入到细节中去。到底该选择哪一个呢?求大神们给点意见!!!