WEB前端的大部分工作都集中在利用現有主流前端框架(vue/react/angular)以及周邊開源代碼基礎生態來組織整個項目的架構和實現業務邏輯代碼上,而且往往同樣的邏輯可以選擇不同的抽象方式來實現,不同的抽象方式在思想上和實現上也有很大的不同,例如: redux/mobx/rxjs.
游戲的開發工作主要集中在基于游戲引擎標準開發流程的 UI設計動畫效果的實現和游戲交互邏輯的完成上。對游戲開發而言,需要使用具象思維能力來組織貼圖等資源以完成最終產品。實現的過程相對來說是固定和模式化的(使用一些游戲引擎的顆粒、骨骼、幀動畫等 API)。
通過使用框架本身提供的 API+ IDE的完備技巧+ webpack等打包工具, WEB前端在工程領域已經成熟,可以實現“coding- debug-部署”一整套成熟的生產流程,而框架本身往往只提供核心的“data-view-debug”功能,可以根據項目需要引入不同的設計模式。
對于H5游戲開發領域來說,由于不同游戲引擎的核心代碼差別很大,為了保護核心源代碼和開發效率等原因,游戲引擎廠商往往會高度定制一套服務于該游戲引擎的開發流程:從 IDE到代碼架構再到部署。所以H5游戲開發相對來說,遵循“慣例”是非常重要的一環,H5游戲開發在選定游戲引擎后,通常只限于在官方推薦的游戲引擎中進行選擇。
Cocos Creator的集成開發環境已經趨于成熟,整個功能都集成在 Cocos Creator的客戶機上,除了需要使用 VSCode來編寫代碼邏輯,場景編輯、動態組件設置、資源管理、部署等都可以在一個客戶端完成。
相對來說 Egret 的開發環境有些混亂,有 Egret Launcher / Wing3 / Egret UI Editor / Egret Pro 等各種開發工具,一些功能相互覆蓋,但各不相同,產品線混亂,對初學者來說很不友好。
CocosCreator在官方文檔方面更勝一籌,從基本的游戲 Demo教程到 API文檔,它都比 Egret具有更高的質量。CocosCreator也比 Egret在社區熱度和市場份額方面進行了更多的討論,因此更容易找到解決方案,對新手更友好。
在可視化編輯器上的一些差別
CocosCreator官方推薦使用 GUI操作在客戶端完成大多數場景、圖形、動畫工作,只在代碼層編寫業務代碼,以及一些更復雜抽象的動畫邏輯。
優勢:在動畫效果和場景的制作方面上更加直觀、方便;
缺點:由于視覺編輯器的功能繁多,學習操作有一定難度。
目前, Egret的可視化編輯器非常簡陋,動畫和業務邏輯都是由代碼層編寫的。
優勢:對于 web開發者來說,開發方式更加熟悉;
缺點:制作場景和動畫效果不直觀,需要更多的思考。
從 WEB前端轉到H5游戲開發,首先要強化意象與抽象相互轉化的思維能力,具備從具體動畫效果中抽象化代碼控制邏輯的能力會更有優勢。選擇了游戲引擎之后,還需要全面了解該引擎的開發過程,其中有一部分需要學習:游戲引擎自我研究或者推薦的 IDE的使用,可視化場景編輯器的使用,代碼架構方法,游戲引擎 API,調試方法,部署方法。
個人認為CocosCreator產品線和文檔比較清晰,難度曲線合適,適合從web前端開發游戲。