仅有两名前端开发,联机小游戏一周内上线,如何做到?
- 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