一款基于 Three.js + TypeScript 的吉卜力水彩手绘风水上与空中滑翔竞速游戏。
本项目由《Board Race》核心竞速引擎重构复刻而来。游戏告别了冷硬的赛博工业感,转向温暖、治愈、充满自然与机械浪漫的吉卜力 / Solarpunk 水彩画风(致敬《风之谷》《红猪》《塞尔达传说:风之杖 / 王国之泪》)。
玩家驾驶一艘复古木质水翼滑翔艇(Wind Glider Skiff),在水下流动着金色焦散光斑的碧蓝海面上疾驰。通过切水漂移积蓄风之能量,展开帆布滑翔翼借助热气流腾空而起,在花瓣与蒲公英飞舞的晴空云海中穿梭古代白石拱门。
- 自动巡航:快艇自动全速前进,双侧木质水翼劈开浪花,玩家掌控转向与路线选择。
- 水面漂移蓄力(Shift):木质水刀大角度侧倾切水,激起双弧白色水幕与彩虹水雾,蓄积风能。
- 释放风能冲刺(Boost):过弯后松开漂移,帆面张满产生强烈推背感,尾部激荡环形白色气流冲击波。
- 展开滑翔翼起飞(Space):消耗风力能量石腾空起飞,在半透明风道中穿过发光的古代藤蔓石拱门。
- 空中气动制动(Air-Brake):飞行中按住 Shift 调节滑翔翼仰角,实现精准空中减速与急速变向。
- 终点与庆典:完成 7 次航道飞越后,进入黄金风向标终点站,迎来漫天花瓣、彩纸与群鸟伴飞的探索家授勋盛典。
| 键位 (PC) | 触控 (移动端) | 游戏动作 | 视觉反馈 |
|---|---|---|---|
A / D 或 ← / → |
左侧虚拟摇杆/左右轻触 | 船体转向 | 木质方向舵偏转,水翼拉出流线 |
Shift (按住) |
右下角 漂 / 刹 |
水面漂移 / 空中阻尼 | 水刀深切入水 / 帆翼扬起减速 |
Space |
右侧 飞 |
展开滑翔翼起飞 / 空中续航 | 帆布翼张开,气流托举升空,花瓣飞舞 |
Enter / Space |
屏幕点击 GO |
从 READY 界面开始 / 重新挑战 | 阳光洒满海面,3·2·1 倒计时起航 |
Esc |
顶部 跳过 |
关闭新手提示 | 沉浸式全屏竞速 |
- 渲染引擎:Three.js (r185) + 原生 WebGL GLSL Shaders。
- 物理与循环:60Hz 固定步长(Fixed-step)模拟,确定性水面浮力(5阶 Gerstner 波算法)。
- 着色器体系:
toonMaterial.ts:4阶手绘水彩渐变着色器(带手绘铅笔微抖墨线)。ocean.ts:带水下焦散(Caustics)与动态蕾丝浪沫(Foam Lace)的无缝海面。sky.ts:手绘风蓬松积雨云层与体积阳光。spray.ts&jetTrail.ts:飞舞花瓣、蒲公英种子与白色风流线粒子系统。
- 零外部重型依赖:所有船体、风帆、浮标、石门与景物均为纯代码参数化数学建模生成,秒级极速加载。
# 进入项目目录
cd /var/www/wind-glider
# 启动本地开发服务 (默认端口 5173)
npm run dev
# 生产环境构建与类型检查
npm run build
# 运行自动化测试与物理契约验证
npm run verify:release- 🤖 AI 运行手册与渐进式开发指南:
docs/llmwiki.md(为 AI 代理设计的无损上下文恢复与原子任务注册表) - 🤝 会话交接记录(Active Handoff):
docs/handoff.md(每次会话的最新完成状态与下一步接力指引) - 📋 详细开发阶段进度:见下文里程碑进度表。
- 线上发布地址(专属子域名):https://wind.hp666.cc
- Nginx 部署根目录:
/var/www/wind-glider/dist - GitHub 开源仓库:https://github.com/big-dimple/wind-glider
| 阶段 | 核心目标 | 包含原子任务数 | 当前状态 |
|---|---|---|---|
| Phase 1: 视觉基石与着色器 | 手绘调色盘、水彩Toon Shader、手绘墨线描边 | 4 个原子任务 | ✅ 100% DONE |
| Phase 2: 碧海焦散与晴空云海 | 水下Voronoi焦散、蕾丝泡沫、蓬松手绘积雨云 | 3 个原子任务 | ✅ 100% DONE |
| Phase 3: 木质滑翔艇与自然粒子 | 柚木水翼船身、帆布滑翔翼、花瓣与风流线粒子 | 4 个原子任务 | ✅ 100% DONE |
| Phase 4: 古代石门航道与终点站 | 藤蔓白石拱门、风马旗、风向标终点与花瓣庆典 | 3 个原子任务 | ✅ 100% DONE |
| Phase 5: 纸质羊皮HUD与交互音效 | 羊皮纸UI、风车充能表、水墨倒计时、破浪与风铃音效 | 4 个原子任务 | ✅ 100% DONE |
| Phase 6: 全局验证与自动部署交付 | 物理契约测试、性能压测、Nginx线上交付 | 2 个原子任务 | 🚀 线上已交付 |
💡 开发者提示:本项目遵循**单会话单任务(Single Session, Single Atomic Task)**原则,每次修改完毕后自动更新
docs/handoff.md,任何新接入的 AI 会话均可通过阅读docs/llmwiki.md与docs/handoff.md在 30 秒内无损接力开发。