跨平台游戏引擎开发
跨平臺(tái)游戲引擎的意義
目前移動(dòng)平臺(tái)開發(fā)涉及Andoird,ios,windows-phone,blackberry等多個(gè)平臺(tái),每個(gè)平臺(tái)的開發(fā)接口都不同,同一款游戲要想部署到不同平臺(tái)需要大量的重復(fù)勞動(dòng),嚴(yán)重影響開發(fā)成本,跨平臺(tái)游戲引擎能使用統(tǒng)一的開發(fā)接口,能做到written once, run everywhere的效果,大大提高開發(fā)效率
unity3d是一款比較流行的跨平臺(tái)3d游戲引擎,據(jù)說最近也出了2d版本。使用c#,javascript等語言開發(fā),有比較成熟的ui設(shè)計(jì)工具
cocos2d-x 是國人開發(fā)的一款跨平臺(tái)2d游戲引擎,擁有非常大的用戶量。使用c++開發(fā),開源免費(fèi)。有cocostudio等開發(fā)輔助工具
phonegap 基于html+css+javascript的跨平臺(tái)開發(fā)工具,跨平臺(tái)效果最好的一個(gè),但是效率不及native的引擎
qt-quick 使用qml+cpusplus的開發(fā)方式,qml是一個(gè)類似css的語法的界面設(shè)計(jì)語言,有非常靈活的語法。集成開發(fā)工具qt-creater。個(gè)人比較喜歡這個(gè),但是目前還不是很成熟。
首先,研發(fā)自己的游戲引擎可以對(duì)程序有100%的把控能力,根據(jù)自身需求靈活添加功能。
還有一點(diǎn)重要的原因是想cocos2d-x等開源程序雖然代碼是開源的,更新也很迅速,但是從1.0到3.0api的版本變換差異非常大,使用舊版本引擎開發(fā)的程序想要升級(jí),風(fēng)險(xiǎn)太大。
研發(fā)自己的游戲引擎當(dāng)然也有弊端,需要用專門的團(tuán)隊(duì)來維護(hù)。
節(jié)點(diǎn)設(shè)計(jì) (Node,Scene,Layer,Sprite,Text,EditText,Canvas)?
動(dòng)畫引擎設(shè)計(jì) (Animation)?
事件處理系統(tǒng)設(shè)計(jì) (Event,Touch,Keyboard)? 字體渲染設(shè)計(jì) (FontManager)
粒子系統(tǒng)設(shè)計(jì) (ParticleSystem)聲音引擎設(shè)計(jì) (AudioEngine)?
文件系統(tǒng)設(shè)計(jì) (FileSystem)?
多任務(wù)設(shè)計(jì) (Process,Thread,AsyncTask)?
網(wǎng)絡(luò)引擎設(shè)計(jì) (HttpClient,HttpMethod,GetMethod,PostMethod)游戲引擎跨平臺(tái)移植(Android,IOS,Windows,Linux) 游戲引擎性能優(yōu)化(頂點(diǎn)緩存VBO,多重采樣,PNG解析優(yōu)化,IO優(yōu)化,字體渲染優(yōu)化)
游戲引擎的輔助工具設(shè)計(jì)
未完待續(xù)。。。
總結(jié)
- 上一篇: 秒杀系统的分析
- 下一篇: 【51单片机】汽车里程表之测速功能