一款纯前端 3D 竞技场生存游戏(survivors-like),支持单机与局域网 2-4 人组队。 驾驶幽灵战机,在不断升级的霓虹虫潮中走位、收割、叠 Combo,活到最后。
▶ 在线试玩 — 静态托管,仅单机模式;联机需按下方说明本地运行中继服务。
需要通过 HTTP 访问(ES Module 限制,双击 html 无法运行):
# 方式一:双击 start.command(macOS,自动起本地服务并打开浏览器)
# 方式二:命令行(静态页面和联机中继共用同一端口)
cd 本目录 && npm start
# 然后浏览器打开 http://localhost:8123无需联网,Three.js 已本地打包(vendor/three),Chrome / Edge / Safari 现代版本均可。
低配机器可用 http://localhost:8123/?lowfx=1(关闭辉光、降低渲染分辨率)。
- 房主运行
npm start(页面与联机中继同源,不再需要单独开放 8124 端口)。 - 所有人用浏览器打开
http://<房主IP>:8123→ 组队联机:- 房主点创建房间 → 自动生成房名(如
NEBULA-42)+ 4 位密码,点击可复制; - 队友输入房名+密码 → 加入房间 → 大厅集结 → 房主开战。
- 房主点创建房间 → 自动生成房名(如
- 联机规则:
- 每房最多 4 人;无队友伤害(架构上不存在 PP 伤害);
- 场地扩大至 160×160 单元,包含八个战术掩体、外围能源站和货箱装饰;
- 每三个区域触发一次双通道放电,红色预警后进入危险区域会减速并持续受伤;
- 敌人按推进/高潮/喘息波次生成,并按玩家轮转分配压力,出生点会避开玩家、墙体和掩体;
- 团队共享经验/等级,但每人独立选卡、独立构筑流派;
- 被击倒后 10 秒重生(半血),团灭才结算;
- 架构:房主权威模拟敌人/掉落,客机本地模拟战机与武器,伤害事件上报;
- 部署到 HTTPS 环境时会自动使用同源
wss://.../ws,避免混合内容和额外端口不可达。
| 按键 | 功能 |
|---|---|
| WASD / 方向键 | 移动 |
| 鼠标 | 瞄准(武器自动开火) |
| SPACE / SHIFT | 冲刺(带无敌帧,可穿敌) |
| Q / 鼠标右键 | 超载冲击波(能量满时清场) |
| E | 湮灭协议(碎片充能的终极大招) |
| ESC / P | 暂停(联机不可用) |
| M | 静音 |
| R | 结算界面快速重开 |
触屏设备自动启用虚拟摇杆 + 自动瞄准。
- 击杀掉落能量碎片,拾取升级,每级从 3 张强化卡中选 1 张。
- 流派羁绊(核心 Combo):每张卡属于燃烧 🔥 / 雷霆 ⚡ / 虚空 🌑 三条流派之一,
同流派投入等级越多,刷到该流派卡的概率越高;投入 4 / 8 / 13 级时觉醒阶层能力:
- 🔥 燃烧:余烬(伤害+12%)→ 爆燃(击杀爆炸)→ 焚天(所有伤害附加点燃)
- ⚡ 雷霆:迅捷(射速+12%)→ 落雷(击杀 25% 天降神雷)→ 雷神(每 5s 轰击最密敌群)
- 🌑 虚空:韧性(生命+20 护甲+1)→ 反噬(受伤释放新星)→ 吞噬(每 8s 处决周围残血)
- 武器进化:武器满 5 级 + 对应被动 → 必出金色进化卡:
- 脉冲枪 + 超频模块 → 湮灭射线(无限穿透的重型光束)
- 轨道刃 + 离子推进器 → 风暴剑域(8 刃环绕 + 全方位飞刃风暴)
- 追踪导弹 + 增幅核心 → 蜂群蜂巢(8 枚子母导弹)
- 特斯拉电弧 + 弱点扫描仪 → 天罚雷狱(12 链闪电 + 持续雷狱)
- 新星爆发 + 纳米装甲层 → 超新星坍缩(引力拉扯 + 爆发 + 护盾)
- 连锁击杀:连杀得分倍率最高 3 倍,每 15 连锁触发金色冲击波。
- 湮灭协议 [E]:拾取碎片充能的终极大招,越用充能越慢。
- 敌人谱系:追击者 → 自爆蜂(殉爆连锁)→ 疾行者 → 分裂体 → 射手 → 猎手(预判拦截)→ 重装坦克 → 织网者(减速蛛网);4 分钟后精英变体。
- 反绕圈:40% 敌人在移动前方截杀;每 48 秒虫群包围事件。
- 每 2.5 分钟一只 VOID OVERLORD(MK.II 起追加螺旋弹幕);定期空投补给舱。
- 得分自动保存最高纪录(localStorage)。
- Three.js r185(本地 vendor,importmap 引入),UnrealBloom 辉光后期(可 lowfx 关闭)。
- 零素材:音效与 BGM 全部由 WebAudio 实时合成(分层配乐随战况增强)。
- 联机:纯标准库 Python WebSocket 房间中继 + 房主权威模拟 + 客机插值/短时预测(10Hz 世界快照、20Hz 玩家位置 + 事件流)。
- 全对象池(敌人 / 子弹 / 粒子 / 碎块 / 飘字)+ 空间哈希碰撞,单帧零分配热点。
- 打击感:击杀顿帧、受击挤压形变、甲壳碎块迸溅、击杀冲击击退、屏幕震动、慢动作。
node scripts/smoke.mjs [url] # 状态机冒烟(需本地 Chrome)
node scripts/soak.mjs # 高压浸泡(全进化武器 + 全敌人 + 包围事件)
node scripts/evo_check.mjs # 进化卡出现逻辑
node scripts/route_check.mjs # 流派觉醒 + 湮灭协议
node scripts/mp_test.mjs # 联机端到端(建房/同步/伤害/重生/团灭/满员)
node scripts/mp_perf.mjs # 四人联机高负载性能回归- Three.js r185(本地 vendor,importmap 引入),UnrealBloom 辉光后期。
- 零素材:音效与 BGM 全部由 WebAudio 实时合成(分层配乐随战况增强)。
- 全对象池(敌人 / 子弹 / 粒子 / 碎块 / 飘字)+ 空间哈希碰撞,单帧零分配热点。
- 打击感:击杀顿帧、受击挤压形变、甲壳碎块迸溅、击杀冲击击退、屏幕震动、慢动作。
node scripts/smoke.mjs [url] # 状态机冒烟(需本地 Chrome)
node scripts/soak.mjs # 高压浸泡(全进化武器 + 全敌人 + 包围事件)
node scripts/evo_check.mjs # 进化卡出现逻辑本项目采用 MIT License,© 2026 黄璞。
第三方组件:vendor/three 为 Three.js r185 的本地打包副本,同样以 MIT 授权,
版权归 Three.js Authors 所有,许可证全文见 vendor/three/LICENSE。