我是靠谱客的博主 俏皮悟空,最近开发中收集的这篇文章主要介绍游戏开发热门技术浅析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近手游开发很热,今天我们来看看目前比较主流的手机游戏开发技术,以下仅仅是个人了解的皮毛,为想了解和步入游戏行业的朋友做一参考。

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)。

分支引擎编程语言平台
Cocos2dPython桌面操作系统
Cocos2d-iphoneObjective-C, JavaScriptiOS
Cocos2d-xC++, Lua, JavaScript参见支持平台和编程语言部分
Cocos2d-html5JavaScript支持HTML5的浏览器
ShinyCocosRubyiOS
Cocos2d-windowsC++Windows XP/7
Cocos2d-androidJavaAndroid
Cocos2d-android-1JavaAndroid
Cocos2d-xnaC#Microsoft and MonoGame platforms
Cocos2d-javascriptJavaScript支持HTML5的浏览器
Cocos-netC#Mono-supported 平台
Cocos3dObjective-CiOS

下面我们来了解一下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)


转载于:https://www.cnblogs.com/lanzhi/p/6468770.html

最后

以上就是俏皮悟空为你收集整理的游戏开发热门技术浅析的全部内容,希望文章能够帮你解决游戏开发热门技术浅析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部