什么是游戲引擎
“游戲引擎”就是一款游戲中一些核心的代碼。如果說一款完整的游戲是一個“人”,那么“游戲引擎”就是這個“人”的“心臟”,這個“人”在這個“心臟”的基礎(chǔ)上,添加上游戲場景,游戲系統(tǒng),界面等等一系列東西,相當為這個“人”加上皮,肉。就這樣,一款游戲就誕生了。目前游戲引擎一般都包含以下系統(tǒng):渲染引擎(即“渲染器”,含二維圖像引擎和三維圖像引擎)、物理引擎、碰撞檢測系統(tǒng)、音效、腳本引擎、電腦動畫、人工智能、網(wǎng)絡引擎以及場景管理。而cocos2dx與u3d則分別是2d與3d引擎領(lǐng)域的佼佼者。
cocos2dx與u3d的對比
出于實用主義的角度,出于“學什么能更快的做出更好的游戲”的角度,U3D明顯更能勝任。
出于自我積累自我提升的角度,二者各有優(yōu)劣,cocos2d有助于讓你了解更多底層細節(jié)、平臺差異,并給你很多實際填坑上的參考。而Unity更有助于讓你開拓眼界,了解現(xiàn)代的先進生產(chǎn)環(huán)境,了解更具擴展性的架構(gòu)設(shè)計,還可以學習3D相關(guān)知識。
我為什么學習u3d
游戲引擎的核心競爭力在哪里?在于工具鏈的完備性。現(xiàn)在的游戲行業(yè)上,開發(fā)效率才是王道,用好用的引擎,比競品更早發(fā)布,更快迭代,才是生存之道。
一、強大的編輯器
Unity3D具有目前幾乎最方便使用的編輯器,能夠極大的提升整個開發(fā)過程中的協(xié)作效率,策劃可以實時改變數(shù)值觀察效果,美術(shù)資源可以被更快的無縫整合。而這些東西在cocos里面是需要程序員手工實現(xiàn)的,而且實現(xiàn)出的還多是個不好用的東西。
二、組件式編程
雖然不少程序員不太適應組件式的開發(fā)思維,然而配合穩(wěn)定流暢設(shè)計合理的編輯器,很多工作可以分配給策劃和美術(shù),程序員專注于游戲邏輯。必要時通過資源商店可以購買種類豐富的插件和美術(shù)資源,甚至自己開發(fā)定制的插件,節(jié)省了寶貴的開發(fā)時間。
三、方便的跨平臺
值得一提的是直接發(fā)布webgl版本(通過il2cpp將c#字節(jié)碼編譯成c++再用emscripten將c++編譯成js),目前時髦的瀏覽器都可以直接運行,無須任何插件,這也讓adobe互聯(lián)網(wǎng)多媒體的霸主地位開始動搖。反觀cocos2d為了兼顧web,搞出了cocos2d-js這樣的方案,結(jié)果是花費大量精力去做到js和c++方面api的步調(diào)一致,在發(fā)布的時候發(fā)現(xiàn)即使在web上流暢跑起來,要發(fā)布成原生版本還是有許多坑要探索。
四、領(lǐng)先的3d和日漸完善的2d支持
經(jīng)過10年的積累以及近幾年的高速發(fā)展,Unity的3d部分是比較成熟的,能夠滿足大部分游戲開發(fā)者的需求。配合強大的編輯器,cocos2d-x想要追趕沒那么容易。2d的支持雖然比較晚出來,但是之前的許多優(yōu)秀2d插件已經(jīng)證明了Unity可以勝任2d游戲制作。
五、團隊的打磨
要把自己的團隊打造成一支游戲開發(fā)團隊,而不僅僅是cocos2d團隊,團隊中的每個人也不僅僅是cocos2d開發(fā)人員,而是游戲開發(fā)者
當然,cocos和unity等等都只是標,不是本,是加分項而不是基礎(chǔ)分,在修好基礎(chǔ)分的情況下多點加分項,是對我們團隊當前來說最好的選擇。
簡書怎么插代碼塊,凌亂了。。。