闲聊一下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

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


相关文章
|
3月前
|
Android开发
Android网络访问超时
Android网络访问超时
31 2
|
3月前
|
Java Linux API
统计android设备的网络数据使用量
统计android设备的网络数据使用量
68 0
|
2月前
|
缓存 网络协议 安全
Android网络面试题之Http基础和Http1.0的特点
**HTTP基础:GET和POST关键差异在于参数传递方式(GET在URL,POST在请求体),安全性(POST更安全),数据大小限制(POST无限制,GET有限制),速度(GET较快)及用途(GET用于获取,POST用于提交)。面试中常强调POST的安全性、数据量、数据类型支持及速度。HTTP 1.0引入了POST和HEAD方法,支持多种数据格式和缓存,但每个请求需新建TCP连接。**
34 5
|
2月前
|
缓存 JSON 网络协议
Android面试题:App性能优化之电量优化和网络优化
这篇文章讨论了Android应用的电量和网络优化。电量优化涉及Doze和Standby模式,其中应用可能需要通过用户白名单或电池广播来适应限制。Battery Historian和Android Studio的Energy Profile是电量分析工具。建议减少不必要的操作,延迟非关键任务,合并网络请求。网络优化包括HTTPDNS减少DNS解析延迟,Keep-Alive复用连接,HTTP/2实现多路复用,以及使用protobuf和gzip压缩数据。其他策略如使用WebP图像格式,按网络质量提供不同分辨率的图片,以及启用HTTP缓存也是有效手段。
55 9
|
2月前
|
安全 网络协议 算法
Android网络基础面试题之HTTPS的工作流程和原理
HTTPS简述 HTTPS基于TCP 443端口,通过CA证书确保服务器身份,使用DH算法协商对称密钥进行加密通信。流程包括TCP握手、证书验证(公钥解密,哈希对比)和数据加密传输(随机数加密,预主密钥,对称加密)。特点是安全但慢,易受特定攻击,且依赖可信的CA。每次请求可能复用Session ID以减少握手。
34 2
|
2月前
|
缓存 网络协议 Android开发
Android网络面试题之Http1.1和Http2.0
HTTP/1.1 引入持久连接和管道机制提升效率,支持分块传输编码和更多请求方式如PUT、PATCH。Host字段指定服务器域名,RANGE用于断点续传。HTTP/2变为二进制协议,实现多工处理,头信息压缩和服务器推送,减少延迟并优化资源加载。HTTP不断发展,从早期的简单传输到后来的高效交互。
33 0
Android网络面试题之Http1.1和Http2.0
|
2月前
|
JSON Java API
【Android】使用 Retrofit2 发送异步网络请求的简单案例
**摘要:** Retrofit是Android和Java的HTTP客户端库,简化了RESTful API交互。它通过Java接口定义HTTP请求,并提供注解管理参数、HTTP方法等。要使用Retrofit,首先在AndroidManifest.xml中添加`INTERNET`权限,然后在`build.gradle`中引入Retrofit和Gson依赖。创建服务器响应数据类和描述接口的接口,如`Result`和`Api`。通过Retrofit.Builder配置基础URL并构建实例,之后调用接口方法创建Call对象并发送异步请求。
77 1
|
2月前
|
缓存 网络协议 Java
Android面试题之Java网络通信基础知识
Socket是应用与TCP/IP通信的接口,封装了底层细节。网络通信涉及连接、读写数据。BIO是同步阻塞,NIO支持多路复用(如Selector),AIO在某些平台提供异步非阻塞服务。BIO示例中,服务端用固定线程池处理客户端请求,客户端发起连接并读写数据。NIO的关键是Selector监控多个通道的事件,减少线程消耗。书中推荐《Java网络编程》和《UNIX网络编程》。关注公众号AntDream了解更多。
32 2
|
2月前
|
XML JSON Java
Android面试题 之 网络通信基础面试题
序列化对比:Serializable码流大、性能低;XML人机可读但复杂;JSON轻量、兼容性好但空间消耗大;ProtoBuff高效紧凑。支持大量长连接涉及系统限制调整、缓冲区优化。select/poll/epoll是IO多路复用,epoll在高连接数下性能更优且支持边缘触发。水平触发持续通知数据,边缘触发仅通知新数据。直接内存减少一次拷贝,零拷贝技术如sendfile和MMAP提升效率。关注公众号"AntDream"了解更多技术细节。
24 1
|
2月前
|
安全 Android开发 数据安全/隐私保护
同样的 APP 为何在 Android 8 以后网络感觉变卡?
【6月更文挑战第8天】Android 8 及以后系统中,APP 网络感觉变卡源于更严格的安全机制和后台限制,系统对网络优化的侧重改变,以及APP自身兼容性问题。开发者需优化APP,适应新系统,用户可更新APP或检查权限设置。通过共同努力,有望改善网络卡顿现象,提升用户体验。
72 3