小遊戲引擎選型注意事項
寫在前面
前面寫了幾期有關於小遊戲的文章,主要從小遊戲開發、小遊戲運營、小遊戲變現等多個角度進行了較為粗略的介紹,很多同學表示對小遊戲引擎部分很感興趣,希望能夠有一些更為深入的分析介紹。今天就對目前主流的小遊戲引擎進行探討。
九層之臺,始於累土,所有的程式碼都需要從“0”開始,一行一行的寫出來的,簡單的遊戲這樣做可以,但是想要快速的生產產品,這樣的步驟一再重複,最終抽取出通用的程式碼,用來提高工業的生產效率。
觀察遊戲發現遊戲中通用的功能包括UI介面的顯示系統,模型的載入系統,物理引擎系統,動畫系統等等,這一系列的通用功能集就可以透過遊戲引擎實現批次化的實現。
小遊戲與小遊戲引擎的關係
小遊戲現在囊括的範圍包括微信小遊戲、QQ 空間小遊戲、QQ 玩一玩(釐米遊戲)、Facebook Instant Games、各手機廠商的快應用小遊戲,他們都在嘗試著將社交場景和遊戲場景做融合。
我們這裡以微信小遊戲為例,其執行環境是微信小程式環境的擴充套件,在小程式環境的基礎上提供了 WebGL 介面的封裝,使得渲染能力和效能有了大幅度提升。不過由於這些介面都是微信團隊透過自研的原生實現封裝的,所以並不可以等同為瀏覽器環境。
作為小遊戲引擎,可以儘可能簡化開發者的工作量,這樣能夠幫助開發者完成的主要工作包括:
-
引擎框架適配微信小遊戲 API,純遊戲邏輯層面,使用者不需要任何額外的修改
-
編輯器提供了快捷的打包流程,直接釋出為微信小遊戲,並自動喚起小遊戲的開發者工具
-
自動載入遠端資源,快取資源以及快取資源版本控制
小遊戲引擎選型需要考慮哪些因素
選擇小遊戲引擎一般情況下需要考慮以下幾個方面,其中選擇開發語言、效能、應用廣度這三個重要的因素進行細緻的說明。
-
開發語言的支援
-
2D、3D、VR的支援
-
核心效能
-
引擎的應用廣度
-
設計理念
-
工作流支援力度
-
商業化成熟案例
-
學習資源與技術支援能力
1、開發語言的支援
擁有廣泛開發者的小遊戲開發語言共有2種:TypeScript、JavaScript。TypeScript 屬於物件導向的高階指令碼語言,透過編譯器將原專案程式碼編譯成 JavaScript 程式碼檔案執行於瀏覽器之中,物件導向的高階語言無論是專案開發管理,還是專案開發的工具環境的成熟度都明顯優於 JavaScript 指令碼語言,尤其是中大型專案方面。
2、核心效能
效能是小遊戲面臨的核心門檻,遊戲卡不卡頓,流不流暢都是小遊戲開發者首要考慮的問題,只有一個成熟可靠的小遊戲產品才能吸引使用者持續玩下去甚至主動進行社交裂變。
近些年小遊戲品質在迅速提高,包括精細的美術和炫酷的動畫等。在複雜的遊戲專案面前,上述種種元素,其流暢體驗度對遊戲引擎是極大的考驗。所以選擇效能優秀的引擎是保證品質的最重要基礎,一定要謹慎。
在遊戲專案研發開始時,一定要先對複雜的模組做 DEMO 測試,特別是帶背景滾動的遊戲。比如橫屏卷軸遊戲,對幀數穩定性要求極高,如果滿足不了效能上的需求,可能會帶來眩暈、眼花、疲倦等不良體驗。
3、應用廣度
隨著小遊戲開發者對於跨端需要的增長,希望自己開發的小遊戲不僅是在微信中能夠跑起來,還能支援App獨立端、H5頁面等也具備一定的競爭力和價值,一次開發可發行各個領域版本,這就需要小遊戲引擎能夠形成跨端統一的能力。
當然通篇主要研究的小遊戲還是以微信為基礎,但是目前還有位元組、百度、阿里、
FinClip
等平臺可以投放小遊戲。當我們開發了微信小程式後,也可以適配其他的小遊戲平臺,讓自己的小遊戲能夠觸達最廣闊的使用者群體,實現最大的價值。
其中 FinClip 小程式遊戲還有個需要特別強調的點,只要開發小程式後適配 FinClip 平臺,並在第三方 App 中整合 FinClip SDK 即可實現在第三方 App 中執行小遊戲,App 可以是自己的,也可以是外部其他廠商的。這樣一來小遊戲的價值也能更加廣闊,也不限於幾大主流平臺中。
有哪些小遊戲引擎
如果我們將以上考慮到的因素作為篩選條件,符合小遊戲開發的引擎包括 Cocos2d-JS、Egret、Layabox、Unity是比較符合條件的。我們再透過細緻的優劣勢對比來看該如何幫助我們選型做決定。
1、Cocos
Cocos Creator 使用 JavanScript/TypeScript 開發,2010年的時候,能跨平臺開發的遊戲引擎只有Cocos, 大部分都是2D遊戲為主,Cocos 成為了國民手機移動端遊戲引擎,那時很多手機遊戲,都是基於Cocos開發,也讓它迅速了佔領了開發者的市場。
後來隨著手機硬體的發展,3D遊戲越來越多,手遊市場份額慢慢的被 Unity 取代。Cocos 引擎完全免費,包體小,做2D遊戲技術成熟, Cocos Creator 開發工具和 Unity 的易用性一樣,極易上手。
最近2年全新引擎全面支援3D,一次開發能釋出到PC端,Android、iOS、微信、抖音、華為等各大小遊戲平臺。
總結一下Cocos Creator特點:
-
引擎完全免費、開源、包體小、定製靈活;
-
引擎開發2D遊戲經過大量驗證,非常適合2D遊戲開發。
-
全新的3D引擎,能開發3D遊戲,但是還有提升空間。
-
一次開發多平臺釋出,與傳統引擎不同的是,可以釋出微信、抖音、華為小遊戲多個平臺。
-
Creator 3D引擎生態還不夠豐富, 如第三方外掛等。
-
Cocos H5 遊戲runtime核心在行業做的非常好,可以提供高效的H5遊戲執行方案。
2、白鷺引擎
白鷺引擎,開發語言是 JavanScript/TypeScript,白鷺遊戲引擎對於H5遊戲是有著不可磨滅的貢獻,它是最早的H5遊戲引擎,它裡面的很多工具非常好用,到現在還被其他的引擎使用,比如骨骼動畫工具,DragonBones 被廣泛引用到遊戲開發中。
最早一批的 H5 遊戲開發者一定都是使用白鷺。白鷺引擎在 H5 遊戲這個鄰域有著不可磨滅的貢獻。後來白鷺也推出了 Native 平臺,不過發現目前白鷺引擎逐漸落寞。
總結一下白鷺的特點:
-
H5遊戲的先驅,為H5遊戲做了不可磨滅的貢獻。
-
H5 2D遊戲技術成熟,經過很多商業遊戲驗證;
-
3D功能有,但是商業專案3D遊戲用的比較少。
3、Layabox
Laya 遊戲引擎,使用 JavanScript/TypeScript 開發。H5 剛新起時,H5 跑3D遊戲,很多公司都不看好,認為以H5的效能,不足以跑效果好的3D遊戲, 但是H5遊戲有普通遊戲無法比擬的優點就是不用安裝,點開就可以玩。
那個時候PC頁遊已經發展成熟,同時手機頁遊大規模興起,頁遊依靠FlashPlayer,而到手機上,就沒有FlashPlayer 這個東西,隨之取代的就是H5。
Flash 轉 H5 商業上不上太成功,後來隨著 h5 的發展,直接轉為 H5 3D遊戲引擎,是最早在H5上跑出大型商業3D遊戲的H5 3D引擎, 在H5 3D這塊積累了很多經驗和成熟上線的產品案例,現在80%左右的 3D 微信、抖音、快應用小遊戲都是 laya 引擎做的。
總結一下Laya的特點:
-
最早的被大規模商業專案驗證的H5 3D遊戲引擎,釋出微信抖音等小遊戲平臺非常成熟。
-
借用強大易用的Unity編輯器可相容3D資源,如果一個遊戲是Unity開發,你要移植到H5,那麼Laya一定是首選。
4、Unity
Unity, 使用 C# 或 Lua 語言開發。國民 3D 引擎,這個稱號說明了 Unity 在 3D 引擎的市場地位,中小型的遊戲公司做 3D 遊戲,基本都是用 Unity , 很多大公司的遊戲也用 Unity ,AppStore 上面80%的3D遊戲都使用 Unity 遊戲引擎開發。
為什麼 Unity 打敗了眾多高手,成為國民遊戲引擎,我們也好好的說一下。時間回到2010年左右,當時頁遊比較火,Unity那個時候引擎的定位是能開發PC端遊和頁遊的遊戲引擎。
隨著手遊時代來臨,市場急需一個3D遊戲引擎,能一次開發多平臺釋出到 Android、iOS、微信小遊戲等 , 而 Unity 成為了當時唯一的3D遊戲引擎解決方案。和手遊市場一起,Unity實現快速增長。
Unity 能成為國民引擎還有一個很重要的原因,就是對初學者很友好,很方便就可以上手,極大的降低了3D遊戲開發難度,Unity 引擎的市場份額越來越大,技術人才、SDK、第三方外掛、技術資料等也越來越完整。
總結一下 Unity 的特點:
-
能製作精美的 3D 遊戲畫面,和定製渲染管線,畫面效果不如 UE4。
-
能製作各種型別的 3D 遊戲上線,每種型別的遊戲都被商業專案驗證過。
-
完整的生態,一次開發多, 平臺釋出。
-
Unity 不開源, 需要支付授權費才可以修改引擎程式碼, 釋出後也要付授權費。
-
Unity 開發2D遊戲相對包體過大。
寫在最後
現在市場上的 H5遊戲引擎很多,很難去直接定義哪個引擎的好壞,只能說每個引擎都有自己的特性,在某方面跟專案的契合程度比較高。
對於專注於小遊戲公司,使用最多的是 Cocos creator 和 Layabox,其中又要屬 Cocos creator 最多。
對於中小型以上的遊戲公司,使用最多的是 Unity,也是目前市面上使用最廣的遊戲引擎,也是使用人員最多的引擎。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70021577/viewspace-2930687/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ERP選型準備、方法及注意事項
- OA系統在選型時的注意事項
- 域名選擇注意事項
- 華納雲:選擇香港遊戲伺服器的注意事項遊戲伺服器
- 低程式碼開發平臺選型注意事項
- 選擇SEO外包注意事項
- Select 選擇器使用注意事項
- 低程式碼開發平臺選型的注意事項(上)
- 低程式碼開發平臺選型的注意事項(下)
- 企業選型CRM系統,這七個事項務必注意
- web遊戲框架哪家強?國內外精選優質框架分析及注意事項Web遊戲框架
- 小米遊戲本安裝ubuntu 雙系統注意事項遊戲Ubuntu
- 選擇代理ip注意事項介紹
- 微信小程式開發注意事項微信小程式
- 報表/BI工具選型重點注意事項和驗證技巧分享
- @Lombok注意事項Lombok
- RandomAccessFile注意事項randomMac
- 電腦機箱選購注意事項 選購機箱需要注意哪些?
- 為遊戲設計湧現式玩法的五個注意事項遊戲設計
- 營銷型網站建設的注意事項網站
- 向下轉型的注意事項與instanceof的使用
- 免費OA系統選購的注意事項
- CSP 考前注意事項
- 電量注意事項
- 生產注意事項
- 快取注意事項快取
- 函式注意事項函式
- Oracle vs PostgreSQL,研發注意事項(5)- 字元型別OracleSQL字元型別
- 選擇物聯網路卡需要注意的事項
- Kubernetes選擇CNI外掛的11個注意事項
- 挑選虛擬主機需要注意哪些事項
- TCP連線注意事項TCP
- Oracle使用*的注意事項Oracle
- VRPs 論文注意事項VR
- 部署nginx php注意事項NginxPHP
- Python——常見注意事項Python
- 使用Google Fonts注意事項Go
- 程式設計注意事項程式設計