如何开发一款小游戏 如何自己编程做游戏( 三 )


【如何开发一款小游戏 如何自己编程做游戏】

如何开发一款小游戏 如何自己编程做游戏

文章插图

分享
支付
小游戏是支持虚拟支付的 , 但目前仅适用于安卓系统中 。 且它的方式目前只有一种 , 即货币托管的方式 。 主要分为两个流程 , 一是用户花钱购买游戏币 , 这与游戏的服务端是没有关系的 。 发起支付时微信客户端会生成一个订单 , 让用户确认支付 , 这是异步的 。 平台负责把用户RMB兑换成对应的游戏币 , 存储到用户对应的游戏帐号上 。 二是使用游戏币购买道具 , 开发者可以扣除对应的游戏币 , 给用户发放游戏内道具 , 扣除游戏币的过程需要有一定的事务机制 , 保证在网络异常的情况下交易正常 。 扣除游戏币的接口支持根据订单ID去重 , 意味着在网络超时等情况下 , 开发者可用同样的订单ID去重试扣除 , 直至返回明确的响应 。
如何开发一款小游戏 如何自己编程做游戏

文章插图

支付
性能
小游戏常见的性能问题 , 一般是内存造成的 。 如果内存占用太多会被微信客户端主动关闭 , 因此开发者在用户游戏过程中要及时释放不再使用的内存 , 特别是Canvas和Image类的大型对象 , 同时可以主动调用wx.triggerGC触发底层回收对应资源 。 对于和游戏逻辑相对独立的工作 , 可以考虑在worker中去实现 , 小游戏提供了独立的worker线程执行js逻辑的能力 。
如何开发一款小游戏 如何自己编程做游戏

文章插图

性能
版本更新机制
小游戏有热启动和冷启动之分 , 冷启动是指内存中无该小游戏的运行实例的情况下 , 启动小游戏的过程;热启动是指小游戏的运行实例在内存中还存在 , 只是暂时切换到了后台 , 这时用户再次触发小游戏回到前台的过程 。 在如果用户点击启动之后 , 游戏运行时会加载出来这款游戏 。 在点击右上角的菜单时 , 按钮只是挂后台 , 在一定的时间内再启动时,它会立即恢复 , 这时内存将会释放 。
小游戏会在冷启动时检查小游戏的版本 , 如有新版本 , 在下载回本地后 , 下一次冷启动即可使用最新版 。 当然 , 我们也提供了 API可以供开发者决策在有版本可用时 , 是否需要强制更新 , 应用最新的版本 。
版本更新机制
运维
管理端提供了发布、回滚、停服等能力 , 开发者可以充分利用平台的能力 。 比如在后台操作中 , js可能会报错 。 脚本错误主要由运行过程中未捕获的异常触发 , 该类异常可能会导致用户小游戏前端的js逻辑暂停执行 。 同时 , 平台也提供了完善的数据分析服务 , 可以通过小游戏使用助手进行数据分析 。

推荐阅读