Godot 赛后结算弱网补偿:奖励可以晚到,状态不能说两套话
为什么要单独治理 一局 12 分钟的合作战斗结束后,服务端已经判定胜利并发放奖励,但客户端在结算动画期间切到弱网。玩家看到胜利镜头,点击继续却卡住;背包里奖励没出现,邮件里也没有,重新登录后奖励又突然到账。技术上看只是结算请求超时,玩家感受到的是“奖励到底有没有给”。
tag
为什么要单独治理 一局 12 分钟的合作战斗结束后,服务端已经判定胜利并发放奖励,但客户端在结算动画期间切到弱网。玩家看到胜利镜头,点击继续却卡住;背包里奖励没出现,邮件里也没有,重新登录后奖励又突然到账。技术上看只是结算请求超时,玩家感受到的是“奖励到底有没有给”。
任务不是一条数组,而是一张状态图 简单任务可以是“接取、完成、领奖”。项目复杂后,任务会有前置条件、分支对话、收集目标、击败目标、区域触发、限时阶段、奖励选择、后续任务。用一条数组或几个布尔值很快会不够。Godot 项目可以用 Resource 表达任务节点,用编辑器工具或 GraphEdit 做任务图编辑。
背景:激励视频广告为什么会变成真实问题 免费游戏里,激励视频看似简单:玩家点“看广告领体力”,广告播放完就发奖励。真正接入后才发现状态多得多:广告未加载、加载中、展示失败、玩家中途关闭、SDK 回调顺序异常、服务端奖励超时、前后台切换、同一按钮重复点击。