LAB STORE
/ 2026-05-13
Mash Storm
// daily · 2026-05-13 · #08

Mash Storm 连击风暴

GO 节奏建造

▶ 立即试玩 // play in browser

↗ open in new tab

📖 上手教学 // how to play

快速连按 SPACE 维持风暴范围,停手超 3 秒 = 风暴消散。

启动方式

双击 build/index.html → 按 SPACE 开始 → 持续连按 SPACE 维持风暴

怎么玩

  • 屏幕中央英雄
  • 周围不断飞来敌人
  • 你按 SPACE 一次 = 风暴半径 +12,连击 +1
  • 不按 = 风暴每秒缩小 80px
  • 风暴范围内敌人自动死
  • 连击 30/60/90... = 居中飘字 MASH!
  • 连击间隔超过 3 秒 = Game Over

操作

输入行为
SPACE keydown扩大风暴 + 连击+1 + 击杀范围内敌人
不按风暴缩小 + 超 3 秒消散

得分

  • 单次击杀:10 + 连击 × 2
  • 连击 30:70 分/击杀
  • 连击 60:130 分/击杀
  • 连击 100:210 分/击杀

调参

CONFIG

  • STORM_GAIN_PER_TAP:每按一次扩大量
  • STORM_DECAY_PER_SEC:每秒衰减
  • STORM_MAX_RADIUS:最大半径
  • MASH_TIMEOUT_MS:超时(默认 3000)
  • ENEMY_SPAWN_INTERVAL_MIN/MAX:敌人生成
  • RAMP_PER_SEC:难度递增

参考来源

  • itch.io PRESS-HOLD-RELEASE
  • Steam Big Band Survivors(生存+节奏)
  • Steam Nova Survivors(自动攻击 survivor-like)

📊 评分维度 // verdict

30秒可理解9
操作反馈9
核心循环9
复玩动力8
爽感8
策略空间7
开发完成度8
商业扩展潜力8

🚀 扩展路径 // what's next

1. 好玩证据

第一个 30 秒:看介绍 → 按 SPACE → 出现金色风暴 → 持续按 → 看到风暴扩大 + 敌人爆炸 → 想"再按快点"。

正反馈:按键瞬间风暴扩大 + 击杀粒子 + 音调爬升,每次按键都有可见结果。

第二局动机:MAX COMBO + SURVIVED 双数字挑战;手速进步可见。

最强爽点:连击 100+ 时风暴覆盖大半屏,整个屏幕在爆炸,按键音尖锐到刺耳。

最弱断点:手累,连按 1 分钟后玩家可能手指酸痛。

待验证

  • 平均每局生存时长
  • 平均 MAX COMBO
  • 玩家手酸阈值
  • "停手即死"是否制造焦虑还是兴奋

2. 核心体验定义

玩家通过 [键盘快速连按 SPACE],
不断获得 [风暴可见扩大 + 范围内敌人击杀 + 连击音调爬升],
为了 [挑战最大连击 + 最长生存],
逐步形成 [节奏感(不只是手速)+ 不能停顿 的心理压力]。

3. 三个变体方向

A. 武器升级(Weapon Tier)

  • 验证:每 50 连击解锁新武器
  • 改:50 连击 → 双倍击杀;100 连击 → 风暴外圈伤害;200 连击 → 弹幕反射
  • 时间:1 轮
  • 成功:玩家有动机刷连击解锁
  • 失败:升级让"按住"性价比超过"连按"

B. 双键模式(Dual Key)

  • 验证:A 键 + L 键交替按(左右手协调)= 双倍效果
  • 改:检测交替输入,连续同键按 = 半效果
  • 时间:0.5 轮
  • 成功:玩家形容"像打鼓"
  • 失败:协调难度过高

C. 节奏 BPM 模式(BPM Mode)

  • 验证:屏幕底部有节拍线,按对节拍 = 完美爆发
  • 改:节拍按出现 BPM 80 → 渐快到 200
  • 时间:1 轮
  • 成功:BPM 模式刷新的关卡感
  • 失败:BPM 限制反而让玩家不能按更快

4. 两个美术方向

A. 末日战神(Doom Fury)

  • 风格:暗红黑 + 火焰风暴 + 金属敌人
  • 适配:连击风暴 = 战神模式
  • 用户感受:愤怒、爆炸、肾上腺素
  • 成本:低
  • 商业化:高(皮肤包)
  • 风险:调性偏激

B. 樱花武士(Cherry Samurai)

  • 风格:粉黑配色 + 花瓣特效 + 浮世绘武士
  • 适配:剑舞 = 樱花飞舞
  • 用户感受:优雅、专注、节奏
  • 成本:中
  • 商业化:高(节日皮肤)
  • 风险:调性与"连按"暴力感反差

5. 一周垂直切片

目标

让一个不知情玩家在 5 分钟内玩 ≥ 3 局,达到 MAX COMBO ≥ 50。

必做

  • STORM_DECAY / MASH_TIMEOUT 调优
  • 武器升级 v1(3 级)
  • 触屏 hold = 连击 模式(解锁移动端)
  • localStorage MAX COMBO
  • 难度模式(Easy/Normal/Hard)
  • 分享按钮

不做

  • 联网排行榜
  • 账号
  • 付费内容
  • BGM

试玩

5 名不知情玩家,5 分钟。记录:MAX COMBO / 自发评论 / 手是否酸。

3 个亮点

  • "停手即死"是稀缺设计
  • 手速直接 = 武器威力
  • 视觉爆发感强(截图友好)

验收

5 人平均 MAX COMBO ≥ 50,≥ 3 人续玩,≥ 1 人分享,≤ 2 人说手累。

6. 下一步执行任务

请基于 E:\project513\prototypes\2026-05-13-08-mash-storm\ 执行扩展验证 v2。
本次只验证 [STORM_DECAY + MASH_TIMEOUT 各三档对比]。
不要加商业化。
完成后输出新版原型、对比报告和最终推荐配置。

💡 设计文档 // design

一句话核心

快速连按 SPACE 维持风暴,停手即死

设计哲学

1. 「停手即死」是稀缺 failure

513 系列前 7 个都是"做错事失败"(撞到、漏过、错按、超时、堆满、步数耗尽)。本作首次让"不行动"成为失败方式——玩家被迫一直做。

2. 手速 = 直接武器

连按越快,风暴越大,杀敌越多。物理操作直接映射到游戏奖励,最纯粹的爽感。

3. 衰减机制让节奏紧

风暴每秒衰减 80px,相当于每秒需要按 ~7 次才能维持。这是有挑战性的连按节奏,但不至于让玩家精疲力尽。

4. 无 HP,纯节奏失败

玩家不会被敌人撞死,只会被自己手停下死。这让失败的责任完全在玩家,而非"我反应不够快"。

5. 30 秒可懂

SPACE 按起来 → 屏幕出现金色光环 → 越按越大 → 敌人进光环死 → 不按光环缩 → 3 秒不按 GG。

6. 不做的事

  • 不做敌人攻击(玩家只死于连击中断)
  • 不做关卡
  • 不做账号/商店/BGM
  • 不做血量条(用风暴半径 + 倒计时条代替)

数值结构

风暴公式

每帧风暴半径变化:
+ 玩家按下:+12
- 自然衰减:-80 * dt(每秒 -80)

维持稳定半径需要:每秒 ~7 次按键
扩大半径需要:每秒 8+ 次按键

得分公式

gained = 10 + floor(combo * 2)
连击 50:110/击杀
连击 100:210/击杀
连击 200:410/击杀

线性增长,避免指数爆炸。

失败超时

MASH_TIMEOUT_MS = 3000ms
不按超过 3 秒 = 风暴消散

3 秒是平衡点:足够喘息切换姿势,但又紧到不敢松懈。

难度递增

敌人 spawn 间隔 = base * max(0.3, 1 - elapsed_sec * 0.015)
敌人速度 = base * (1 + elapsed_sec * 0.05)

视觉

元素实现
背景中央高径向渐变(紫色调)
星空80 颗向左飘
英雄中央黄红渐变球 + 旋转剑
风暴多层径向渐变(黄→橙→红→透明)+ 金边发光
敌人6 边不规则多边形 + 渐变色
击杀粒子12 个同色粒
飘字+N 黄色 + MASH! 大金字
屏幕震动shake 变量
超时条屏幕底部红橙渐变横条(DOM)
闪屏失败时红色覆盖

音频

WebAudio:

  • 按键:square 220 + combo×8 Hz,0.04s
  • 失败:sawtooth 80Hz,0.6s

按键音随连击爬升,是手速反馈的核心。

复玩动力

  • MAX COMBO:单数字挑战
  • SURVIVED:生存时长
  • 手速可见提升:每局都比上局按更快更久
  • 难度递增:每秒都更紧张

还可扩展

  • 武器升级(每 100 连击解锁 / 攻击范围 / 衰减减半)
  • 特殊敌人(弹反 / 加速 / 大型)
  • BPM 模式(按特定节奏触发更高效)
  • 双键模式(左右手交替按 / 节奏配合)
  • 排行榜

🧪 自测报告 // playtest

环境

  • 任意现代浏览器 + 键盘
  • 双击 build/index.html

测试项

1. 启动

  • node --check 通过
  • ✅ HTML 闭合

2. 一局完整路径

  • 打开 → 介绍页 → 按 SPACE 开始
  • 英雄出现中央,超时条 100%
  • 按 SPACE → 风暴出现 + 连击 +1
  • 持续按 → 风暴扩大 → 范围内敌人击杀
  • 停按 → 风暴缩小 + 超时条减少
  • 超时 3 秒 → 失败 + 红闪 + 结算
  • SUMMON AGAIN → 重置

3. 关键逻辑

  • mash():combo++ + stormRadius += GAIN,检测所有 enemies 距离
  • update(dt):stormRadius -= DECAY * dt(与帧率无关)
  • 失败判定:now - lastMashAt > MASH_TIMEOUT_MS
  • e.repeat 过滤长按重复触发
  • 难度递增:spawn 间隔 + 速度按时间

4. UI 反馈

反馈实现
风暴可视化多层径向渐变 + 金边 shadowBlur
击杀粒子12 个同色粒
飘字+N 黄字
大连击居中 80px MASH!
屏幕震动shake 变量
超时条DOM 底部横条
失败闪屏全屏红色覆盖
按键音square 频率随连击升
失败音低频 sawtooth

评分

指标分数依据
30 秒可理解9按 SPACE = 显然,超时条直观
操作反馈96 重反馈 + 音调爬升
核心循环9按-扩-杀-持续 紧凑
复玩动力8MAX COMBO + 生存时长双挑战
爽感8连击+大风暴+击杀的连环爽
策略空间7需要节奏感(不只是手速)
开发完成度8387 行、语法通过
商业扩展潜力8武器升级 + 特殊敌人 + 双键模式好扩

8 维平均:8.25

候选矩阵:

  • 可玩性 (30): (9+9+9+8+8+7)/60×30 = 25
  • 好评 (25): 22
  • 核心循环 (20): 9/10×20 = 18
  • 开发可控 (15): 13
  • 新鲜感 (10): 9

总分 = 87

好玩门槛

条件阈值实际通过
综合≥ 88.25
30 秒≥ 89
核心≥ 89
复玩≥ 78
完成度≥ 78
无阻塞 bug

结论:GO

已知限制

  • 真键盘连按手感未测(用户可能手累)
  • STORM_DECAY_PER_SEC = 80 是否合适未测
  • 没有触屏支持(连按需要键盘)
  • 长按 e.repeat 已过滤但可能漏掉某些键盘