wpilot · jfd/wpilot
WPilot 是经典太空对战游戏 XPilot 的「概念验证」网页重制版,使用 HTML5 的 WebSocket 与 Canvas 实现浏览器端联机与画面渲染,服务端基于 Node.js,可通过 ./wpilots.js 启动。作者明确将其定位为 proof-of-concept,代码版权年份为 2...
Tower of Time 是开发者 m4v3k 为 Beginner's Jam Summer 2025 提交的参赛作品,从标题到机制都围绕「把时间当作可消耗资源」这一想法展开。玩家不是单纯堆叠火力守住路线,而是在防线被冲垮时把战场倒回若干秒之前,用已知的敌人波次信息重新安排塔位与节奏。这样一种「先失败、再回溯、后优化」的循环,让一局塔防天然带上了试错与复盘的意味,也让游戏在同类作品中有了一个清晰可辨识的立意。
玩法层面,游戏保留了塔防最基本的三件事:路线、波次与建造。敌人按波次从固定方向涌入,玩家需要在通路上布置防御设施,并用有限的能量支撑整套体系。特色在于回溯并非免费:能量既要用于造塔与升级,也要为一次时间倒转付出代价,于是每一次「重来」都成为一次真实的资源决策——是硬扛这一波,还是承认布局失败、付出代价换取重新规划的机会。这种双重消耗把塔防的静态布局问题变成了动态的资源调度问题。
防御塔按功能分化为基础炮塔、狙击塔、减速塔与溅射塔四类。基础炮塔承担稳定输出,狙击塔偏向远距离点杀高价值目标,减速塔拉长敌人在火力覆盖区内的停留时间,溅射塔则用来处理成群推进的小怪。四类塔之间没有复杂的科技树,取舍主要来自能量预算与地形覆盖,因此上手门槛低,但要在每波之间做出合理的强弱搭配仍需一些判断。README 只描述了这些塔的功能定位,并未给出数值细节与升级分支,实际体验需要通过 itch.io 上的试玩版本自行验证。
操作上,游戏同时适配键盘与手柄两套输入。移动使用方向键或手柄摇杆,动作键对应空格、PlayStation 的 Cross 或 Xbox 的 A 键,回溯键则是退格或手柄左扳机。这套映射相当克制,意味着没有依赖鼠标悬停或复杂组合键的交互,建造与选择大概率通过角色移动到对应位置后触发动作键完成,属于典型的「轻量级、可快速上手」的 jam 项目按键设计。
技术栈方面,项目基于 Phaser 3(v3.90.0)并使用 Phaser Editor v4 辅助场景与预制体编辑,语言为 TypeScript,构建工具是 Vite,包管理使用 pnpm。README 给出的目录结构清晰体现了模块划分:scenes 目录存放标题、关卡与配置三类场景,prefabs 目录集中玩家、塔与敌人等可复用实体,systems 目录承载能量、建造与配置等横切逻辑,components 目录则单独抽出输入与回溯两个组件,另有 ui 与 utils 分别处理血条菜单对话框和音效、音乐、按键等基础工具。对于想学习 Phaser 工程化组织方式的读者,这份结构本身就是一份可直接对照的参考样板。
值得单独一提的是它的开发方式。作者把项目明确定位为 AI 辅助游戏开发的「概念验证」,称约 95% 的代码由 AI 生成,使用的工具包括 Augment Code、Cursor(主要走 Agent 模式)以及 Claude Sonnet 4,并偶尔使用 OpenAI o3 与 Claude Opus 4;完整的提示词与开发过程记录在仓库的 PROMPTS.md 中。作者也在 README 里总结了经验:用 AI 做原型极快,但从原型走向成品时必须格外谨慎;AI 倾向于写出远超需要的代码量,这个项目的代码或许可以砍掉一半;给模型提供具体功能的官方文档链接能显著提升准确率;遇到卡点时让 AI 加日志并把日志回传给 Agent 是有效的排障手段;如果仍然解决不了,与其硬碰不如回滚并重写提示词。这些结论对关心 AI 协作开发流程的读者比对游戏本身更有参考价值。
获取方式上,README 顶部直接给出了 itch.io 在线试玩地址,游戏以网页形式运行,无需本地安装即可体验;源码以 MIT 许可证开放,本地运行需要 Node.js 与 pnpm,依次执行 pnpm install、pnpm dev 即可启动开发服务器,pnpm build 用于产出生产构建。README 与仓库元数据均未提及 Windows、Linux 或 macOS 的独立桌面发行包,因此桌面平台支持情况需要自行从浏览器运行的可行性去推断,暂无法确认。美术与音频资源为第三方署名素材,包括 jonik9i 的空间站素材、Robocelot 的 Ocunid 怪物、Foozle 的 Void Main Ship、Lunarnia 的像素宝石与 Screaming Brain Studios 的无缝太空背景,音乐使用了 Amnesia Fortnight 的曲目,音效来自 freesound.org,二次使用时应留意各自的授权条件。
适合学习的地方集中在三处:一是 Phaser 3 配合 TypeScript 与 Vite 的清爽工程骨架,可以当作小体量项目的起手模板;二是「时间回溯」这类需要保存与回滚游戏状态的机制,如何拆成独立的 Rewind 组件并与能量系统联动;三是一份完整的 AI 辅助开发实录,能看到提示词迭代与人工把关的边界。需要注意的则是它的 jam 属性:内容体量与平衡打磨相对有限,数值与关卡数量不宜期待过高,README 也没有提供自动化测试或长期维护承诺,把它当作可读可跑的原型而非成熟商业产品更为合适。
id Software 公开的初代 DOOM 源代码,限非盈利使用。README 说明:运行仍需...
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
Frogatto & Friends 是一款 2D 横版动作冒险游戏,主角是一只青蛙;开发团队...