游戏开发热门技术浅析
最近手游开发很热,今天我们来看看目前比较主流的手机游戏开发技术,以下仅仅是个人了解的皮毛,为想了解和步入游戏行业的朋友做一参考。
cocos2d
我们先来看一幅图:
要看懂这幅图就先要了解一下cocos2d的生命历程,下面我来做一下简要的归纳和介绍吧。
2005年,Ricardo和朋友萌生了用Python语言 “一星期编写一个游戏”的想法。在2005~2007年间,他们设计了许多种这样的游戏。值得注意的是,每次在设计一个新的游戏时,其游戏引擎都是重新开发的。
2008年2月,他们在阿根廷Córdoba市附近的Los Cocos,决定基于以前的开发经验,把技术进行整合,并组建了游戏引擎的原始开发团队。一个月后,第一版的游戏引擎诞生了,根据其诞生地取名为Los Cocos。一个月后Los Cocos引擎发布了0.1版,其名称从Los Cocos更名为Cocos2D(这个就是上图中的第一个框)。
团队将研究成果在PyCon 2008和EuroPython 2008上都做了展示,2008年正值乔布斯公布发展iPhone游戏的想法,因此他们决定抓住商机,在2008年6月宣布跟iPhone平台进行接轨,并在当月就公布了用Objective-C编写的Cocos2D for iPhone 0.1版,它与Python版的Cocos2D拥有相同的设计思路。截止到2008年12月,App Store上已有超过40个用Cocos2D引擎开发的游戏(这个就是Cocos2d-iPhone)。
随后,具有历史意义的Cocos2D-X诞生了。X代表着Cross,即交叉。因为Cocos2D-X为开发者提供了跨平台支持,通过C++语言把游戏逻辑一次编写即可编译到iOS、Android以及更多手机平台上运行。同一时期新西兰人Ryan Williams移植了基于HTML5 Canvas的Cocos2D-JavaScript,社区也出现了Texture Packer、Glyph Designer等丰富的工具和编辑器,以及大量的书籍教程、示例代码、视频培训等供开发者学习和使用(cocos2d-x官网:http://cn.cocos2d-x.org)。
分支引擎 | 编程语言 | 平台 |
---|---|---|
Cocos2d | Python | 桌面操作系统 |
Cocos2d-iphone | Objective-C, JavaScript | iOS |
Cocos2d-x | C++, Lua, JavaScript | 参见支持平台和编程语言部分 |
Cocos2d-html5 | JavaScript | 支持HTML5的浏览器 |
ShinyCocos | Ruby | iOS |
Cocos2d-windows | C++ | Windows XP/7 |
Cocos2d-android | Java | Android |
Cocos2d-android-1 | Java | Android |
Cocos2d-xna | C# | Microsoft and MonoGame platforms |
Cocos2d-javascript | JavaScript | 支持HTML5的浏览器 |
Cocos-net | C# | Mono-supported 平台 |
Cocos3d | Objective-C | iOS |
下面我们来了解一下cocos2d-x的架构
cocos2d-x的最上层就是各个平台的接口,可运行到各个游戏平台(比如.apk .exe文件),中间层有对图形图像处理的接口(Graphics),有对音频的处理(Audio),有对物理引擎的接口(Physics)还有对脚本语言的支持(Scripting)等。说到这里很多人可能就有疑问了,为什么cocos2d-x就可以跨平台,下面我们来简单的给大家解答一下。
要理解跨平台,我们先要了解主流移动手机系统支持的游戏引擎,Android支持OpenGl,IOS和Linux也支持Opengl ES,win7/8支持DirectX.正是因为cocos2d-x对Opengl ES/DirectX/Canvas的支持才实现了跨平台的特性。
cocos2d-x开发的游戏非常多,例如:我叫MT、魂斗罗、扑鱼达人2、大掌门等。
Unity3D
unity3d是一个非常强大的游戏引擎(也可以叫做场景编辑器吧),底层是由OpenGl 实现的,可以用它很方便快速的实现3D游戏的开发(一般使用c#开发)。下面我们来给大家展示一下这个引擎的强大。
(开发环境下载地址:http://game.ceeger.com/Unity/Resources/2011/Unity_History_download.html)
这个就是Unity3D集成开发环境的控制台界面,主要分为以下几个模块。
- Project Browser 项目浏览器视图
- Hierarchy 层级面板视图
- Toolbar 工具栏
- Scene View 场景视图
- Game View 游戏视图
- Inspector 检视面板
- Other Views 其他视图
这幅图就是场景视图,在三维坐标系中(右上角坐标系),右下角是摄像机镜头所看到的,在这里任何物体包括摄像机都是有坐标的,我们可以调整坐标来改变他们的相对位置。我们常常看到的非常绚丽的3D游戏就是通过maya制作的物体和场景放置在unity3d中完成的。
比较赞的是unity3d可以快速的发布到各个平台,生成各个平台的执行文件,如下图:
unity3d开发的游戏举例:仙剑奇侠传、涂鸦保龄球、城堡勇士、3D方块切图等。
下面是一个unity3d的例子,大家可以下载下来试一下(源码下载:http://download.csdn.net/detail/lxq_xsyu/8146795)。
欢迎加入QQ交流群“爱编程-爱生活”(142979499)
游戏开发热门技术浅析相关推荐
- (转)完美画质 3D游戏反锯齿技术浅析 .
完美的画面已经离我们不再遥远--反锯齿技术浅析 不管现今的游戏画面有多完美,人物和环境有多真实,但游戏画面的构成的主要方式仍然没有得到改善:一帧画面由成千上万像素构成.这意味着物体多边形的轮廓最终是锯 ...
- 无人机开发-图传技术浅析
2016年,是中国无人机市场的元年,无人机能够一跃进入大众视野,并迅速在大众市场火热发展,是很多人始料未及的.从刚开始的空中摄录,到后来的实时摄录,方便的无人机图传功能无疑为无人机加足了筹码,赚足了眼 ...
- [数学基础]游戏开发数学技术
1: 一般式: Ax+By+C=0(A.B不同时为0)[适用于所有直线] , A1/A2=B1/B2≠C1/C2←→两直线平行 A1/A2=B1/B2=C1/C2←→两直线重合 横截距a=-C/A ...
- 游戏开发图书推荐--我读过的技术经典图书
很多同学问我学游戏开发应该看些什么书,我在这里抛砖引玉,给一份推荐表,希望大家共同提高.由于本人英文不太好,推荐的大部书籍都是国人编写的,有些经典的外文图书可能是翻译不好,我自己难以读下去,所以未能推 ...
- 王楠——海外华人程序员视角:解密移动游戏开发与Unity 4引擎特性
海外华人程序员视角:解密移动游戏开发与Unity 4引擎特性 发表于2012-09-07 17:24| 12534次阅读| 来源CSDN整理| 0 条评论| 作者杨依帆 游戏开发Unity游戏引擎王楠 ...
- 游戏开发是个“坑”,而且是个“天坑”
本文首发于CSDN公众号 作者 | 开发游戏的老王 责编 | 梦依丹 出品 | CSDN(ID:CSDNnews) 各位游戏开发者大家好,我是开发游戏的老王,一名游戏开发者同时也是一名高校游戏方向的主 ...
- 游戏开发适合什么语言?
游戏开发适合什么语言?哪种语言最好呢?今天就来跟大家分享下! 1.先说结论: 现代各种领域的开发技术已经成熟,不再能随意选择开发语言和技术栈,绝大多数情况下只能使用比较流行的方案.工具.和语言. 以上 ...
- 棋牌游戏开发可持续发展 需重视长期运营优化
近几年,创业者纷纷转入棋牌游戏开发行业,希望在此领域大展拳脚.但是对很多技术小白来说,棋牌游戏开发的价格一直是一个波动的数值,令大家摸不着头脑,这么多开发公司,为啥价格各不相同呢?影响一款棋牌游戏价格 ...
- (Unity游戏开发)五天时间做出一款饥荒类的生存游戏Demo,项目在手,还怕面试官不给offer?
游戏行业作为当下最火热的行业之一,受到了很多人的喜爱,也有很多同学想要进入游戏开发行业,但常常找不到靠谱的学习资源,不知道如何在入行前拥有项目经验,我为大家准备了最实用的unity游戏开发学习资料,助 ...
- 手机游戏开发综述(转)
现在的移动电话是小型的计算机,它的处理能力与台式机的标准处理能力相比很有限, 但是足够运行一个小型的游戏. 现在的手机的一个特性就是它们还是网络计算机,能够高速发送和接收数字数据.除 了语音数据以外, ...
最新文章
- 科大星云诗社动态20220102
- web文件 群晖_【原创】群晖NAS 上部署静态网站
- gsu 2524 Frozen Rose-Heads
- android camera捕捉,通过android camera2 API捕捉4:3相机图片与16:9传感器阵列相机
- 上机环境是什么意思_380元入手RX580满血显卡,跑分17万,还要什么自行车
- .Net中委托的协变和逆变详解
- Android wpa_supplicant 四次握手 流程分析
- 看雪论坛论坛小测试的答案
- (转)200亿美元比特币找不到主人,这个邪恶职业一夜爆火
- linux设备数内核选项,linux内核设备树修改指南 / linux kernel device tree modify guide
- Win7 SP1 安装中文语言包
- 计算机等级考试光敏电阻,光敏电阻
- What is ReactOS
- xml引入xml_XML Watch,蠕虫的哔哔声
- UNI-APP 生成海报/DOM转图片
- jy-09-SERVLETJSP——Servlet-Cookie-Session
- first集合及follow集合
- android4.0.3 编译lichee 报错dhd-cdc-sdmmc-gpl-3.0.8问题
- java supplier接口_Java函数式接口Supplier接口实例详解
- 2015年SCI收录遥感期刊28种目录