<!-- title: 《VVVVVV》删掉跳跃键，反而更上头 -->
<!-- domain: games -->
<!-- repo: TerryCavanagh/VVVVVV -->

# 《VVVVVV》删掉跳跃键，反而更上头

一款 2010 年问世的平台跳跃游戏，十六年过去还在各平台付费在售，源码就在 GitHub 上任你看。今天挖的是 `TerryCavanagh/VVVVVV`——顶级独立开发者 Terry Cavanagh 的成名作。它对想做小游戏变现的开发者最值钱的地方不是情怀，而是一堂狠课：**把玩家最熟悉的那个按键删掉，游戏反而更上头**。机制做减法、留存做加法，这套思路任何体量的团队都抄得走。

## 仓库档案

- **名称**：VVVVVV
- **仓库**：github.com/TerryCavanagh/VVVVVV
- **作者**：Terry Cavanagh，爱尔兰独立开发者，个人站点 distractionware，一人完成核心设计与代码；后来凭高分闪避游戏 Super Hexagon 再度出圈。配乐来自 chiptune 音乐人 SoulEye，芯片音乐至今仍是玩家津津乐道的记忆点
- **语言**：C++，渲染与输入直接压在 SDL2 上，没有商业引擎（据仓库页面）
- **出身**：2010 年以 Flash 版（ActionScript/Flixel 框架）首发；2020 年初，作者在游戏十周年之际把 C++ 重写版的源码放上 GitHub（据作者当时公告）
- **License**：自定义非商业许可——代码可以读、可以改、可以研究做模组，但不能拿去商业发行，美术与音频素材不在开放范围内（以仓库 LICENSE 文件为准）
- **状态**：开源后版本号继续往前走，作者与社区协作合入了不少现代化修正（据仓库发布记录）
- **购买**：Steam、GOG 等平台至今付费在售，另有 3DS、PS Vita 等掌机官方移植版（据商店页）

## 这游戏是什么

一句话：**一款没有跳跃键的平台游戏——你唯一的动作是翻转重力，让人从地板“掉”到天花板上，在一座满是尖刺的太空设施里穿行，找回失散的五位船员。**

先想清楚这件事有多反直觉。平台游戏四十年的肌肉记忆就是空格键，玩家看到缺口的第一反应是跳。VVVVVV 把这个反应拦腰砍断：你只剩左、右和一个“翻转”键。按下去，重力反向，你贴着的地面变成天花板，下坠方向整个掉头。所有的移动、所有的解谜、所有的死法，全部从这一个动词里长出来。

游戏是一屏一房间的结构：每个房间刚好一块屏幕大，尖刺、开关、缺口排布得像一间间小型密室。碰到尖刺立刻死，但复活点（检查点）密到近乎奢侈，死后瞬间弹回来，死亡次数会被游戏老老实实记在一本账上。主线之外散落着二十个可捡可不捡的“小饰品”，收齐足够多还能解锁隐藏关。标题画面里藏着一个无尽模式 Super Gravitron——单屏、无休止的弹幕、只拼分数，还能解锁不同角色。主线通关只要两三个小时，但大量玩家在这无尽模式里耗掉的时长远超主线。

玩家核心循环如下：

```mermaid
flowchart TD
    A["进入新房间"] --> B["读屏：刺在哪，缺口在哪"]
    B --> C["左右移动，一键翻转重力"]
    C --> D{"碰到尖刺？"}
    D -->|"死了"| E["弹回检查点，死亡数加一"]
    E --> B
    D -->|"过了"| F["开机关，救船员，捡饰品"]
    F --> G{"这层想收的收齐没？"}
    G -->|"还没"| A
    G -->|"齐了"| H["解锁隐藏关，去无尽模式刷分"]
    H --> A
```

注意左边那个小圈：死、弹回、再读屏。它每转一圈只要几秒钟，玩家根本没时间产生“算了吧”的念头。

## 为什么上头

**第一，机制做减法，把认知预算全部挪到执行上。** 大多数游戏死在“玩家还没学会规则”。VVVVVV 只有一个动词，新手十秒上手；但正因为规则少，玩家的全部注意力都花在“这一下什么时候按”上。认知负荷极低、执行精度要求极高——这正是街机黄金时代《Flappy Bird》们验证过的成瘾配方：门槛低到没有借口，精通深到没有尽头。

**第二，死亡不是惩罚，是节拍器。** 一般游戏死了扣血、回档、弹结算页，玩家被拉出心流。VVVVVV 把死亡做成游戏节奏的一部分：复活点密，重生零成本，死一次只损失几秒。更狠的是它那个死亡计数器——你死了多少次，游戏替你记着，不嘲讽也不惩罚。结果这个数字变成了玩家之间的社交货币：晒死亡数、比谁死得少、笑谁死得离谱。把失败明码标价又不收利息，玩家的挫败就转化成了谈资和“再来一把证明自己”的冲动。这个设计成本几乎为零，却被无数小游戏忽略了十几年。

**第三，检查点密度就是挫败管理。** 每个挑战单位被切得极小：一个房间、一条路径、一个机关。“就差一点”的心理钩子在小单位里被放大到极致——你都走到这儿了，死一次算什么，再来。对比那些死亡回档五分钟的游戏，VVVVVV 的玩家永远处在“马上就能过”的状态里。留存不是靠内容量堆出来的，是靠把失败成本切薄切出来的。

**第四，一屏一局，街机式重开。** 每个房间就是一局完整的迷你挑战：读屏、执行、过关或死。这个结构天然适配碎片时间，也天然适配速通和主播解说——“这个房间我死了一百次”是天然的节目效果。房间制还有个隐藏红利：难度曲线可以按房间精细雕刻，卡住玩家的永远是“刚好够不着”的那一档，太难劝退、太简单无聊，VVVVVV 的曲线稳在心流通道正中央。

**第五，收集品是自选难度的旋钮。** 二十个饰品不强制收集，藏在主线必经之路以外。想要挑战的玩家自己去钻那些明显“不对劲”的死角——游戏不用做难度选项，收集欲自动把玩家分成了休闲党和自虐党。收集本身还有进度感：每捡到一个，都像从这座设施里多抠走了一块秘密。

**第六，无尽模式兜底长线留存。** 主线通关后玩家没有理由离开——因为 Super Gravitron 在等着：单屏弹幕、纯拼分数、可解锁角色。内容量一次就消费完了，高分榜能再消费几十次。两三个小时的内容撑起十几年的复购，靠的就是这个结构。

## 技术拆解

这个仓库最大的看点，是它完整记录了一条“游戏怎么活过引擎的死亡”的路线：

- **Flash 到 C++ 的重写史。** 原版 2010 年用 ActionScript + Flixel 框架写的，Flash 平台后来死透了。作者没有修补，而是用 C++ 从头重写，渲染和输入直接落在 SDL2 这层最薄的跨平台抽象上——没有商业引擎、没有重型中间件，依赖少到源码一个下午能翻完。对开发者的启示很直接：引擎会过时，游戏设计和数据不会；把玩法逻辑和具体引擎解耦，你的游戏才有可能活过平台更替。
- **关卡是数据，不是代码。** 房间布局、尖刺位置、对白、剧情触发，全部是数据驱动，剧情和机关靠一套内置的文本脚本系统推进（源码里那些 say、ifflag 一类的指令一目了然）。这意味着改一段剧情、调一个机关不需要重新编译逻辑，做模组、做本地化、做换皮都有了着力点。这是中小团队最该抄的一条架构纪律。
- **老派而可靠的主循环。** 逻辑走固定步长、渲染独立的经典写法（原作 Flash 时代就这个传统），换来的是各平台手感一致——这对一个“一下按键定生死”的游戏是命根子。想做平台跳跃类，这套时序纪律比任何物理引擎都重要。
- **检查点与瞬时重生的状态快照。** 死亡重开之所以能做到无感，是因为状态存取被做得极轻：回到检查点只恢复最小必要状态。把它抽象出来，任何“短局+高重开频率”的游戏都用得上。
- **开源后的社区红利。** 源码公开后，社区和作者协作合入了一堆现代化修正：祖传 bug、宽屏支持、新平台的适配（据仓库发布记录）。闭源十年没人修的老游戏，开源后反而更新得更勤——对个人开发者，这是“把维护外包给社区”的活教材。
- **可直接搬走的四个件**：房间制状态机；文本脚本驱动剧情机关；轻量检查点快照；死亡计数器（传播钩子，几行代码的事）。

要说局限也直说：这是 2010 年代审美的代码库，没有现代构建工具链的花哨，部分注释风格相当“作者个人”。抄结构，别抄字面。

## 变现观察

**这个仓库的变现路径和开源游戏常见的故事正好反过来。** 大多数开源游戏是“先免费求关注，再想办法收钱”，VVVVVV 是先靠成品在 Steam 等平台卖了多年、确立商业成功之后，才在十周年把源码当礼物送出来。代码开源是公关与传承，成品收费是生意本身——两者泾渭分明。它至今仍在 Steam、GOG 等平台付费在售，还以官方移植版的方式上过 3DS、PS Vita 等掌机（据商店页），一款两个多小时流程的小游戏卖了十六年。

对个人开发者，这本账有四个可拆的点：

1. **买断制小游戏的寿命不在内容量，在可重玩结构。** 两三小时的主线能卖十六年，靠的是房间制短局、密检查点、可选收集、无尽模式这四件套。你的小游戏加不加这四件，复购曲线是两个物种。
2. **平台长尾是被低估的收入。** 老游戏搬进新渠道（掌机、移动端、新商店）几乎是零内容成本的再发行。个人开发者做完网页版，打包上 Steam 和移动商店的双通道，是被反复验证的路径。
3. **源码开源不等于收入开源。** 它的许可是精心设计的：代码随便读随便学，社区热度归仓库，商业发行权牢牢留在作者手里。想用开源换流量的开发者，许可证这一课必须先补。
4. **反过来警惕**：这条路要求游戏本身立得住——机制独占、手感独占。如果你的核心玩法可以被三行代码抄走，开源就是裸奔。先确保“手感是你的护城河”，再谈开放。

## 给我的灵感

**1. 一键机制换皮，做中文题材的单键小游戏。** 把“翻转重力”这个动词换成别的单一动词——贴墙、变重、时间倒退一秒——套进中文场景：写字楼里攀爬通风管道的外卖员、深夜电梯井里的维修工、背着重物上学的山里孩子。一屏一房间、密检查点、死亡计数器全套照搬。美术用色块和像素就够，因为单键游戏的卖点是手感不是画面。MVP 两周。变现走微信/抖音小游戏：插屏广告加激励视频（看广告原地复活，正好接住“就差一点”的心理），单键品类在小游戏平台是被验证过的成熟品类。

**2. 给你手里已有的小游戏做“死亡节奏改造”。** 一周工作量，三刀下去：复活点加密到“死亡只损失几秒”、加一个死亡计数器、把结算页从死亡流程里删掉。再配一张带死亡数的分享卡片——"我用 847 次死亡通关了”，玩家会替你发朋友圈。变现接去广告内购和分享解锁皮肤，裂变成本几乎为零。这是本文所有机制里性价比最高的一件，没有之一。

**3. 给任何关卡制小游戏抽一个“无尽模式”。** 学 Super Gravitron：单屏、随机化、纯计分、可解锁角色，三天到五天就能从现有素材里拼出来。它解决小游戏最头疼的问题——内容消费完之后的流失。变现接排行榜和每日挑战（固定随机种子，全球同一关），留存和广告展示次数一起涨；要更狠一点，每日挑战的成绩卡直接带二维码传播，排行榜本身就是裂变渠道。

三个点子共用同一套底座：房间制状态机加轻量存取。先把底座抽成独立模块，第一个游戏做完，后两个都是换皮级别的迭代。

## 上手

- 仓库：https://github.com/TerryCavanagh/VVVVVV （自定义非商业许可，重点读房间结构、内置文本脚本和主循环时序）
- 购买/试玩：Steam 有正体与试玩版（据商店页）；GOG、移动端商店均可购入
- 建议动线：先通一关主线，专门感受检查点密度和死亡节奏 → 再打十分钟 Super Gravitron，体会无尽模式怎么兜住留存 → 然后读源码里“关卡即数据”的那部分 → 挑上面任一点子动手

一个删掉了跳跃键的平台游戏，把“少即是多”从设计格言变成了十六年的收银机。对想入局小游戏变现的开发者，它证明的从来不是复古情怀，而是一条朴素的账：玩家上头的是手感和节奏，不是你堆了多少内容。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
