首页 › games › 《Spelunky》白送的那一版,才是印钞机

仓库档案

Spelunky Classic 源码(yaauie/spelunky-classic)是《Spelunky》初代免费版的源码存档。这游戏的原作者叫 Derek Yu,美国独立开发者,画插画出身,工作室叫 Mossmouth。2008 年他把《Spelunky》Classic 版做成免费游戏放到网上;第二年,他做了一个在当时的独立游戏圈相当罕见的动作——把整个工程的源文件原样公开,任何人都能下载、拆开、改成自己想要的样子。仓库里存的就是这套 GameMaker 工程源码,语言是 GameMaker 脚本,没什么框架依赖,一个目录装下一整个游戏。Star 数与近期提交记录以仓库页面为准,此处不另列。

这个仓库的特殊性在于:它不是某个半成品 demo,而是一款后来卖出数百万份付费续作的系列游戏的“第一块砖”。免费版负责口碑,源码负责传承,真正收钱的是 2012 年的《Spelunky》HD 和 2020 年的《Spelunky 2》。看懂这条链路,比看懂任何变现教程都有用。

这游戏是什么

一句话:每次进去都不一样的 2D 洞穴探险。你操纵一个小探险家跳进随机生成的地下世界,目标是往下走,越深越好;路上挖土、放炸弹、躲尖刺、抢金币,被任何东西碰到一下就死,死了从头再来。操作只有移动、跳、攻击外加炸弹和绳索两样消耗品,五分钟能教会,一辈子学不完。

它和传统平台跳跃游戏的根本区别是“地图不留存”。每局开始,系统把一张 4×4 的房间网格重新拼一遍:房间本身是手工设计好的模板,连接方式随机,宝物和陷阱的位置随机。你上一局的肌肉记忆只能带走一部分,另一部分必须现场学。

它的核心循环长这样:

flowchart TD
    A[跳进随机洞穴] --> B[探索: 4x4房间重新拼图]
    B --> C[决策: 挖矿/炸墙/绕路/抢宝]
    C --> D{本局生死}
    D -- 生还 --> E[深入下一层 金币道具累积]
    D -- 死亡 --> G[结算 死亡回放 几分钟一局]
    E --> F{停留太久?}
    F -- 是 --> H[幽灵登场 穷追不舍]
    H --> G
    F -- 否 --> C
    G --> I[看分数与死因]
    I --> J[每日挑战: 全网同一个种子]
    J --> A

注意图里那个“幽灵”:只要你在某一层磨蹭太久,一个碰即死、无视地形的幽灵就会追上来。这个设计后面细说,它是整个循环的节拍器。

为什么上头

第一,死亡便宜,开局快。一局 Classic 大概一到五分钟,死掉按个键就重开。玩家不会为失败付太多情绪成本,反而会立刻把“死因”转成“下一局的预习”:这回我记住尖刺会从天花板上掉了。免费版年代没有成就系统,玩家自发干的事是比谁死得远、进得深。

第二,随机的是布局,不变的是规则。纯随机游戏最怕“这一把不可玩”——出口被墙封死、关键道具刷在必死点。Spelunky 用“模板拼合”解决了这个问题:每个房间都是人肉测试过的可玩单元,随机只发生在房间怎么连、怪往哪放。玩家感受到的是“每局都新鲜”,系统保证的是“每局都公平”。上头感的前提是不冤枉,这一条是地基。

第三,资源决策密度高。炸弹能炸墙抄近路,也能用来杀一群敌人;绳索能救命,但背包里就那么几根。捡不捡金像(拿了会触发机关)、追不追那袋被蛇守着的宝石,每一个选择都在“收益”和“暴毙风险”之间划价。这种小额赌局高频出现,正好卡在多巴胺系统的敏感区间。

第四,软时限逼你前进。很多游戏用倒计时催玩家,体验很糙。Spelunky 的办法是在你赖着不走之后才放出幽灵——前一分半你自由探索,超时后代价是“必死的追猎者”。玩家学到的是节奏感:贪要贪在刀刃上,探完就走。这比屏幕上跳红的倒计时优雅一个量级。

第五,也是对后来者影响最大的:每日挑战。HD 版引入的 Daily Challenge 把随机种子固定成当天日期——全世界玩家今天玩到的是同一张地图,只有一次机会,成绩上榜。这一下把单机游戏变成了没有服务器的竞技场:你可以和朋友比较同一局的表现,明天这张地图就永远消失。稀缺感+可比性+零运维成本,后来《以撒的结合》《Hades》《Slay the Spire》全都把这套抄了进去。

技术拆解

对想动手的人来说,这个仓库的含金量在“生成算法的骨架”,拆三层看:

1. 房间模板拼合,而不是纯噪声。每层是一个 4×4 网格,每个格子从模板库里取一个预制房间,房间之间打通道,出口固定在底层。模板保证了可玩性下限,网格随机保证了上限。你做任何 roguelite 都可以直接套这个思路:先手工做 30 个可玩小单元,再写一个连接器,两周内能跑通一个像样的生成器。纯 Perlin 噪声看着高级,实际做出来大概率是不可玩的地形。

2. 实体行为模型简单到可以直接抄。蛇是来回走、蝙蝠是睡着等玩家靠近再扑、洞穴水獭追人。没有状态机框架,就是几个条件分支。这套“简单规则+物理交互”叠出复杂局面:一次塌方可以同时触发蝙蝠苏醒、尖刺坠落和金币散落,涌现出设计者都没见过的名场面。做小游戏时别急着上行为树,先看看规则够不够正交。

3. 没有存档,死亡即清算。roguelike 的存档系统是最省事的那种:不做。省下来的工程量全部投进“再来一局”的顺滑度上——死亡瞬间结算、一键重开。对所有小游戏开发者这都是一个提醒:存档系统的复杂度要跟游戏时长匹配,一局五分钟的游戏做云存档纯属自找麻烦。

4. 每日挑战的实现成本被严重高估了。本质就是“用日期字符串做随机种子”。任何带随机数的游戏,加一个 seed = YYYYMMDD 的入口参数就完成了 80%,剩下 20% 是排行榜和分享文案。这是全文最值得划走前抄走的一句话。

源码本身是 GameMaker 工程,直接读脚本就能看懂每一层怎么拼、每种怪怎么动。不是你熟悉的栈也没关系,逻辑是通用的,翻译成 Godot、Phaser、LÖVE 都不难。

变现观察

Spelunky 是“免费开源做前半场,付费卖货做后半场”的教科书案例,每一拍都能对上:

Classic 免费——零门槛拿到第一批玩家和第一批传播。2008 年前后独立游戏还靠论坛口口相传,一个完全免费又耐玩的洞穴游戏是极好的传播材料。 源码公开——表面是馈赠,实际是二次传播:同人改版、玩家移植、分析文章接踵而至,游戏的曝光周期被拉长了好几年,而且全是零成本自来水。 HD 收费——2012 年登陆 Xbox 主机平台后转付费,随后上 PC,系列累计卖出数百万份。付费买的是高清画面、新内容和每日挑战,而玩家之所以愿意掏钱,恰恰是因为免费版已经把“这游戏好玩”证明过了。 2 代续作——2020 年发售,靠前两代攒下的口碑直接冲榜。

这套节奏放在今天依然是网页/独立开发者的最优解之一:网页版免费挂广告引流,itch.io 和 Steam 放带成就、创意工坊、每日挑战的付费完整版;源码或者编辑器选择性开放,把 mod 社区变成你的市场部。同类跑通的路不少见——前面聊过的开源地牢生态、卡牌爬塔的网页开源版,走的都是“免费版证明玩法,付费版收割深度玩家”的同一套逻辑,区别只在各家把钩子放在哪一层。

给个人开发者的具体启示:免费版的任务不是赚钱,是制造“欠你一个人情”的玩家。人情在先,客单价在后。

给我的灵感

1. 给你现成的小游戏加“每日种子”。你手上任何带随机性的游戏——合成、消除、爬塔、扫雷变体——加一个日期种子入口和成绩排行榜,就成了“每天全网同一张卷子”的轻竞技产品。MVP 一个周末:随机数种子改造成日期字符串,加一个本机排行榜和分享文案生成(“我今天在 1024 洞穴走了 14 层,你呢”)。变现走广告:留存和每日打开次数上来后,广告展示量是线性回报。

2. 把 Spelunky 公式搬进中文题材。随机房间拼合+软时限+资源三角,换成“下斗”题材:洛阳铲当绳索、黑驴蹄子当道具、粽子当洞穴水獭、鸡鸣灯灭不摸金当软时限(灯灭了才出鬼,跟幽灵机制严丝合缝)。题材情绪价值拉满,核心系统全部照抄。MVP 两到三周,变现可以走移动端激励视频——“看广告换一根绳索”跟资源三角完美兼容。

3. 做“模板拼合”生成器组件。把 4×4 网格+房间模板库的生成逻辑抽成独立组件(Godot 或 Phaser 插件形态),卖给同样想做 roguelite 的开发者。这个需求的痛点极其具体:人人都会写噪声,人人都做不出“可玩的随机”。源码就是现成参考实现,组件化之后在 itch.io 和各引擎商店按小工具定价卖,属于给同行“卖铲子”的生意。

上手

仓库地址:https://github.com/yaauie/spelunky-classic,Classic 版源码以 GameMaker 工程形式存放,可直接下载阅读或改造。想先玩后读,Classic 版在作者当年的发布页仍可免费获取,HD 与《Spelunky 2》在 Steam 等平台有售。建议路线:先免费版打两小时,亲身体会幽灵出场那一下的脊背发凉——然后打开源码,去数一数实现这个恐惧只用了多少行脚本。

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