Skip to content

完成小游戏后选择扩展挑战 ​

从已完成的推球小游戏出发,选择一个扩展任务,并用可观察的结果验收。

先确认手里有可运行的作品 ​

推球撞方块的完整工程已经贯穿10 课主线,最终文件、安装步骤和回归要求集中在整理代码并交付小游戏。下载完整 Lua 工程。

本页以主线最终工程为扩展起点。Lua 包也不包含已经搭好的地图、UI 或资源,安装时仍要按场景搭建完成配套内容。

开始扩展前,至少确认:

  • 玩家能推动球,命中目标后只产生一次有效计分。
  • 分数归属正确,HUD 与服务端状态一致。
  • 能完成结算并开始第二局,旧归属和旧回调不会影响新局。
  • 缺少可选音效或特效时,基础玩法仍能继续。

哪一项失败,先用按现象排错恢复当前版本,再增加功能。

挑战一:换一组参数,保留规则 ​

目标:从配置修改回合时长、每次分值与目标刷新范围。

前置:完成主线配置化;知道当前配置文件由哪个模块读取。

  1. 先记录原值与预期变化。
  2. 每次只改一个参数,重新启动试玩。
  3. 完成一局,确认计分、倒计时与结束判定一致。
  4. 恢复原配置,确认仍可运行。

验收:改分值只改变每次得分,不能连带改变防抖次数;改时长后两端应使用同一结束时间。

参考配置与资源引用。

挑战二:保存个人最高分 ​

目标:当前一局结束后,更新测试玩家的历史最高分,再次进入能读回。

前置:一局成绩已经由服务端正确计算;具备允许存储的专用测试地图与账号。

  1. 先接普通最高分读写,使用独立、带版本的存储名。
  2. 测试一次较高分和一次较低分,最高分不应倒退。
  3. 验证读取失败不会覆盖已获得的局内分数。
  4. 普通存储稳定后再接排行榜,并独立处理两处写入失败。

验收:失败时玩法仍能结算;不能只根据“发起保存”日志宣称已经保存成功。

参考保存最高分与排行。本挑战不属于主线结业前置,不使用正式玩家存档练习。

挑战三:替换目标外观,保留碰撞判定 ​

目标:给目标添加新的模型或表现,同时仍由已经验证的碰撞对象决定得分。

前置:确认资源是 preset 还是 mesh,知道它的根类型和 Parent。

  1. 在实验地图加载一个真实可访问的官方 preset。
  2. 确认外观挂载、位置和清理,再接回主线。
  3. 如果换用 custom 预设,补下载失败与备用资源。
  4. 对照修改前后,检查同一命中不会重复计分。

验收:外观加载失败时目标判定仍然明确;不能因为模型“看得见”就认为碰撞配置正确。

参考官方预设、自定义预设、物理检测。

挑战四:只给命中者显示额外反馈 ​

目标:全场看到共同状态,命中者额外看到本地提示或听到短音效。

前置:服务端已经取得可信玩家,并且原有快照链可用。

先写清消息包含什么、发给谁、在哪端播放。客户端不能通过“播放成功”反向要求加分。需要多人都能看到的动画时,单独验证宿主类型和跨端可见性,不假定任意客户端动画自动广播。

验收:两名玩家轮流命中时,分数和专属反馈分别归给正确的人;没有双客户端环境时,这项标记待验证。

参考RemoteEvent、声音与特效。

新作品挑战:投篮或钓鱼 ​

这是设计任务,没有配套完整工程或可直接安装的代码包。先选择一种玩法,不同时实现两种。

要决定的规则投篮示例钓鱼示例
玩家表达的意图蓄力、释放球抛竿、收线
服务端检查回合、出手位置、冷却、命中区域区域、装备、当前阶段、操作时机
可观察成功结果进入得分区后确认得分合法收线后确认获得结果
需要拒绝的情况重复提交同一球的得分没有抛竿就请求收线奖励
第一版完成条件连续投三球,成功与失败清楚完整完成一次抛竿到收线

第一版先保留结果在内存中,玩法成立后再考虑存档。对应能力查玩家与输入、物理与触发器、UI。

新作品挑战:两人竞技场 ​

这同样是未提供完整工程的进阶设计任务,需要能验证两名真实玩家的环境。

  1. 服务端维护队伍分组、血量与胜利条件;出生位置来自编辑器预先配置且公开可查找的场景对象。
  2. 客户端只发送技能意图;服务端检查冷却、距离和目标合法性。
  3. 服务端确认命中与伤害后再下发表现结果。
  4. 明确离开、重生、平局、结算和重开时的规则。
  5. 最后拆分稳定的回合、技能、分数与 UI 模块。

当前公开 Camps/Camp 不提供 AssignCamp 或 GetCampSpawnPoint,不能把它们写进方案后再寻找实现。角色碰撞先证明 EggyUnit 类型,再经公开链反查 Player。

验收:分别验证玩家 A 胜利、玩家 B 胜利、任一玩家离开、两局连续重开;只能启动单客户端时,不能声称多人测试通过。

参考角色、控制与动画、模块生命周期。

为任何挑战写一张完成卡 ​

项填写示例
我只增加哪一项能力结算保存最高分
开始前哪个版本能运行主线最终版,已完成两局
哪些文件和场景会变化存储模块、结算调用、测试存储名
成功时看见什么重进后读回历史最高分
失败时玩家会看到什么本局成绩仍显示,提示稍后重试
怎样恢复回到改动前完整包并恢复配置
还有什么没验证平台关闭存储时的失败场景

最后重跑原有的碰撞、计分、HUD、结算、重开。新功能成功且旧功能仍可用,才算完成这一项挑战。

API 对照 ​

返回完整工程与交付,或继续查专题导航。