首页 › games › 《OpenHexagon》一个六边形,逼你一秒一局

2012年,一个做独立游戏的爱尔兰人把自己两年前的Flash小游戏改了改,扔上iPhone付费榜。三个月内,这款只有一种操作——转圈躲墙——的六边形小游戏成了当年被报道最多的独立手游之一,它叫Super Hexagon,作者Terry Cavanagh,配乐Chipzel,难度臭名昭著:大多数人第一次玩活不过十秒。

同年,意大利程序员Vittorio Romeo做了一件更值得开发者研究的事:他把这个玩法整个开源复刻了一遍,仓库叫OpenHexagon,免费、源码全开,后来还上了Steam,同样免费。据仓库页面,这个项目用C++写成,在2020年前后经历了一次彻底的v2重写,至今仍是Romeo在CppCon、C++Now等大会上反复引用的代表作。

对想入局游戏变现的个人开发者来说,这对组合几乎是教科书级的对照实验:同一玩法,付费版证明了它能赚钱,开源版证明了它能把一个程序员送进国际C++布道圈。本文拆的是后者。

仓库档案

这游戏是什么

一句话说清:你是一枚贴着中心多边形外圈跑位的小三角,墙体从六个方向一层层合围而来,你要在缝隙收拢前钻过去——活满60秒算通过一关,死亡没有惩罚动画,重来只需一个按键。

它的核心循环短到可以在一张图里画完:

flowchart TD
    A[点击开始] --> B[旋转走位躲墙]
    B --> C{碰墙了?}
    C -- 否 --> D[存活秒数累积]
    D --> E[难度阶段推进:形状从六边形缩到五边形、四边形直至一条线,转速与BPM同步加快]
    E --> B
    C -- 是 --> F[死亡:显示本局秒数与最佳纪录]
    F --> G[一键重开,一秒内回到游戏]
    G --> B
    F --> H[秒数超过纪录或通过60秒]
    H --> I[解锁更高难度与隐藏关卡]
    I --> B

注意循环里没有资源、没有抽卡、没有剧情。它把整个游戏压成了一个变量:你活了多久。所有的反馈——屏幕脉冲、色彩翻转、音乐节拍——都在为这一个数字服务。

为什么上头

1. 重开的摩擦被压到接近零。 死亡到再开一局之间没有加载、没有结算页面、没有“是否返回主菜单”。这是整个设计里最值钱的一条:行为经济学里“再来一次”的成本不只是时间,还有中断感,OpenHexagon把这两项都砍到最低。对比市面上每次死亡要过两三个界面的手游,它的单局次数天然是别人的三到五倍。

2. 目标颗粒度以秒计。 60秒的大目标被切成六段:每撑约10秒,中心形状从六边形缩成五边形、四边形,最后变成一条线,转速骤变。玩家永远处于“再撑十秒”的微目标里,失败时距离下一个台阶往往只差几秒——这正是“就差一点,再来”心理钩子的精确实现。

3. 进步感纯靠手,无法被钱替代。 第一次玩活不过八秒,一小时后能稳定过三十秒,这条成长曲线极陡又没有天花板。和抽卡的随机奖励不同,这种技巧型进步完全归因于玩家自己,归因越清晰,多巴胺越足。这也是为什么这类游戏的主播传播效果极好:观众的“你不行”和主播的“我再来”天然构成内容。

4. 音乐不是背景,是节拍器。 墙体生成模式与电子乐节拍咬合,屏幕随BPM旋转脉冲。玩家很快会发现自己不是在“看”墙,而是在用眼睛听歌——反应从大脑皮层降级到条件反射,心流通道被直接打开。把节奏同步做成核心反馈而不是装饰,是它区别于普通躲避游戏的关键一笔。

5. 攀比有统一刻度。 成绩就是秒数:可截图、可上排行榜、可被朋友用0.4秒的差距碾压。单一数值的社交攀比,比任何成就徽章系统都锋利。你在群里发一张“53秒”,等于自动发起了一场小型军备竞赛。

6. 低随机、高熟练的对局结构。 墙型由生成函数按难度参数排布,每局有变化但都可预判练习——它继承的是街机“背版”传统:输了的每一局都能复盘出“我该在哪一拍提前转”。这种可复盘性让失败本身变成训练,而不是挫折。

技术拆解

渲染层薄到可以直接照抄。 画面元素只有三类:中心旋转多边形、若干梯形墙体、一枚三角。全部程序化绘制,没有一张贴图,没有任何资源加载。搬到Canvas或PixiJS上,渲染部分就是“每帧一个旋转角度+若干路径”的数学题,一个下午能画出来。

关卡全部Lua化,这是整个仓库最值得抄的架构决定。 每个官方关卡是一个Lua脚本,脚本里定义:墙的生成pattern、旋转方向序列、难度递增曲线、相机旋转规则。引擎读脚本执行,官方关卡和社区关卡走同一套API——内容众包的大门从架构第一天就开着。网页版完全可以平移这个思路:把关卡做成JSON+生成器函数,热加载,零重启。

pattern函数化,不手工摆墙。 螺旋、交替、镜像、单边密墙……十几个生成函数按权重和当前难度被调度,随机种子一换就是新局。这意味着:内容成本约等于零,难度调节变成改几个参数,而“每日挑战”模式只需固定种子——这是把关卡从美术资产变成数据的教科书示范。

特效即数值。 屏幕旋转、缩放脉冲、颜色翻转全部由游戏状态驱动:存活时间推难度,难度推特效强度。没有一帧是“纯演出”,视觉刺激与游戏进度严格同频——这也是玩家能“用眼睛听歌”的技术原因。

状态机小得可以背下来。 菜单、游戏中、死亡、重开,reset只是还原几个变量。想给任何小游戏加上“一键重开”的顺滑感,照这个状态机抄就行。

可直接搬走的组件清单:pattern生成函数库、以秒为单位的难度曲线表、Lua(或JSON)关卡热加载、状态驱动的屏幕特效、“死亡即重开”状态机。

变现观察

原版和克隆各自跑通了一条路,这对开发者是最有价值的部分。

一句话:玩法收过钱,克隆换过名,两条路都有人走到头。

给我的灵感

点子一:周末极简复刻,直接进小游戏平台。 Canvas实现环形碰撞检测+一个pattern生成器,官方玩法的墙型函数三十行就能写完;难度曲线照抄“每10秒变形一次”。变现挂微信小游戏的插屏+激励视频。MVP工作量:1-2个周末。这是本文所有点子里离钱最近的一个。

点子二:换题材不换玩法,吃节点流量。 环形躲避的皮可以无限换:卫星绕地球躲太空碎片(航天热点)、小灯笼绕柱躲年兽鞭炮(春节节点)、红细胞绕血管壁躲病毒(科普号引流)。玩法零改动,题材决定分发渠道。MVP工作量:一个周末,成本全在一张背景图。

点子三:把Lua关卡思想抄成UGC分享码。 复刻之后加一层:把生成器参数序列化成一串短码,玩家出题、玩家破题,配合每周固定种子的“每日挑战”排行榜。UGC出杀局+统一刻度攀比,就是这个品类留存的全部答案——OpenHexagon的社区关卡生态已经替你验证过需求。MVP工作量:复刻完成后再加一周。

点子四(进阶):节奏躲避融合。 用开放版权电子乐包的节拍直接驱动pattern生成,打“节奏躲避”这个尚无头部产品的细分词,音源授权是唯一成本项。

上手

[!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学通信知识星球海报-扫码加入