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

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


相关文章
|
11月前
|
传感器 存储 Java
Android 3D效果的实现
本文详细讲解了如何在Android中实现3D效果,基于官方Demo并结合实际需求进行调整。通过传感器(Sensor)获取设备旋转数据,利用OpenGL ES绘制3D立方体,实现了动态旋转的视觉效果。文章分为需求分析、效果展示、实现步骤及源码解析,涵盖传感器注册与注销、OpenGL核心方法使用等内容,适合初学者学习参考。文末附完整代码,便于实践操作。
347 0
Android 3D效果的实现
|
API 数据处理 Android开发
Android网络请求演变:从Retrofit到Flow的转变过程。
通过这个比喻,我们解释了 Android 网络请求从 Retrofit 到 Flow 的转变过程。这不仅是技术升级的体现,更是反映出开发者在面对并发编程问题时,持续探索和迭求更好地解决方案的精神。未来,还会有更多新的技术和工具出现,我们期待一同 witness 这一切的发展。
441 36
|
11月前
|
传感器 Android开发 开发者
Android自定义view之3D正方体
本文介绍了如何通过手势滑动操作实现3D正方体的旋转效果,基于Android自定义View中的GLSurfaceView。相较于使用传感器控制,本文改用事件分发机制(onTouchEvent)处理用户手势输入,调整3D正方体的角度。代码中详细展示了TouchSurfaceView的实现,包括触控逻辑、OpenGL ES绘制3D正方体的核心过程,以及生命周期管理。适合对Android 3D图形开发感兴趣的开发者学习参考。
214 0
|
11月前
|
Web App开发 缓存 JavaScript
Android网络小说阅读器的实现
小说阅读Demo,。此Demo使用Jsoup解析HTML,实现小说数据抓取(数据源自网络),并包含自定义View、六章小说缓存等功能,但未实现下载。项目还包括屏幕适配、字体设置等,借助第三方框架完成优化。以下是主页、详情页、阅读页等界面展示。
328 0
|
XML JavaScript Android开发
【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
本文总结了Android中几种常用的网络技术,包括WebView、HttpURLConnection、OKHttp和XML的Pull解析方式。每种技术都有其独特的特点和适用场景。理解并熟练运用这些技术,可以帮助开发者构建高效、可靠的网络应用程序。通过示例代码和详细解释,本文为开发者提供了实用的参考和指导。
485 15
|
安全 网络安全 Android开发
安卓与iOS开发:选择的艺术网络安全与信息安全:漏洞、加密与意识的交织
【8月更文挑战第20天】在数字时代,安卓和iOS两大平台如同两座巍峨的山峰,分别占据着移动互联网的半壁江山。它们各自拥有独特的魅力和优势,吸引着无数开发者投身其中。本文将探讨这两个平台的特点、优势以及它们在移动应用开发中的地位,帮助读者更好地理解这两个平台的差异,并为那些正在面临选择的开发者提供一些启示。
244 56
|
网络协议 Shell 网络安全
解决两个 Android 模拟器之间无法网络通信的问题
让同一个 PC 上运行的两个 Android 模拟器之间能相互通信,出(qiong)差(ren)的智慧。
380 3
|
缓存 JSON 网络协议
Android面试题:App性能优化之电量优化和网络优化
这篇文章讨论了Android应用的电量和网络优化。电量优化涉及Doze和Standby模式,其中应用可能需要通过用户白名单或电池广播来适应限制。Battery Historian和Android Studio的Energy Profile是电量分析工具。建议减少不必要的操作,延迟非关键任务,合并网络请求。网络优化包括HTTPDNS减少DNS解析延迟,Keep-Alive复用连接,HTTP/2实现多路复用,以及使用protobuf和gzip压缩数据。其他策略如使用WebP图像格式,按网络质量提供不同分辨率的图片,以及启用HTTP缓存也是有效手段。
295 9
|
缓存 网络协议 安全
Android网络面试题之Http基础和Http1.0的特点
**HTTP基础:GET和POST关键差异在于参数传递方式(GET在URL,POST在请求体),安全性(POST更安全),数据大小限制(POST无限制,GET有限制),速度(GET较快)及用途(GET用于获取,POST用于提交)。面试中常强调POST的安全性、数据量、数据类型支持及速度。HTTP 1.0引入了POST和HEAD方法,支持多种数据格式和缓存,但每个请求需新建TCP连接。**
223 5
|
安全 网络协议 算法
Android网络基础面试题之HTTPS的工作流程和原理
HTTPS简述 HTTPS基于TCP 443端口,通过CA证书确保服务器身份,使用DH算法协商对称密钥进行加密通信。流程包括TCP握手、证书验证(公钥解密,哈希对比)和数据加密传输(随机数加密,预主密钥,对称加密)。特点是安全但慢,易受特定攻击,且依赖可信的CA。每次请求可能复用Session ID以减少握手。
342 2