僅有兩名前端開發,聯機小遊戲一周內上線,如何做到?
- 2020 年 3 月 4 日
- 筆記
這是一款在一周之內完成立項到上線的防疫知識對戰小遊戲,你玩過嗎?

它在上線四小時內用戶數激增60倍,獲得新華社力薦,開發過程中僅投入2個前端開發+1個美術+1個策劃,這款小游戲裏,單機玩法、邀請好友對戰、在線匹配對戰、排行榜、背景音樂音效等功能一應俱全。
它為什麼會誕生?
年初疫情襲來,團隊作為遊戲從業者,看到周邊的人急需解疫情方方面面的信息,比如正確防控措施、醫學科普、相關法律法規……然而,大家只能從電視節目、朋友圈分享文章、社區宣傳欄等海量的渠道里汲取信息,這樣不僅內容分散,再分享給親友時也比較生硬。有沒有一種方法,快速地幫助大家抗疫知識「劃重點」,又生動有趣呢?
思前想後,團隊決定通過遊戲豐富的表現形式、微信小遊戲分享和傳播能力,來做一款寓教於樂的小遊戲,幫助大家提升對防疫知識的了解,為全面防疫戰貢獻一份力量。
遇到的難點:
這款小遊戲需要同時兼具科普價值、易玩性和傳播性,經過多次討論,決定在遊戲中策劃「好友對戰」+「個人測評考場」兩種玩法,根據構想,這款遊戲既有聯機玩法,又有單機玩法。這樣的遊戲形態固然豐富,互動傳播效果固然好,但是在實際開發中,聯機玩法對於開發者的技術要求較高,且有很大的工作量。主要難點如下: (1)以疫情防控為主題的項目,越早上線對防疫的幫助越大,時間不允許開發周期過長。
(2)聯機遊戲對於後端能力要求很高,而一般小遊戲開發團隊,很難有足夠的後端開發人力和後端開發經驗
(3)遊戲想要豐富的表現形式,音效和背景音樂是必不可少的,需要確保使用的音樂素材沒有版權問題。
解決之道:
以上困難,不只是開發這款疫情防控小遊戲的困難,也是小遊戲開發團隊經常面臨的共性困難。利用騰訊云為遊戲行業開發者提供小遊戲解決方案,可以精準解決上述痛點。
利用小遊戲聯機對戰引擎(MGOBE)提供客戶端SDK和服務端框架,通過接口級接入,使遊戲快速擁有高性能聯機能力。MGOBE是一款為各平台小遊戲、h5小遊戲提供房間管理、匹配、幀同步、狀態同步等後端服務的產品,適用於MOBA、FPS、休閑對戰、回合制等各類聯機遊戲,使開發者專註於遊戲邏輯,免去了對於服務端底層架構和網絡通信等問題的顧慮。
同時,利用雲開發(CloudBase)雲端一體化的產品能力,採用 serverless 架構,免去了小遊戲構建中繁瑣的服務器搭建和運維。同時雲開發提供的靜態託管、命令行工具 (CLI) 、Flutter SDK等能力也降低了多端開發的門檻。
在遊戲BGM中應用了正版曲庫直通車(AME),它是基於騰訊音樂娛樂集團(TME)線上背景音樂專用曲庫,結合騰訊雲存儲、內容加速分發等基礎能力,為解決內容創作過程中的正版背景音樂素材應用問題設計的 PaaS 產品。在控制台使用域名接入,三步完成了API 調用,便捷地實現背景音樂素材在小遊戲內的流暢播放。
具體需求具體分析:
1.房間管理
通過MGOBE的客戶端SDK接口,「一起來戰疫」小遊戲中的雙人多戰答題房間,實現了創建房間、加入房間、退出房間、解散房間、查詢房間的操作。
2.在線匹配
MGOBE提供了多樣化匹配規則設計,在控制台上使用腳本語言配置匹配規則集,生成匹配code,通過客戶端SDK的匹配接口傳入必要的匹配信息,快速實現了針對玩家屬性值的「區間分段匹配」和「誤差匹配」。
對戰遊戲關鍵一點是能讓玩家快速找到對手,在好友約戰、在線匹配基礎上,需加入機械人邏輯。MGOBE提供了一個特色能力——機械人匹配,遊戲在非高峰時期時,很難為所有真人玩家建立匹配,利用MGOBE靈活的匹配規則集,設定匹配等待時間,超時候根據配置,自動為玩家匹配機械人。
3.對戰實時通信
玩家在答題對戰中,需要在客戶端之間進行通信,以同步對方的答題和得分狀態。對於玩家之間的通信,MGOBE提供了客戶端消息發送、幀同步、通過服務端進行消息轉發的通信方式。「一起來戰疫」通過使用服務端消息轉發,實現了對局中不同客戶端之間的一個狀態同步。
4.對戰的服務端邏輯
玩家在答題對戰中,需要在服務端處理一些業務邏輯,比如判定輸贏、更新玩家數據、回檔對局結果等。「一起來戰役」用到了MGOBE的實時服務器框架,在框架內編寫機械人邏輯、調用雲函數獲取題庫、通過雲函數讀寫雲數據庫內的玩家表等數據,輕量化實現遊戲的服務端能力。
5.數據讀寫和數據存儲
在「一起來戰疫」中,數據讀寫需求頻繁,比如讀寫用戶表更新用戶答題得分、計算排行榜信息、獲取對戰的題目和答案等。這些需求都可以通過使用雲開發(CloudBase)產品能力實現。在微信的平台下,雲開發(CloudBase)提供了登錄鑒權能力和接口使用方式,可以在客戶端SDK內直接調用雲開發的雲調用功能進行數據庫訪問,也可以在服務端進行雲開發的數據庫讀寫。
6.背景音樂
實現了基本的玩法之後,就是讓遊戲的表現形式變得更生動和豐滿了。對於一款優秀的遊戲而言,合適的背景音樂和音效是必不可少的。AME開通了針對遊戲場景提供的背景音樂曲庫,本款小程序挑選了三首單曲,在AME控制台上配置之後,直接在客戶端調用api實現了音樂播放,並且完全不需要擔心版權問題。
相比傳統購買音樂版權後繁瑣的版權配置、自行搭建或購買CDN分發服務、音樂資源的存儲與防泄露等工作。AME將整個技術實現鏈路上的諸多環節簡化為一個域名,三個接口,極大縮短開發時間,規避版權風險。
總結
對於小遊戲而言,抓住市場的熱點動向,快速研發上線,是小遊戲成敗的關鍵之一。藉助騰訊雲提供的小遊戲解決方案,「一起來戰疫」這款疫情防護相關小遊戲,最終實現了:2個前端開發+1個美術+1個策劃,在僅1周時間內,完成項目從立項到上線。
「一起來戰疫」藉助新華社和騰訊健康,官方、專業、及時的信息與題庫,提供了優異的遊戲交互體驗、豐富有趣的遊戲玩法,更及時地為大家普及最新的防疫相關知識,承載了高並發的壓力,實現了高質量的玩法和性能交付。
Get同款技術方案
關於以上解決方案涉及的雲產品,可以通過下面鏈接對產品進行了解和試用。並且面向疫情階段有新項目計劃的中小企業,均提供了專項補貼:
小遊戲聯機對戰引擎(MGOBE)產品文檔:https://cloud.tencent.com/product/mgobe
抗疫專項扶持計劃申請入口: https://cloud.tencent.com/apply/p/xtiaocdg059?from=11901
雲開發產品文檔: https://cloud.tencent.com/product/tcb
抗疫專項扶持計劃申請入口: https://cloud.tencent.com/solution/la?from=11876#start
正版曲庫直通車(AME)產品文檔: https://cloud.tencent.com/product/ame
抗疫專項扶持計劃申請入口: https://cloud.tencent.com/apply/p/xitk5s7nexn?from=11902


