
快速连按 SPACE 维持风暴范围,停手超 3 秒 = 风暴消散。
双击 build/index.html → 按 SPACE 开始 → 持续连按 SPACE 维持风暴
| 输入 | 行为 |
|---|---|
| SPACE keydown | 扩大风暴 + 连击+1 + 击杀范围内敌人 |
| 不按 | 风暴缩小 + 超 3 秒消散 |
CONFIG:
STORM_GAIN_PER_TAP:每按一次扩大量STORM_DECAY_PER_SEC:每秒衰减STORM_MAX_RADIUS:最大半径MASH_TIMEOUT_MS:超时(默认 3000)ENEMY_SPAWN_INTERVAL_MIN/MAX:敌人生成RAMP_PER_SEC:难度递增第一个 30 秒:看介绍 → 按 SPACE → 出现金色风暴 → 持续按 → 看到风暴扩大 + 敌人爆炸 → 想"再按快点"。
正反馈:按键瞬间风暴扩大 + 击杀粒子 + 音调爬升,每次按键都有可见结果。
第二局动机:MAX COMBO + SURVIVED 双数字挑战;手速进步可见。
最强爽点:连击 100+ 时风暴覆盖大半屏,整个屏幕在爆炸,按键音尖锐到刺耳。
最弱断点:手累,连按 1 分钟后玩家可能手指酸痛。
待验证:
玩家通过 [键盘快速连按 SPACE],
不断获得 [风暴可见扩大 + 范围内敌人击杀 + 连击音调爬升],
为了 [挑战最大连击 + 最长生存],
逐步形成 [节奏感(不只是手速)+ 不能停顿 的心理压力]。让一个不知情玩家在 5 分钟内玩 ≥ 3 局,达到 MAX COMBO ≥ 50。
5 名不知情玩家,5 分钟。记录:MAX COMBO / 自发评论 / 手是否酸。
5 人平均 MAX COMBO ≥ 50,≥ 3 人续玩,≥ 1 人分享,≤ 2 人说手累。
请基于 E:\project513\prototypes\2026-05-13-08-mash-storm\ 执行扩展验证 v2。
本次只验证 [STORM_DECAY + MASH_TIMEOUT 各三档对比]。
不要加商业化。
完成后输出新版原型、对比报告和最终推荐配置。快速连按 SPACE 维持风暴,停手即死
513 系列前 7 个都是"做错事失败"(撞到、漏过、错按、超时、堆满、步数耗尽)。本作首次让"不行动"成为失败方式——玩家被迫一直做。
连按越快,风暴越大,杀敌越多。物理操作直接映射到游戏奖励,最纯粹的爽感。
风暴每秒衰减 80px,相当于每秒需要按 ~7 次才能维持。这是有挑战性的连按节奏,但不至于让玩家精疲力尽。
玩家不会被敌人撞死,只会被自己手停下死。这让失败的责任完全在玩家,而非"我反应不够快"。
SPACE 按起来 → 屏幕出现金色光环 → 越按越大 → 敌人进光环死 → 不按光环缩 → 3 秒不按 GG。
每帧风暴半径变化:
+ 玩家按下:+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:
按键音随连击爬升,是手速反馈的核心。
build/index.htmlnode --check 通过mash():combo++ + stormRadius += GAIN,检测所有 enemies 距离update(dt):stormRadius -= DECAY * dt(与帧率无关)now - lastMashAt > MASH_TIMEOUT_MSe.repeat 过滤长按重复触发| 反馈 | 实现 |
|---|---|
| 风暴可视化 | 多层径向渐变 + 金边 shadowBlur |
| 击杀粒子 | 12 个同色粒 |
| 飘字 | +N 黄字 |
| 大连击 | 居中 80px MASH! |
| 屏幕震动 | shake 变量 |
| 超时条 | DOM 底部横条 |
| 失败闪屏 | 全屏红色覆盖 |
| 按键音 | square 频率随连击升 |
| 失败音 | 低频 sawtooth |
| 指标 | 分数 | 依据 |
|---|---|---|
| 30 秒可理解 | 9 | 按 SPACE = 显然,超时条直观 |
| 操作反馈 | 9 | 6 重反馈 + 音调爬升 |
| 核心循环 | 9 | 按-扩-杀-持续 紧凑 |
| 复玩动力 | 8 | MAX COMBO + 生存时长双挑战 |
| 爽感 | 8 | 连击+大风暴+击杀的连环爽 |
| 策略空间 | 7 | 需要节奏感(不只是手速) |
| 开发完成度 | 8 | 387 行、语法通过 |
| 商业扩展潜力 | 8 | 武器升级 + 特殊敌人 + 双键模式好扩 |
8 维平均:8.25
候选矩阵:
总分 = 87
| 条件 | 阈值 | 实际 | 通过 |
|---|---|---|---|
| 综合 | ≥ 8 | 8.25 | ✅ |
| 30 秒 | ≥ 8 | 9 | ✅ |
| 核心 | ≥ 8 | 9 | ✅ |
| 复玩 | ≥ 7 | 8 | ✅ |
| 完成度 | ≥ 7 | 8 | ✅ |
| 无阻塞 bug | 是 | 是 | ✅ |
结论:GO
俄罗斯方块 lite · 7 种方块下落 · 消行得分 · 顶到顶 = GG
点击地图节点放置塔 · 自动攻击 · 10 波敌人 · 守住基地
鼠标瞄准 + 单击发射 + 3+ 同色相邻 = 消除 + 浮动消失 + 通关或泡泡触底
拖拽画几条斜板 → 按 GO → 看小球被重力 + 反射推进,落入篮筐 = 过关。
鼠标瞄准 + 单击释放 + 同级球碰撞自动合成升级 + 容器顶部红线 = Game Over
—