作品简介与玩法
原创沙漠小镇里的 5v5 单机机器人爆破游戏。匪徒选择 A 或 B 包点安放炸弹;特警守点或回防拆弹。菜单、HUD 与提示为中文,回合语音为英文。
WASD 移动,鼠标瞄准,左键单击或按住射击,R 换弹,B 买枪;1–5 切换装备,G 丢弃,按住 E 安放或拆除炸弹。AWP 右键两档开镜;Shift 静步,C 蹲下,空格跳跃,Tab 计分板,Esc 暂停。手机横屏使用左侧摇杆与右侧触屏按钮。
开局准备 6 秒,倒计时结束后才能射击。在出生区开局 20 秒内购买。安放需 3.2 秒,炸弹 40 秒爆炸;拆弹默认 10 秒,拆弹器缩短至 5 秒。下包后匪徒全部阵亡,特警仍必须拆弹。死亡后自动观战队友,点击切换视角。
制作工具与技术栈
Claude Opus 5.5 编写了原始地图、UI、音效、材质与战斗特效;Codex 接续实现武器、角色、战术 AI、回合经济、输入与游戏主循环,并进行代码审查与浏览器验证。
Three.js 与 WebGL 渲染,Canvas 程序纹理,Web Audio 合成音效,Web Speech 英文播报。Three.js 随站点托管,加载游戏不依赖外部 CDN。
制作步骤
- 读取已有源码与交接,保留地图、界面及特效。
- 补齐七把枪、刀、三种投掷物、角色伤害与死亡。
- 接入地图寻路、进攻路线、守点、下包及回防拆包。
- 完成回合、经济、购买、计分板、观战和键鼠触屏操作。
- 验证射击与换弹、炸弹胜负判定、完整比赛及浏览器兼容输入。
关键实现要点
角色使用命中盒与射线判定,场景碰撞防止穿墙;导航使用网格 A*,烟雾遮挡视线。冻结、进行、回合结束和比赛结束构成对局状态。装备在生还后保留,阵亡后重置,胜负与击杀提供奖金。
支持鼠标锁定;浏览器不支持时自动启用兼容模式,在画面内移动鼠标即可瞄准,单击立即射击。失去焦点会暂停。触屏移动、瞄准与射击分别跟踪指针。
局限说明
当前为单机机器人对战,没有联网匹配。美术为程序生成的风格化模型,机器人使用规则与寻路,无法替代真人战术。英文播报依赖浏览器或系统语音引擎;没有英语语音支持的设备仍可看到中文提示。移动端已做触屏模拟测试,实际帧率与设备 WebGL 性能有关,可在设置中降低画质。
给 AI 的需求示例
“接续现有 Three.js 爆破游戏,保留地图与界面,补齐五对五机器人、武器和回合经济。英文语音、中文 UI。实际验证鼠标单击、换弹、下包拆包、整场重开,以及不支持鼠标锁定的内置浏览器。”
小练习
先选择简单难度的特警,购买拆弹器,观察机器人回防路线。再改用匪徒,携带烟雾弹遮挡通道后下包。对比静止、移动和蹲下时的弹道散布,以及有无拆弹器的拆弹耗时。