Skip to content

About

PathForge TD 是一个网页 Canvas 迷宫式塔防游戏。

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

PathForge TD

PathForge TD 是一个网页 Canvas 迷宫式塔防游戏。玩家在网格地图上建造防御塔,塑造地面敌人的路线,同时用对空、减速、范围、毒伤、狙杀、增益和控制等塔组合应对不同波次。

当前版本包含 24 个战役关卡、8 种渐进解锁的防御塔、13 种敌人、100 个条件化成就、动态 A* 寻路、多入口出怪策略、塔作用说明 UI、下一波预览、关卡胜利后继续下一关、设置页、存档和自动化回归测试。

快速开始

环境要求:

  • Node.js 20 或兼容版本
  • npm

安装依赖:

npm install

启动开发服务器:

npm run dev

构建生产版本:

npm run build

运行测试:

npm run test -- --run

本地预览构建产物:

npm run preview

部署

本项目通过 GitHub Actions 部署到 GitHub Pages。推送到 main 后会自动运行测试、构建并发布 dist/。

线上地址:

https://itsvicoc.github.io/pathforge-td/

由于这是 GitHub Pages 项目页,Vite 的生产资源前缀固定为 /pathforge-td/。如果未来改成自定义域名或用户站点根路径,需要同步调整 vite.config.ts 的 base。

玩法概览

目标是在敌人抵达核心前消灭所有波次。地面敌人会根据当前地图和已建塔实时寻路,飞行敌人会直线接近核心。放塔不能完全堵死任一入口到核心的路径。

基础操作:

操作 说明
鼠标点击塔卡 选择要建造的塔
鼠标移动到地图 显示当前塔的作用范围和放置预览
鼠标点击地图格 尝试放置塔
鼠标点击已有塔 打开选中塔面板,可升级、出售、调整目标优先级
空格 建造阶段开始下一波;战斗阶段暂停/继续
Esc 打开暂停菜单
数字 1-8 选择 8 种防御塔
Q/W/E 设置 1x/2x/3x 速度

内容规模

内容 当前数量
战役关卡 24 个,1-1 到 8-3
防御塔 8 种
敌人 13 种
成就 100 个
测试文件 11 个

防御塔定位:

塔 定位 主要用途
箭塔 单体 前期稳定地面输出
炮塔 范围 处理密集地面敌人
冰塔 减速 延长敌人受击时间
雷塔 对空 拦截飞行敌人和漏怪
毒塔 毒伤 克制高血量、盾兵和 Boss
狙击塔 狙杀 超远距离点杀强敌
增益塔 辅助 强化周围塔群
兵营 控制 转角、核心前和汇合点控制

项目结构

.
├── docs/                 # 产品、技术、计划、平衡和发布文档
├── src/
│   ├── audio/            # 音频系统
│   ├── config/           # 塔、敌人、关卡、波次、成就配置
│   ├── core/             # Game、输入、事件、状态、资源加载
│   ├── entities/         # Tower、Enemy、Projectile、Effect
│   ├── renderer/         # Canvas 2D 渲染
│   ├── systems/          # 寻路、网格、波次、经济、存档等系统
│   ├── types/            # 共享类型
│   └── ui/               # 战斗 UI 和菜单 UI
├── index.html            # 应用 HTML 和页面样式
├── package.json          # npm 脚本和依赖
└── vite.config.ts        # Vite 配置

文档入口

开发约定

  • UI 说明优先从 TowerConfig.role / description / special / usage 读取,不在 UI 中重复硬编码。
  • 放塔成功或失败后,HUD、底部塔栏、塔说明和选中状态必须保持稳定。
  • 地图格子坐标运行中不能移动;路径预览只能改变路线显示,不能改变关卡布局。
  • 新增关卡、敌人、塔或波次后,需要同步更新测试和相关文档。
  • 调整塔、敌人、波次、关卡或经济后,需要追加 docs/Balance-Notes.md。
  • 修改架构、配置格式、测试流程、UI/美术规范或常见问题时,需要同步对应专项文档。

验证基线

提交前建议至少运行:

npm run test -- --run
npm run build

当前测试覆盖配置完整性、24 关流程仿真、波次延迟、多入口轮转、寻路、放塔合法性、投射物、敌人移动、塔行为和 UI 状态保持。

许可证

本项目使用 MIT License。

About

PathForge TD 是一个网页 Canvas 迷宫式塔防游戏。

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages