web遊戲框架哪家強?國內外精選優質框架分析及注意事項
網頁端實現各種小遊戲已經是家常便飯。微信小遊戲出現後,遊戲(特別是小型遊戲)的開發已經進入了一個相當火爆的時期。那麼作為一名前端開發者,如何取選擇一個合適的遊戲開發框架來學習和提高開發效率呢?
下面我就和大家一起分享一下:
當今國內外流行的遊戲開發框架有哪些。
每個框架的特點以及優缺點。
怎樣去選擇一個適合的框架來學習和使用。
使用框架的注意事項。
當今國內外流行的遊戲開發框架有哪些
開發動畫和遊戲,跟我們做資料互動不一樣;遊戲和動畫開發起來比較複雜和耗時,是比較依賴框架和工具的。那麼現在都有那些框架和工具呢?下面我們就來看一下。
每個框架的特點以及優缺點
Three.js
一款歷史比較悠久的開源專案,準確地說它不是一個遊戲引擎,是一個 JavaScript 的 3D 庫。然而我們可以用它來做各種的 3D 效果和遊戲。
優點:
專注於三維效果的 JavaScript 實現,能夠在網頁端實現大部分三維效果。
文件齊全,並具有搜尋功能,方便快速查閱。
國外專案,目前仍然持續更新,不需要擔心沒人維護國外。
純 js 程式碼開發,引入庫即可用,不需要藉助其他工具,方面接入任何的系統。
缺點:
文件大部分是英文,需要具備一定英文水平才能讀懂。
學習難度比較大,除了 js 程式碼基礎,還需要具備高中的幾何知識、webgl 知識、線性代數等等。
國內例子相對比較少,中文教程也不多,基本上都是看官網的例子和文件進行學習和研究。
網頁 3d 效果的相容性和效能問題,需要詳細研究需求後才能使用。
Phaser
免費開源的 html5 遊戲框架,支援 canvas 和 webgl 渲染,github 上 2w + star,比較不錯的遊戲框架。
優點:
專注於 2d 遊戲的 JavaScript 實現,集合了渲染、物理引擎,能夠完成大部分小遊戲。
使用方法簡單,容易上手。
官方網站上有大量例子,程式碼都不負責,基本需要使用的效果都能找到對應的例子。
純 js 程式碼開發,引入庫即可用,不需要藉助其他工具,方面接入任何的系統。
能夠在微信小遊戲中使用,並支援 typescript。
缺點:
官方文件大部分是英文,並且沒有搜尋功能,需要按照類一層層往下搜尋;假如在官方例子中找不到合適的程式碼,需要花時間研究文件。
目前穩定版本是 2.10,但是版本是社群維護;官方在開發新的 3.0 版本,暫時還在調整階段。
由於純程式碼編寫,如果遊戲邏輯複雜,程式碼會比較多和繁瑣,需要在前期做比較好的規劃。
Createjs
免費開源的 html5 遊戲、動畫和互動應用框架,adobe animate 軟體基於該庫來生成程式碼。
優點:
動畫和互動效果小能手,眾多好看和高質量的 h5 展示效果使用 createjs 製作。
可以使用純程式碼開發,或者使用 adobe animate 軟體開發。
國內教程比較豐富,學習成本不大。
核心庫分為四個,分別支援渲染、動畫、預載入和音訊,可以按需求載入對於庫。
缺點:
例子相對較少,遇到新或者複雜的需求,基本需要檢視 api,無法尋找相似例子。
沒有封裝好粒子系統、骨骼動畫、瓦片地圖等等,輕量級的庫,不適合大型遊戲。
動畫製作一般需要大量圖片,涉及圖片壓縮和使用精靈圖方面的技術。
Egret
國內優秀的遊戲製作引擎,具備一整套的開發工具和教程。
優點:
大型遊戲製作能手,能夠使用圖形化工具製作遊戲,效能優越。
使用 typescript 開發業務邏輯,程式碼規範。
中文文件和教程,學習方便。
同時支援 3d 和 2d,並且帶有各種模組,遊戲製作基本屬於全能。
支援接入微信小遊戲。
缺點:
需要使用工具開發,不方便接入其他業務系統。
雖然具備中文文件,當時需要熟悉各種工具,學習成本不低。
例子相對較少,製作大型遊戲需要大量填坑。
Cocos2d-js
歷史比較悠久的遊戲開發框架,類似 egret。
優點:
2D 優秀開發引擎,同樣使用圖形化工具製作遊戲,操作方便。
核心使用 JavaScript 編寫。
中文文件和教程,學習方便,並且資料和例子豐富。
功能相當完整,遊戲中需要的功能幾乎都能夠找到。
支援接入微信小遊戲。
缺點:
需要使用工具開發,不方便接入其他業務系統。
需要熟悉各種工具,學習成本不低,這點類似 egret。
擅長 2D 遊戲開發,3D 遊戲開發沒有其它幾個遊戲框架專業。
怎樣去選擇一個適合的框架來學習和使用
學習 :
從學習上來說,我推薦初學者挑選純程式碼進行開發的框架(three.js、createjs 和 phaser)進行學習。學習這型別的框架,雖然難度比較大,花時間比較長;但是能夠提高自己的程式碼編寫水平,還能更加深刻地理解遊戲開發。
如果有些小夥伴比較喜歡圖形化介面操作,也可以嘗試 egret 和 coco2d。這兩個框架都是國內比較流行的遊戲框架,學習哪一個都會有所幫助。
如果有小夥伴之前是做 flash 的,我推薦使用 adobe animate 軟體。
這款軟體其實就是以前的 flash 加上了 html5 的 canvas,它既可以生成 flash,也可以製作網頁動畫;製作的方法也以前的 flash 軟體基本一樣,只是多了 JavaScript 程式碼編寫。
工作:
在工作中,特別是一些中小型公司,選擇遊戲框架就跟學習的時候不一樣了。
首先需要明確需要製作什麼型別的遊戲,是否需要接入自己公司的業務系統。
如果是一些小遊戲,類似跳一跳、推箱子等等,可以使用純程式碼開發的框架。這樣無論後面需求是否修改,是否需要接入業務系統,都能夠方便進行修改。
如果遊戲的形式不太清晰,但是需要接入自己業務系統,例如遊戲過後要抽獎、要統計資料等等;也建議優先選擇純程式碼開發的框架,畢竟純程式碼開發的框架,就算前後端沒有完全分離,也可以在頁面上面放 php 或者 java 程式碼。
如果需要製作比較複雜的遊戲,圖形化的開發工具是第一選擇。圖形化介面能夠大大提升遊戲開發的效率,而且遊戲的結構也是清晰可見,價效比比較高。
如果遊戲需求比較複雜,而且需要接入自己的業務系統。這種情況,需要先測試圖形化工具縮生成的程式碼是否能夠順利接入系統,然後再選擇使用。
使用框架的注意事項
最後,給小夥伴們幾個使用框架的建議,下面的都是我經過無數次踩坑總結出來的。
學習使用過程,遇到英文資料或者文件,建議不要使用翻譯軟體,透過例子和上下文去理解。
注意遊戲的圖片和模型載入,合理使用精靈圖和框架的預載入功能。
開始開發之前,注意測試需要用到的框架屬性,是否存在相容性問題,特別是安卓和蘋果手機的區別。
多複習一下高中的立體幾何、解析幾何,大學的線性代數、演算法和圖形影像。
跟美工打好關係,做遊戲時,圖片和模型的調整會非常多,沒有他們的配合,很難進行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2286571/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 新手使用ABP框架及注意事項--純後端框架後端
- 國內外高防伺服器租用注意事項伺服器
- 小遊戲引擎選型注意事項遊戲引擎
- 國內IT科技公司薪酬哪家強?
- 段合併優化及注意事項優化
- 國內優秀MES開源框架框架
- 精選優秀國內和國外免費CDN加速服務平臺及使用體驗評測
- TypeScript 強型別 JavaScript – Rafy Web 框架選型TypeScript型別JavaScriptWeb框架
- 基於Laravel框架定時任務相關實現方法及操作注意事項Laravel框架
- Taro原理分析、遷移指南及開發注意事項
- 搭建 nuget 私服及注意事項
- Guava HashMultimap使用及注意事項Guava
- Kubernetes選擇CNI外掛的11個注意事項
- Android 應用內多程式的使用及注意事項Android
- 統計分析注意事項1
- 華納雲:選擇香港遊戲伺服器的注意事項遊戲伺服器
- 選擇“大資料”分析平臺時的注意事項大資料
- web前端開發框架那些事Web前端框架
- 國外精選32個優秀天氣APP介面設計APP
- 介面開發文件及注意事項
- mysql索引使用技巧及注意事項MySql索引
- MySQL常用語句及注意事項MySql
- TokuDB的安裝及注意事項
- oracle hash join原理及注意事項Oracle
- 國外主流PHP框架比較PHP框架
- 關於mysql執行效率優化注意事項及要點MySql優化
- mysql 5.7.14 免安裝版注意事項(精)MySql
- 選擇代理ip注意事項介紹
- Intel八代CPU選購注意事項Intel
- Select 選擇器使用注意事項
- 精選的 Go 框架,庫和軟體的精選清單Go框架
- hive查詢注意事項和調優Hive
- 企業版防毒軟體哪家強?國內外四大熱門產品測評防毒
- Emacs使用projectile-rails 外掛注意事項MacProjectAI
- Web頁面切圖和CSS注意事項WebCSS
- SVN安裝配置及安全注意事項
- Python eval的用法及注意事項Python
- 如何搭建伺服器及注意事項伺服器