《江湖醫館》是一款由成都瓦瑞爾科技有限公司採用 Cocos Creator 開發,成都淌盈科技有限公司發行的原生手遊。
年前武漢剛傳來新冠肺炎的消息,作為醫館題材的遊戲,《江湖醫館》便響應號召,給遊戲中的醫生和員工也戴上了口罩營業。不僅如此,還與發行公司一起聯合推出了“看廣告獻愛心”活動,將玩家在活動中看廣告收益的一部分直接捐助給湖北災區。
《江湖醫館》各方面的成績也都非常亮眼,在 APP Store 國內模擬遊戲排行榜中位列第 1,免費總榜第 8 ,評分高達 4.9,廣受玩家喜愛。
遊戲背景設定在江湖之中,玩家經營一家醫館,用“中醫”為來往的各路武林大俠及百姓進行醫治。
遊戲的機制設置也非常合理,玩家只需要點點點就能獲得大量金幣,建設自己的醫館。同時又具有一定的策略性,需要思考如何才能夠讓自己的醫館賺錢,有好的發展。玩法簡單,卻令人慾罷不能。
雖然模擬經營類型的遊戲層出不窮,但從目前能夠突圍而出的作品來看,當下模擬經營類遊戲最能吸引玩家的點是--題材。《江湖醫館》是一款體驗醫館生活的經營類手遊,中醫加上古風的題材,正好擊中了當下年輕人的佛系態度及武俠情懷。
今日我們有幸邀請到《江湖醫館》遊戲製作團隊,一起來聊聊這款火爆遊戲背後的故事~
1. Hi,能否先為我們介紹下貴公司呢?
我們公司是在 2018 年 9 月份成立,名字叫成都瓦瑞爾科技有限公司,剛成立的時候,只有 3 個人,隨著公司業務的發展和壯大,目前我們公司已經有 20 個小夥伴了。
2. 請問開發的人員規模和研發佔比是怎樣的呢?
《江湖醫館》相對於我們公司之前做的其他遊戲項目來說,功能模塊更多,玩法設計上也需要花心思,所以團隊資源更多的傾斜到了這個項目組。
當時把整個團隊一半的資源分配給了《江湖醫館》項目組,不過藉助 Cocos Creator 這款成熟的引擎開發原生遊戲,各方面的成本都降低了許多。
3. 為什麼會想做一款體驗醫館生活的手遊呢?
從市場方面上來說,模擬經營類遊戲用戶門檻低,用戶黏著度高;另外玩家在遊戲的同時,一般渴望獲得更多對自己有幫助的內容,社會大眾一直比較重視中醫養生,所以做中醫題材容易引起共鳴。
而從情懷方面來說,我們的團隊大多數是 80 後和 90 後,從小就深受武俠影視劇影響,選擇中醫題材,美術風格上我們就選擇了走古風武俠類。
4. 如何讓不懂中醫的玩家也能感受樂趣呢?
我們還原了中醫的就診方式,且基本上不需要什麼操作,所以對於沒有醫學基礎的玩家也能正常遊戲,感受中醫魅力。
另外研發團隊的態度就是尊重中醫理論,我們也是一邊學習一邊開發,做到每一個病症,每一種藥材,每一份丹藥都有史可考,有料可查,經得住推敲。
對醫學感興趣的玩家動動手,查查資料,自己發現丹藥配方,並在遊戲中獲得驗證,就會是件很有成就感的事。
5. 在開發的過程中有遇到哪些問題嗎?
當有 20 個左右的 NPC 在場景中移動時,在一些低端機上幀率很低,還會導致手機發燙。
通過各種實驗方案及排除法手段,發現是因為場景中 NPC 過多,若直接減少 NPC 的數量,會對遊戲體驗有很大影響。因此我們選擇了這種解決方案:把之前的每幀刷新 zIndex 改為了每 15 幀刷新一次。優化結果很顯著,且對遊戲體驗幾乎沒有影響。
在進行版本 1.0.1 熱更新後,下個版本需要強制更新整包,但玩家安裝新包之後,由於沒有清除上個版本的熱更資源,導致玩家還是使用 1.0.1 熱更新代碼和資源。
問題出在進行過熱更的客戶端,本地緩存了熱更的代碼和資源,在安裝新包之後,仍然使用了這個緩存的代碼和資源。
於是我們就在 main.js 文件中添加了一個段邏輯,去判斷是否需要清除本地的熱更新緩存資源,這樣我們之前已經進行過熱更新的玩家就可以正常進入遊戲,並且使用最新的代碼和資源;邏輯流程主要是在本地通過設置的 key 值讀取版本號,判斷這個版本號是否存在,如果存在就需要清除一次緩存並更新本地存儲的版本號,反之則不做任何處理。
代碼如下:
在打開一些功能界面,如遊戲中的病症圖鑑功能,即使我們已經對 ScrollView 進行了優化,使用了循環列表,但在低端機上打開界面時,仍然會有明顯的卡頓感受。
經過測試,我們發現是由於遊戲的 drawcall 指數猛增,導致了遊戲的短暫卡頓。
即使當我們已經對 ScrollView 進行了優化,不會因為數據過多而一次性創建幾十個結點,但是功能界面的設計上也需要我們至少加載 12 個結點,這已經足以讓低端機性能受影響。
我們嘗試著使用分幀創建結點的方案,也就是之前一幀需要創建 12 個結點,性能壓力比較大,現在改成了每 n 幀只創建一個結點,將性能消耗分攤,發現優化結果非常理想。
NPC 移動需要避開傢俱以及一些障礙物,移動使用了 A* 尋路方案,改動場景中的障礙物及各類傢俱的位置比較頻繁,並且這些改動會影響 NPC 的 A* 尋路功能,每次調整位置需要花費比較多的時間去調整 UI 位置以及填寫地圖數據。
由於對 Cocos Creator 編輯器相關的 API 不是太熟悉,綜合開發時間考慮,我們並沒有做一個真正意義上的編輯器拓展功能,而是新建了一個場景。
寫了一個在運行時,可以手動標記每一個格子的信息,這樣的操作非常直觀,編輯完後會輸出一個用於 A* 尋路的 json 數據表,這個功能為我們後續頻繁的修改場景佈局提供了很大的便利。
6. Creator 在原生遊戲畫面的表現力如何?
在開發 2D 項目上,Cocos Creator 開發出來的項目品質並不比 Unity 差,並且包體還能小很多;在我們的遊戲玩法中,很多地方需要給玩家代入感,比如問診,抓藥等過程的表現。
Cocos Creator 引擎提供了許多簡單實用的動畫函數,讓我們的策劃同學更多的去考慮一些玩法表現該如何設計,而不是過多的考慮實現的難度了。
7. 遊戲後期還有哪些規劃呢?
年前武漢剛傳來新冠肺炎的消息,作為醫館題材的遊戲,我們也想出一份力,戰勝新型冠狀病毒。
我們推出的“看廣告獻愛心”活動,玩家熱情很高,只用了 3 天就完成了原定 15 天的獻愛心計劃,搞得策劃和運營同學臨時加碼,捐款金額直接翻了 4 倍。(笑)
後期我們也還會繼續優化用戶體驗:
- 增加揹包系統,使得滿地的道具得到整理,操作更加便捷;
- 增加激活碼功能,可以向玩家發放小福利了;
- 加強遊戲內部各系統的關聯,以後玩家可以從劇情、信件中獲得丹藥配方,方便佛系玩家;
- 增加更多具有收藏價值的信件和更多高級的丹藥,增加中國特色的清明節皮膚。
8. 選擇Cocos引擎,您有哪些話想說呢?
目前我們團隊已經使用 Cocos 引擎開發過多款項目了。
從團隊培養和產品優勢上來看,Cocos 開發的項目包體更小,上手快,官網文檔全面,和 Unity 操作理念相似,這讓很多隻有 Unity 開發經驗的團隊轉型更快了;最重要的一點,也是我們非常看重的,能一鍵發佈很多主流平臺,我們曾經有使用過 Unity,對比之下發現 Cocos Creator 的引擎界面和操作習慣能讓我們的團隊儘快上手,我們也就果斷選擇了它。
目前發現的不足主要有引擎版本升級不太穩定,偶爾會有一些事件或者圖片引用關係丟失。
另外一點其實並不是不足,只是對於 Cocos Creator 的一個期許。就是希望 Cocos Creator 在未來的設計中能夠直接在編輯器中運行遊戲,並且場景中的結點信息能實時變化,這樣更加方便於開發者的開發調試工作。
在此 Cocos 想先感謝以上為我們提出的寶貴意見。
Creator 是一個非常複雜,並且要抹平很多平臺差異的引擎,確實我們在新版本中也比較難完美避免 bug 的引入。
細節是魔鬼,但也是 Creator 的根基,我們會繼續在效率和穩定中儘量平衡,為維護高質量的跨平臺遊戲引擎這個長期目標而努力。
升級的兼容性方面,我們也一直很重視。除了 API 的兼容,如果引擎有行為上的差異,我們都會盡量在項目中自動進行適配,確保升級後的邏輯和表現不變。否則也會在版本發佈時提供相應說明。
關於引用關係丟失,在測試版比較容易出現,正式版似乎沒有收到過同類反饋,如果有的話我們也會緊急發佈新版本進行修復的哦。如果後續還有類似的情況,歡迎在論壇吐槽,我們會高優先級改進。
另外關於對 Cocos Creator 期許,我們不得不承認,內嵌的預覽調試確實是 Creator 的一個短板。
我們已經在 Roadmap 中加入了對應的卡片,https://trello.com/c/AF96BdiL。負責人 Jare 也表示,爭取今年實現。
最後,非常感謝瓦瑞爾科技有限公司接受我們的專訪,也祝《江湖醫館》能夠取得更棒的成績!
Cocos Creator 2.3.1 Preview 已發佈,更新說明和下載地址請查看 https://forum.cocos.org/t/89385 哦。也歡迎小夥伴們繼續通過論壇、GitHub、Cocos 企業服務等渠道向我們提交使用反饋!我們希望以這樣積極的態度讓我們彼此之間的交流形成良好循環,以便更好地打磨產品。
閱讀更多 Cocos引擎 的文章