这是一款在一周之内完成立项到上线的防疫知识对战小游戏, 你玩过吗?
扫码体验 "一起来战疫"
它在上线四小时内用户数激增 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 周时间内, 完成项目从立项到上线.
来源: https://www.qcloud.com/developer/article/1593660