您的位置:首页 > 其它

跨平台游戏引擎开发

2015-07-23 18:13 721 查看
跨平台游戏引擎的意义

目前移动平台开发涉及Andoird,ios,windows-phone,blackberry等多个平台,每个平台的开发接口都不同,同一款游戏要想部署到不同平台需要大量的重复劳动,严重影响开发成本,跨平台游戏引擎能使用统一的开发接口,能做到written once, run everywhere的效果,大大提高开发效率

跨平台游戏引擎现状(unity3d,cocos2d-x,phonegap,qt-quick)

unity3d是一款比较流行的跨平台3d游戏引擎,据说最近也出了2d版本。使用c#,javascript等语言开发,有比较成熟的ui设计工具

cocos2d-x 是国人开发的一款跨平台2d游戏引擎,拥有非常大的用户量。使用c++开发,开源免费。有cocostudio等开发辅助工具

phonegap 基于html+css+javascript的跨平台开发工具,跨平台效果最好的一个,但是效率不及native的引擎

qt-quick 使用qml+cpusplus的开发方式,qml是一个类似css的语法的界面设计语言,有非常灵活的语法。集成开发工具qt-creater。个人比较喜欢这个,但是目前还不是很成熟。

研发自己的游戏引擎(GameEngine)

首先,研发自己的游戏引擎可以对程序有100%的把控能力,根据自身需求灵活添加功能。

还有一点重要的原因是想cocos2d-x等开源程序虽然代码是开源的,更新也很迅速,但是从1.0到3.0api的版本变换差异非常大,使用旧版本引擎开发的程序想要升级,风险太大。

研发自己的游戏引擎当然也有弊端,需要用专门的团队来维护。

游戏引擎系统架构图


抽象应用程序(Application,PlatformApplication,Windows)


图形引擎设计 (Graphic,Drawable,Bitmap,Shape)


节点设计 (Node,Scene,Layer,Sprite,Text,EditText,Canvas)


动画引擎设计 (Animation)


事件处理系统设计 (Event,Touch,Keyboard)



字体渲染设计 (FontManager)



粒子系统设计 (ParticleSystem)声音引擎设计 (AudioEngine)


文件系统设计
(FileSystem)


多任务设计
(Process,Thread,AsyncTask)


网络引擎设计
(HttpClient,HttpMethod,GetMethod,PostMethod)游戏引擎跨平台移植(Android,IOS,Windows,Linux) 游戏引擎性能优化(顶点缓存VBO,多重采样,PNG解析优化,IO优化,字体渲染优化)

游戏引擎的辅助工具设计

未完待续。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: