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官方推薦使用 GUI操作在客戶端完成大多數場景、圖形、動畫工作,只在程式碼層編寫業務程式碼,以及一些更復雜抽象的動畫邏輯。
優勢:在動畫效果和場景的製作方面上更加直觀、方便;
缺點:由於視覺編輯器的功能繁多,學習操作有一定難度。
目前, Egret的視覺化編輯器非常簡陋,動畫和業務邏輯都是由程式碼層編寫的。
優勢:對於 web開發者來說,開發方式更加熟悉;
缺點:製作場景和動畫效果不直觀,需要更多的思考。
總結從 WEB前端轉到H5遊戲開發,首先要強化意象與抽象相互轉化的思維能力,具備從具體動畫效果中抽象化程式碼控制邏輯的能力會更有優勢。選擇了遊戲引擎之後,還需要全面瞭解該引擎的開發過程,其中有一部分需要學習:遊戲引擎自我研究或者推薦的 IDE的使用,視覺化場景編輯器的使用,程式碼架構方法,遊戲引擎 API,除錯方法,部署方法。