zoukankan      html  css  js  c++  java
  • 游戏开发热门技术浅析

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

    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集成开发环境的控制台界面,主要分为以下几个模块。


    这幅图就是场景视图,在三维坐标系中(右上角坐标系),右下角是摄像机镜头所看到的,在这里任何物体包括摄像机都是有坐标的,我们可以调整坐标来改变他们的相对位置。我们常常看到的非常绚丽的3D游戏就是通过maya制作的物体和场景放置在unity3d中完成的。

    比较赞的是unity3d可以快速的发布到各个平台,生成各个平台的执行文件,如下图:


    unity3d开发的游戏举例:仙剑奇侠传、涂鸦保龄球、城堡勇士、3D方块切图等。

    下面是一个unity3d的例子,大家可以下载下来试一下(源码下载:http://download.csdn.net/detail/lxq_xsyu/8146795)。


    欢迎加入QQ交流群“爱编程-爱生活”(142979499)


  • 相关阅读:
    7月的尾巴,你是XXX
    戏说Android view 工作流程《下》
    “燕子”
    Android开机动画bootanimation.zip
    戏说Android view 工作流程《上》
    ViewController里已连接的IBOutlet为什么会是nil
    My first App "Encrypt Wheel" is Ready to Download!
    iOS开发中角色Role所产生的悲剧(未完)
    UIScrollView实现不全屏分页的小技巧
    Apple misunderstood my app,now my app status changed to “In Review”
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468770.html
Copyright © 2011-2022 走看看