LAB STORE
/ 2026-05-18
Mole Tap Rush
// daily · 2026-05-18 · #01

Mole Tap Rush 30 秒打地鼠

marathon 模式 第 2 轮 · 玩法 NN=01 · 2026-05-18 · GO 8.125

物理建造5分钟闭环

▶ 立即试玩 // play in browser

↗ open in new tab

📖 上手教学 // how to play

marathon 模式 第 2 轮 · 玩法 NN=01 · 2026-05-18 · GO 8.125

3×3 网格随机弹出地鼠 / 金鼠 / 炸弹,30 秒倒计时累计刷分。

启动

双击 build/index.html

规则

  • 🐀 普通鼠 +10
  • ✨ 金鼠 +30(弹得更快)
  • 💣 炸弹 -20(别点)
  • 30 秒倒计时,每 10 秒难度档升级(初级 → 中级 → 高级 → 狂热)
  • 连续 5 击中加 +5 bonus

控制

桌面:鼠标点击 | 移动端:单指 tap

文件

  • src/index.html / build/index.html 双份同步
  • DESIGN.md 数据结构 + 状态机
  • PLAYTEST_REPORT.md / ACCEPTANCE_REPORT.md / EXPANSION_PLAN.md / CHINA_MOBILE_COMMERCIALIZATION_PLAN.md
  • JOURNEY_MAP_FEEDBACK.md / USER_PERSONA_FEEDBACK.md / ACCEPTANCE_UPGRADE_FEEDBACK.md

真实市场参考

  • Amazing Mole Hole Tap(100K+ DL / 4.3 星)
  • Hit the Mole(power-up + 多世界)
  • Whack Mole: Taps It(3 mole types)

完整调研:../../reports/2026-05-18-01-mole-tap-rush-candidates.md

🚀 扩展路径 // what's next

1. 好玩证据 / 风险评估

  • 好玩证据(已验证):30 秒爽完一局 + 4 项 Juice 真实生效 + 3 类目标的取舍策略 + 难度档加速带紧张感
  • 市场证据(已验证):Amazing Mole 100K+ DL / 4.3 星,简单打地鼠真实有量
  • 风险(待验证):5 分钟玩 10 局是否会腻?需要 7+ 类目标 + 排行榜驱动

2. 核心体验一句话定义

「30 秒决策密集型打地鼠 — 在 3 类目标的取舍中持续做出小决定」

3. ≥ 3 个变体方向

变体 A · 7 mole types + power-up(参考 Hit the Mole)

  • 改动:加 4 类新目标(速度鼠 / 装甲鼠 / 召唤鼠 / 增益鼠)+ 大锤 / freeze power-up
  • 验证问题:玩家能否识别 7 种 + 是否会触发 power-up
  • 时间:1 周
  • 成功标准:D1 留存 > 35%

变体 B · 关卡模式(27 关递增,参考 Amazing Mole)

  • 改动:菜单页加"关卡 1-27"列表 + 每关单独目标("30s 内不漏 / 击中 ≥ 50 / 0 炸弹"等)
  • 验证问题:关卡进度是否驱动留存
  • 时间:1 周
  • 成功标准:每个玩家平均通关 5+ 关

变体 C · 多人 PVP(参考 Whack Mole: Taps It)

  • 改动:异步 PVP 排行榜 + 每周 reset
  • 验证问题:竞争欲望能否驱动重复对战
  • 时间:2 周
  • 成功标准:D7 留存 > 20%

4. ≥ 2 个美术风格

风格 1 · 卡通绿色农场

  • 棕色洞穴 + 绿色草地 + 彩色 emoji mole(当前版本)
  • 成本:低(emoji + CSS)
  • 传播性:中(亲和力高)

风格 2 · 暗夜恐怖鼠

  • 紫色调 + 红光地鼠 + 哥特字体
  • 成本:中(需要 1 个像素美术)
  • 传播性:高(差异化 + 18+ 投放)

5. 1 周垂直切片

  • 核心目标:把 3 类目标扩展到 7 类 + 加大锤 power-up + 全局排行榜
  • 必做 ≤ 5 项
  • 加 4 类目标(速度鼠 / 装甲鼠 / 召唤鼠 / 增益鼠)+ 各自数值
  • 大锤 power-up(30s 内每 10s 攒 1 锤,可一击全屏所有目标)
  • 排行榜 UI + localStorage 周榜
  • 关卡进度(10 关,每关单独目标)
  • 音效(命中 / 错点 / 倒计时 / 通关)
  • 明确不做:联网 PVP / 真排行榜(用 localStorage 周榜替代)/ 道具商店 / 抽卡
  • 验收:玩家平均通关 ≥ 5 关 / D1 留存 ≥ 35% / 周榜每周有 ≥ 100 个 entry
  • 给上级 3 亮点:30s 一局短爽 + 7 类目标差异化 + power-up 大锤的"上帝一击"爽感

💡 设计文档 // design

视口

480 × 720 移动竖屏

核心循环

tap → 命中目标 → +/- score → combo +1 或 0 → 30s 累分
        ↓
   target spawn loop(每 interval ms 随机洞)
        ↓
   tier change(10s/档加速)
        ↓
   30s 时间到 → gameover

数据结构

S = {
  scene: 'menu' | 'playing' | 'gameover',
  score: number,
  combo: number,
  maxCombo: number,
  timeLeft: number,        // s
  holes: Array<{type, spawnAt, ttl} | null>[9],
  totalHit: { normal, gold, bomb },
  totalMissed: number,
  startTime: ms,
  lastSpawn: ms,
  lastTickedTier: index
}

难度档(按 timeLeft 阈值)

from(timeLeft)intervalactiveMsgold%bomb%
初级308008001515
中级206507501820
高级105206802025
狂热54206002230

状态机

menu →[click START]→ playing
playing →[rafLoop]→ playing
playing →[timeLeft<=0]→ gameover
gameover →[click RESTART]→ playing

Juice 12/4 实现

  • J1 弹分浮字floatHole() 在 src/index.html L260-270
  • J3 缩放反馈.target.hit keyframe @keyframes hit
  • J5 屏幕震动:炸弹 tap 时 .flash-screen.red 全屏闪
  • J7 难度档闪光#tier-flash 在 spawnLoop 中触发

难度 3 问

  • Q1 玩家在第 1 秒知道要干嘛?
  • 是:菜单页 3 条规则 + 实例 emoji,open 后第 1 个目标弹出立即可 tap
  • Q2 玩家在第 3 秒能否反馈"我做对了"?
  • 是:第 1 次 tap 普通鼠 +10 弹字 + 缩放消失即时反馈
  • Q3 玩家在第 30 秒能否决定"再来一局"?
  • 是:gameover 页直接 RESTART 按钮 + 击中分类 stats 激发"想破纪录"

3 问全过 → 复玩动力 8 / 策略空间 7(基线)

🧪 自测报告 // playtest

试玩路径推演(设计层)

时刻玩家行为系统反馈预期心理
0:00看菜单 3 条规则 + emoji 示例静态页"懂了"
0:02点 START菜单消失,地鼠开始弹进入战斗状态
0:03第 1 个普通鼠弹出tap → +10 弹字 + 缩放"我会玩了"
0:05第 2-3 只接连弹出tap 多个 → combo 累积"节奏感"
0:08第 1 个金鼠弹出tap → +30 金光"爽"
0:12第 1 个炸弹弹出误 tap → -20 红震"草,要看清"
0:20进中级全屏黄闪 + "中级!加速!""心跳加速"
0:25连击达 5"×5 连击!" + bonus"保持手感"
0:35进高级 + 炸弹密集红震频繁"紧张"
0:45倒计时变红"5s" 闪烁"冲刺"
0:50时间到gameover + stats"差点破 200 分"
0:55点 RESTART立刻重开"再来"

难度 3 问

问题证据
Q1 玩家在第 1 秒知道要干嘛?菜单页 3 条规则 + START 按钮,进入后第 1 个目标 < 0.8s 弹出
Q2 玩家在第 3 秒能否反馈"我做对了"?第 1 次 tap 普通鼠 +10 浮字 + 缩放 + 分数滚动
Q3 玩家在第 30 秒能否决定"再来一局"?gameover 直接 RESTART 按钮 + 击中分类激发挑战

3 问全过 → 复玩动力 / 策略空间 ≥ 7。

Juice 真实生效核对

Juice计划实现生效证据
J1 弹分浮字tap 时浮字 +10/+30/-20floatHole()tap 触发 .float 元素 1s 动画
J3 缩放反馈tap 时缩放消失.target.hit @keyframes hitscale 1→1.35→.1
J5 屏幕震动炸弹 tap 全屏闪.flash-screen.redopacity .5→0
J7 难度档闪光档变化全屏黄闪 + 字弹#tier-flash + .flash-screen.yellow进档时触发

✅ 4 项 Juice 真实生效。

静态可达

  • ✅ JS node --check PASS
  • ✅ build/index.html 双份同步
  • ✅ 单文件无外部依赖
  • ✅ 移动端 viewport 适配 480×720 无横向滚动

异常路径

路径处理
没 tap 普通鼠/金鼠自动 expire → totalMissed +1 / combo 归零
没 tap 炸弹自动 expire → 视为安全(合理)
重复 tap 同洞第 2 次 onHoleTap 见 S.holes[i]=null 直接 return
横屏切换viewport user-scalable=0 + body flex 居中 + 固定 480×720