Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Last Beacon · 最后的灯塔

一座灯塔,一张电网。守住最后一束光。

在线试玩:last-beacon.loupengju.cc · 公开源码:stackloomdev/last-beacon

Last Beacon 是一款可直接在浏览器中玩的原创等距海岛塔防。炮塔需要通过其他设施或中继站连接到灯塔;有限的电力容量决定哪些设施能够开火。建造、连线、升级,在十波机械生物的进攻中守护海岸,最后迎战深渊巨像。

  • 三种防御设施:哨戒炮、迫击炮、寒潮塔。
  • 中继站、电网容量与自动连接;出售设施会立即重新计算下游供电。
  • 十波敌人、最终 Boss、六秒超频、三级升级、出售、暂停与双倍速。
  • 程序生成的海岛、建筑、弹道和音效,无第三方游戏素材。
  • 中英双语界面,适配桌面和手机;键盘和指针均可操作建造基座。
  • 免费,无需登录、API Key、后端、安装依赖或外部资源。
  • 最高抵达波次与通关纪录仅保存在当前浏览器。刷新会开始新的一局。

本地试玩

需要 Node.js 20 或更高版本。无需 npm install

npm run dev

打开 http://localhost:4173。若端口被占用,可使用 PORT=4174 npm run dev

点击右上角 中 / EN 切换语言。首次打开时跟随浏览器的中文或英文偏好,其他语言默认显示中文;手动选择后会在当前浏览器中记住。切换不会重开游戏,当前波次、布防、资源、选中设施和暂停状态均保留。界面、玩法说明、提示、结算与基座的辅助阅读标签都会同步切换,单文件版同样支持。

离线版与静态部署

npm run build
  • dist/ 是可部署至任意静态站点托管服务的网站。支持放在子目录中。
  • dist/last-beacon.html 是完整单文件版,可下载后直接用现代浏览器打开。CSS、逻辑、绘制代码和合成音效全部内嵌,没有 CDN 或网络依赖。
  • 声音默认关闭,点击右上角音符按钮开启。

部署到 Vercel 时导入本仓库,Root Directory 保持 ./。仓库中的 vercel.json 已指定静态站点预设(Other)、构建命令 npm run build 和输出目录 dist,会覆盖控制台中的对应设置。无需环境变量。若此前出现找不到 public 的错误,请部署包含该配置文件的最新 main 提交。

如何游玩

  1. 初始获得 180 零件和一座免费哨戒炮。
  2. 选择底部设施,再点击岛上的空基座建造。悬停或键盘聚焦基座可预览射程。
  3. 浅色线路表示已连接电网。停机设施上方会显示 !
  4. 灯塔连接距离为 3.5 格,普通设施为 3 格,中继站为 4.8 格。连接按两端较远的连接距离判断。
  5. 连接成功且剩余容量足够的设施才开火。按建造顺序分配电力;断开的设施不占容量。即使因容量不足而停机,设施仍能传导连接。
  6. 点击已有设施可升级或出售。升级会增加 1 点电力消耗;最高三级。出售返还实际投入的 70%,起始免费炮塔的基础退款为零。
  7. 电网可扩容四次,每次增加 6 点容量。
  8. 手动开始每一波。清除前九波后,获得补给、1 点容量并修复 5 点灯塔完整度。准备阶段不会自动出兵。
  9. 战斗中可开启超频:射击频率提升 80%,持续 6 秒,冷却 35 秒。可以在战斗中建造和升级。
  10. 让灯塔坚持到第十波结束。漏过的敌人会扣除完整度,深渊巨像抵达灯塔会直接摧毁它。

通常一局约 8–12 分钟(包含建造和思考时间);战斗本身因布阵、漏怪、减速和倍速而变化。

操作 按键
选择哨戒炮 / 迫击炮 / 寒潮塔 / 中继站 1 / 2 / 3 / 4
开始下一波 / 暂停战斗 Space
取消建造或选择 Esc
显示电网 G
开关声音 M
聚焦可操作控件 / 激活控件 Tab / Enter

切换到其他标签页会自动暂停正在进行的战斗,返回后手动继续。打开玩法或重开弹窗时会暂停,关闭后恢复原状态。手机布局将建造卡放在战场下方,指挥面板位于其后。

验证

npm test
npm run build

自动化测试覆盖:路径、电网断连与恢复、供电优先级、资源扣除、退款上限、暂停、倍速、超频、失败、胜利,以及使用真实预算完成全部十波的战役回归。双语测试覆盖文案和参数完整性、语言选择优先级、存储异常与动态错误提示。测试不向游戏注入无限资源。

完整验证记录见 docs/VALIDATION.md

文件结构

index.html          语义界面、帮助与结算弹窗
src/game.js         独立于浏览器的确定性战斗和电网规则
src/render.js       Canvas 2D 等距绘制与粒子效果
src/app.js          建造交互、快捷键、界面和本地纪录
src/i18n.js         中英文文案、语言检测与偏好保存
src/audio.js        Web Audio 合成音效
src/style.css       桌面与手机布局
server.mjs          无依赖本地静态服务器
build.mjs           静态目录与单文件离线构建
tests/              规则、双语和完整战役回归

GPT-6 Astra 参与说明

这是由 stackloomdev 发起、在 Codex 中与 GPT-6 Astra 迭代完成的作品。模型参与了玩法设计、程序化美术、代码实现、测试和文档;开发过程进行了独立代码审阅、规则测试与浏览器检查。这不是 one-shot 测试,也不是对所有设备的性能保证。

游戏运行时不调用任何模型或在线 API。

License

原创代码与程序生成素材使用 MIT License。署名:stackloomdev。

About

A bilingual isometric island tower-defense game. Connect the grid, build defenses, and keep the last lighthouse alive.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages