资源(three.js / 着色器)加载失败,请检查网络后重试。离线环境下无法运行。
本游戏依赖 WebGL 与 three.js,需要联网首次加载。请连接网络后点击「重试」。
游戏检测到连续异常,已暂停以保护进度。你可继续尝试或返回主菜单。
哨戒协议 NULL-07 已失效。
清除全部敌对信号,重建上行链路。
敌方护盾为半透明力场,瞄准其中央发光核心可造成双倍伤害(准星点亮即已锁定)。开火前核心骤亮充能——那是你的闪避窗口。
AEGIS 护盾(蓝条·盾形图标):先于生命吸收伤害,对爆炸伤害抗性 60%。脱战 3 秒后开始充能,且恢复速率由缓到急——起步仅 6/秒,约 4 秒内逐渐加速至最大 24/秒(受击立即重置回起步速);生命(白条·十字图标)恢复按难度配置。受击时对应模块闪烁——蓝闪=护盾在扛,红闪=掉血。
受创来源指示:受伤瞬间底部中央弹出来源铭牌(受创数值 · 敌方单位名,按敌种专属配色),同时准星四周射出方向箭头指向攻击者方位(以你当前朝向为基准,多方向受击最多同时 4 枚、约 1 秒消退)——被冷枪命中也能立刻转身反制;星爆炮自伤显示蓝色铭牌。
波内增援:标准 / 肃清难度下,一波开始后每 40 秒触发一次敌对增援(从远离你的扇区边缘空降),每次增援不超过本波初始单位数的 30%(向下取整,至少 1 名),且只抽调本波已出现的敌种——不会凭空引入本波没有的敌人;增援编成里有爆破者时其占比约五成。拖得越久压力越大;速战速决或提前退守补给站。侦察难度无增援。
补给站:扇区四向地面固定刷新点(东西=琥珀环·弹药,南北=绿环·医疗),外环脉冲+内盘填充表示充能进度,盘满刷新补给;小地图有对应颜色方框标记。站点刷出的补给不会自然消失(只有拾取才会移除);补给在场时站点暂停刷新计时,取走后重新计时。敌人死亡掉落的补给仍会在约 20 秒后过期。蓝色伤害数字=敌方友伤(可诱导敌群互相杀伤)。
手枪 / 霰弹 / 轨道步枪常规操作;星爆炮为蓄力射线武器——按住左键充能、松开瞬发射线,落点范围爆炸:四档威力(档Ⅰ即发,Ⅱ/Ⅲ/Ⅳ 需充能 0.7 / 1.5 / 2.4 秒,蓄力条在准星下方),蓄力越久伤害越高、范围越大。射击后进入冷却:间隔 1.2–2.1 秒、档位越高越长;冷却期间蓄力条整条转红、从右向左逐渐消退(右端先行熄灭,红色归零即就绪,临近就绪时急闪提示),期间无法开始蓄力。冷却独立计时,切枪不会清空。弹药稀缺:星爆炮初始仅 4 发(弹匣 4 · 无备弹),每份弹药补给 +4 发——每一发都要精打细算(各武器的每份补给量可经创意工坊 ammoPack 自定义,弹药站拾取明细会实时列出)。爆炸可触发爆破者减速与殉爆连锁;近身自伤仅 35% 且走护盾减免。蓄力中切枪 / 装填 / 暂停会取消。创意工坊中可自制新武器(含蓄力炮型与自定义枪械模型)。
五种敌对单元:哨兵(预判弹)、执行者(跟踪三连·翻越掩体)、狙击者(超远锁定·紫线预警)、爆破者(冲脸自爆·伤害极高·受击减速·可殉爆连锁)、轰炸者(曲射炮·落点预警环·波及敌我)。逐波增援+波内定时增援,清完即胜。
15 项成就、本地保存、跨局累积。完成其中 12 项即可解锁隐藏武器「GAU-2 转管机炮」。开发者模式下无法解锁:一局内首次启用会弹出确认——确认后本局成就永久锁定(中途关闭也不恢复)。
所有区块均可选,只写你需要的部分。完整骨架:
{
"name": "我的MOD",
"maps": [ 地图... ],
"weapons": [ 武器... ],
"enemies": [ 敌人... ],
"waves": { "0":[...], "1":[...], "2":[...], "3":[...], "4":[...] },
"mech": { 机制键值对 }
}
{ "name":"地图名", "desc":"简介",
"layout":[ { "k":"crate", "x":0, "z":0, "w":2, "d":2, "h":1.6, "y":0 } ] }
k:crate 箱 / cover 掩体墙 / wall 高墙 / dark 暗柱 / pillar 光柱(自带光源)。x,z 中心 ±36;w,d 宽深 .4–48;h 高 .4–24;y 抬高 0–12。最多 400 件。布局为空的地图安装时自动跳过;MOD 可完全不含 maps 区块。
{ "name":"名称", "dmg":20, "mag":12, "reserve":60, "rate":5,
"reload":1.2, "spread":0.015, "pellets":1, "recoil":0.6, "knock":1.5,
"tracer":"#7ad4ff", "vm":"pistol", "ammoPack":64,
"muzzle": { "x":0, "y":0.02, "z":-0.55 },
"model": [ { "k":"box", "x":0, "y":0, "z":-0.2, "w":0.06, "h":0.08, "d":0.5, "mat":"gun" },
{ "k":"cyl", "x":0, "y":0.02, "z":-0.45, "r":0.025, "l":0.4, "mat":"gun2", "rx":0 },
{ "k":"box", "x":0, "y":0.05, "z":-0.3, "w":0.012, "h":0.012, "d":0.3, "col":"#7ad4ff" } ],
"launcher": { "tiers":[{"dmg":80,"r":3.2}], "charge":[0.6,1.2,1.8],
"cd":[1.2,1.5,1.8,2.1], "selfDmg":0.35, "supply":4 } }
rate=发/秒;ammoPack=每份弹药补给补充的备弹数(缺省:直射=弹匣×2、蓄力炮=supply;∞ 备弹武器自动跳过)——拾取时 toast 会列出各武器明细。vm=预设外观风格 pistol/shotgun/rifle/launcher。带 launcher 即为蓄力炮:按住充能、松开发射(tiers 1–4 档伤害/半径,不足自动补齐;charge=Ⅱ/Ⅲ/Ⅳ 档充能秒;cd=各档冷却)。
model=自定义枪械模型(≤96 部件,写入后忽略 vm):部件 k=box(w/h/d 尺寸)/cyl(r 后端半径、r2 前端半径可做锥度、l 长度,默认沿枪管方向)/sph(r 球半径)/cone(r 底半径、l 高,锥尖朝枪口);x,y,z 位置 x/y ±1.5、z −2.6–1.2(-z 朝枪口,导出保留 3 位小数);旋转 rx 俯仰 / ry 左右摆 / rz 绕枪管自转(±3.15 弧度,均为部件局部轴);材质 mat=gun 暗金属/gun2 亮金属/lamp 琥珀灯,或 col 任意 #十六进制 发光色(霓虹部件)+ glow 发光强度 0.1–2(缺省 0.6)。muzzle=枪口火光位置(z 取 -2.6–0)。旧格式(仅 box/cyl + rx)完全兼容。配套 MOD STUDIO 提供可视化模型编辑与 3D 实时预览。
vm 另可取 gatling / missile。带 spinUp 即为转管机炮:warm 预热秒(满转前无法开火)、minMul 起转射速倍率、ramp 爬升至满速的秒数;过热参数 heatUp=满速每秒积热(按发结算:每发 = heatUp ÷ 满速射速 × 该发相对射速,故一轮发数 = 满速射速 ÷ heatUp,与帧率无关)、cool=停火每秒自然冷却、release=解除过热阈值——热值满格后强制停火,降到 release 以下才恢复。
带 missile 即为锁定导弹:视锥内持续瞄准 lock.time 秒完成锁定(lock.angle 视锥半角、lock.range 距离上限;目标被墙遮挡或脱离视锥会丢失),锁定前开火无效且不消耗弹药;missile=speed 飞行速度 / turn 转向率 / dmg 爆炸伤害 / blastR 半径 / knock 击退 / fuel 燃料寿命 / selfDmg 自伤比例。爆炸击退的全局倍率见游戏内 CONFIG.BLAST。
隐藏武器:把武器写成 hidden:true 可设为隐藏武器,需完成 12 项成就后才在武器栏出现(本地原版机炮即用此机制)。
{ "name":"敌人名", "shape":"octa", "color":"#ff5a1e",
"hp":80, "speed":4, "radius":0.75, "core":0.3, "dmg":10, "range":15,
"cd":1.5, "burst":1, "tele":0.4, "score":150, "sight":36, "lock":30,
"proj": { "speed":18, "homing":0, "lead":0, "avoid":false },
"kite": false, "hold":[12,30], "fireMin":10,
"suicide": { "fuse":0.6, "blastR":5 },
"mortar": { "blastR":4.5 },
"weight": 10 }
shape:octa/box/icosa/sphere/tetra。行为由字段组合:kite=狙击式保持距离(含瞄准线);suicide=爆破式冲脸自爆;mortar=曲射炮。都缺省=追击射击型。proj.homing 转向强度、lead 预判、avoid 翻越掩体。weight=增援权重。
{ "waves": { "1": [ [3,0,0,0,0], {"sentry":2,"raider":1} ] } }
键 0/1/2/3/4 = 侦察/标准/肃清/绝境/无尽。每波可为 五元组 [哨兵,执行者,狙击,爆破,轰炸] 或 对象 {"敌种id":数量}(可混用自定义敌种)。全零/空对象波 = 喘息波(无敌人,短暂间歇补给后进入下一波)。每个难度最多 40 波。
键 3(绝境)在原版基础上额外套用单体加成(生命 ×1.35 起、随波数递增,增援更密)。键 4(无尽)为程序化模式:打完你写入的预设波后不会胜利结算,而是继续按波数生成更强的波次——数量按 ENDLESS.GROW 线性增长,单体属性每波 ×(1+HP_GROW)、每 5 波再腾跃 ×1.45,敌种池随波数逐步解锁。无尽模式只存在"打到第几波"的成绩,没有终点。
{ "playerSpeed":1.2, "jumpPower":1.1, "gravityMul":0.9,
"shieldMax":50, "shieldRegenMax":24, "shieldExplRes":0.4,
"hpRegen":5, "noShield":false, "noHpRegen":false,
"weaponDmg":1.5, "weaponReload":0.8, "infiniteAmmo":false,
"enemyHp":1.5, "enemySpeed":1.2, "enemyDmg":1.3, "enemyScore":2, "enemyFireRate":0.8,
"reinforceInterval":40, "reinforceRatio":0.3, "noReinforce":false,
"fog":0.0095, "bloom":0.55 }
倍率类多 MOD 叠乘;绝对值类后者覆盖。全部自动钳制,不会写出非法数值。
单文件网页第一人称波次生存射击。
技术栈:three.js + WebAudio 合成音效 + 本地存储,无后端、无需安装、离线可跑(首次需联网加载引擎)。
本地存档:成就、最高分、生涯统计、信用点与武器改造、设置、MOD 全部保存在本机浏览器。
清理浏览器数据会一并清除进度,建议定期导出备份。
操作:WASD 移动 · 鼠标瞄准 · 左键射击 · R 装填 · 1–9 / 滚轮 切枪 · ESC 暂停 · F3+F9 hold 5s · DEV
任务计时已冻结
启用后,本局游戏将无法解锁任何成就
(中途关闭也不会恢复)。是否继续启用?