闲聊一下android 3D 网络游戏

简介:

前言:

前几天,朋友推荐了一款叫做跑跑卡丁车的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网络游戏引擎.有的话望告之!

本文转自 liam2199 博客,原文链接:  

http://blog.51cto.com/youxilua/772631

 如需转载请自行联系原作者


相关文章
|
1月前
|
数据库 Android开发 开发者
构建高效Android应用:采用Kotlin协程优化网络请求处理
【2月更文挑战第30天】 在移动应用开发领域,网络请求的处理是影响用户体验的关键环节。针对Android平台,利用Kotlin协程能够极大提升异步任务处理的效率和简洁性。本文将探讨如何通过Kotlin协程优化Android应用中的网络请求处理流程,包括协程的基本概念、网络请求的异步执行以及错误处理等方面,旨在帮助开发者构建更加流畅和响应迅速的Android应用。
|
3月前
|
安全 API Android开发
Android网络和数据交互: 解释Retrofit库的作用。
Android网络和数据交互: 解释Retrofit库的作用。
38 0
|
3月前
|
Android开发 开发者
Android网络和数据交互: 请解释Android中的AsyncTask的作用。
Android网络和数据交互: 请解释Android中的AsyncTask的作用。
22 0
|
4月前
|
XML Java Android开发
Android App开发网络通信中使用okhttp下载和上传图片、文件讲解及实战(超详细实现用户注册信息上传 附源码)
Android App开发网络通信中使用okhttp下载和上传图片、文件讲解及实战(超详细实现用户注册信息上传 附源码)
139 0
|
9天前
|
Android开发 开发者
Android网络和数据交互: 请解释Android中的AsyncTask的作用。
Android's AsyncTask simplifies asynchronous tasks for brief background work, bridging UI and worker threads. It involves execute() for starting tasks, doInBackground() for background execution, publishProgress() for progress updates, and onPostExecute() for returning results to the main thread.
9 0
|
9天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
9 0
|
4月前
|
XML JSON Java
Android App网络通信中通过okhttp调用HTTP接口讲解及实战(包括GET、表单格式POST、JSON格式POST 附源码)
Android App网络通信中通过okhttp调用HTTP接口讲解及实战(包括GET、表单格式POST、JSON格式POST 附源码)
164 0
|
3月前
|
JSON Java Android开发
Android网络和数据交互: 请解释Android中的JSON解析库,如Gson。
Android网络和数据交互: 请解释Android中的JSON解析库,如Gson。
24 0
|
4月前
|
XML JSON Android开发
[Android]网络框架之Retrofit(kotlin)
[Android]网络框架之Retrofit(kotlin)
56 0