前言:
前几天,朋友推荐了一款叫做跑跑卡丁车的android游戏给我,我一玩,当年那种熟悉的感觉,让我触动很深,竟然画面已经不成问题了,那么网络版的还会远吗?基于这个疑问,我特意查了一下android 的 3d 网游.想不到,国外一款叫做 混沌与秩序的游戏已经运作得很成功,于是,我把我找的资料整理成下文
1.当前的移动设备
目前大众的百元级android设备,都至少具有600mhz以上的cpu,256mb,至于千元以上的手机都普遍都是至少1GHZ和512mb的内存,在移动设备上,由于性能的局限性而不可能实现的3D在现在这个时候,看似有了实现的环境
下图是一个基于RK2918的平板设备的截图,目前基于该方案的设备,最便宜,也只需499,而且价格还在下降
从截图可以看出,目前,android版本的跑跑卡丁车单机版的画面已经跟当年 05,06年的时候跑跑卡丁车网络版的画面相差无几,是不是从一个侧面反映了在android设备上复刻当年3D网络游戏的可能?或者,原创android的3D网络游戏?在国外,android上的网络3d游戏已经有成功的例子:如混沌与秩序等等.
2.移动网络环境
既然是网络游戏,网络肯定是其中的重中之中.以目前的流行的移动网络分类以及速度
从上表可以看到,grps的下载速度,已经达到了当年,我们用56kb的小猫拨号上网时玩魔力,石器时代,传奇的网络游戏的网速,不过,鉴于,移动网络的高延时,高丢包率,只有下载速度高是不足够用来作为建设网络游戏的依据.作为网络3D游戏,我个人觉得网络至少也要是3G或者WIFI以上,这一点可以参考当年的3D网游大作奇迹.(为了完这款游戏我那时候特意报了ADSL宽带)
就如上文提到的一点,基于无线网的网络游戏,我们不能只单单考虑下载的速度,与有线网络传输相比,无线网络传输存在,信号的强弱,各个营运商之间网络的通讯延迟,下载速度的不稳定,高延时,等问题.这些因素,在我们设计的时候也要完全考虑,而且进行解决.目前,无线网络参考排序 WI-FI > WCDMA > CDMA > TD-SCDMA
3G网络参考资料:
3.实现的技术难点
一,游戏图像
既然我们要做网络3D游戏,图像这块我们也只需在open gl es 1.0&1.1 与 open gl es 2.0中选出能够表现出游戏魅力的一种就行了,个人感觉open gl es 1.0&1.1 就3D的表现效果而言,已经可以比得上当年奇迹的画面,当然我这里说的比得上仅仅限于人物建模,对于,环境的渲染.
android上 混沌与秩序的截图
当年的奇迹Mu
二,游戏声音
对于游戏声音,android提供了三套方案
在声音这块,我个人觉得难点在于,对声效的缓冲区的处理.
三,网络通信
对于一款网络游戏而言,网络通信实际就是其中的核心部分,网络这块没做好,相当于之前的东西都白做了.
对于,移动网络的网络环境,我个人感觉除了Socket 作为我们的通信协议以外,貌似没有其它的好的协议了.
在通信这块,我个人觉得,对于消息的处理转发是其中的最困难的部分.
为什么这么说?因为网络游戏是一种多人的游戏类型,他们在游戏世界的体验,事件,都需要从服务器中获得,服务器就要正确处理成千上万的玩家的消息,并迅速作出反应,让玩家及时体验到游戏的回馈.在这个过程中,我们的服务器对于这么多消息,怎么能够正确无误的进行处理,转发,还要防止,有人作弊.这点我目前理解水平只在这里了.
四,游戏引擎
目前,尚未有开源的3D网络游戏引擎.有的话望告之!
转载于:https://blog.51cto.com/youxilua/772631