首页 › games › 《Shattered Pixel Dungeon》开源像素地牢,闷声活了十年

他把地牢开源了,玩家把钱包打开了

仓库档案

项目 内容
仓库 Shattered-Pixel-Dungeon/Shattered-Pixel-Dungeon
Star 数 数千级,据仓库页面持续上涨(以实时数据为准)
语言 Java(主力),构建工具 Gradle
License GPL-3.0
作者 00-Evan(个人开发者,组织名 Shattered Pixel)
前身 基于 Watabou 的经典开源游戏 Pixel Dungeon 的社区重制版
最近更新 据仓库页面长期活跃,保持着稳定的版本迭代节奏

这个仓库的特殊之处在于:它不是一个"想清楚变现再做游戏"的项目,而是一个先免费开源、跑了十年、最后靠玩家自愿付费和生态衍生活得很滋润的样本。对想入局游戏变现的个人开发者来说,它比任何"如何上架赚钱"的教程都有说服力——因为它把两条路都走通了:代码开源免费,钱包照样打开。

这游戏是什么

一句话说清:传统像素风的回合制 Roguelike 地牢探险游戏——你扮演一个冒险者(战士、法师、盗贼、女猎手等职业可选),从地牢第 1 层往下打,目标是闯过 26 层、击败第 5 层的 Boss 咕喽、第 10 层的 Tengu、第 15 层的 DM-300、第 20 层的矮人国王,最后在第 25 层面对终局 Boss,拿到 Yendor 阿姆ulet 完成通关。

它的玩法骨架非常"古典":

上手十秒就能学会:点哪走哪。但真正让人停不下来的,是下面这个循环:

flowchart TD
    A[开局: 选职业 + 固定/随机种子] --> B[进入新的一层]
    B --> C[探索: 搜房间 / 开宝箱 / 踩暗门]
    C --> D{遭遇敌人?}
    D -->|是| E[回合制战斗: 走位 / 喝药 / 换装备]
    E --> F[掉落物 + 经验 + 新资源]
    D -->|否| G[决策: 吃不吃 / 升级哪件 / 存不存]
    F --> G
    G --> H{活着找到楼梯?}
    H -->|是| B
    H -->|否| I[死亡: 本局清零]
    I --> J[结算: 成就 / 最深记录 / 每日挑战]
    J --> K[不服: 再来一局]
    K --> A

注意图里最关键的一条边:死亡不是出口,是入口。每一局结束,系统立刻给你看"这次死在第几层、击败过什么、达成了什么成就",然后毫不犹豫地问你"再来一局?"——这和 Kittens Game 那种慢热放置完全是两种上头路径,它上头的方式是高频、高刺激、强随机。

为什么上头

拆开看,这个游戏把 Roguelike 的上头机制用得非常教科书,每一条都能对应到具体的玩法细节:

1. 即时反馈:每一次点击都有回响。 走一步,画面上视野重新照亮一片区域;砍一刀,怪物头顶跳出伤害数字、血条变化、音效、像素粒子同时到位。它没有任何"等待感",操作和反馈之间的延迟被压到极短。对开发者来说这条最值得抄:回合制不等于反馈慢,反馈的密度才是留存的关键。

2. 随机奖励:开箱永远是多巴胺时刻。 每层随机散布的食物、药水、卷轴、宝石,你捡起来之前不知道是什么。更狠的是"未鉴定"机制——一瓶药拿到手只显示"黄色药水",喝下去可能是回血、可能是中毒。这个"赌博式鉴定"是整个系列最出名的钩子,风险和收益全在一口之间。

3. 进度感:三层进度系统互相咬合。 局内是等级和装备成长;局外是成就系统和物品图鉴(第一次见到某件装备时是"???",见过之后永久解锁说明);再加上"最深到达层数"的纪录条。单局清零,但账本永远在涨——这是所有 Roguelike 防止"死一次就卸载"的核心设计。

4. 策略深度:限制逼出决策。 背包格子有限、食物会腐烂、升级卷轴数量稀少。资源永远比需求少一截,逼你做取舍:这件护甲重但防御高,穿不穿?这张卷轴用在武器上还是留着解诅咒?深度不是靠堆系统,是靠把资源卡紧。

5. 死亡叙事:每一局都是一个小故事。 因为死亡不可逆,每局都有独特的剧情弧线:你可能因为贪一个宝箱被盗贼围殴致死,也可能靠一把+3的法杖奇迹般翻盘。玩家在社区里晒的从来不是通关截图,而是各种花式死法——死亡本身成了内容。

6. 社交攀比:每日挑战。 后期版本加入的每日挑战给所有玩家同一个随机种子,大家比谁用同样的条件走得更远。这是从 Wordle 到 Semantle 都验证过的机制:同一份考卷,才有得比。

技术拆解

这是本文最"值钱"的部分。对开发者来说,这个仓库本身就是一套公开的、经过十年打磨的 2D 回合制游戏教科书。几个特别值得研读的模块:

1. 架构:一份核心代码,全平台出包。 仓库结构是标准的"core + 壳"模式:core 目录装着全部游戏逻辑,android、desktop、ios 只是薄薄一层启动器,底层统一跑在 LibGDX 框架上。你写一个新道具、新怪物,安卓、iOS、桌面、Steam 版自动全都有。想做跨平台小游戏的,直接照这个目录结构抄即可。

2. 时间片 Actor 系统:回合制的发动机。 它没有用一个巨大的 switch-case 来处理回合,而是设计了 Actor 抽象:英雄、怪物、漂浮文字、持续伤害、燃烧的火盆,全都是注册进全局时间轴的 Actor,每个 Actor 有自己的 act() 和行动耗时(以"回合"为计价单位)。玩家走一步消耗 1 个时间片,怪物行动一次也消耗 1 个,系统按耗时排序依次执行。想给自己的回合制游戏做引擎,这个模式是标准答案——持久效果(中毒、燃烧、buff)天然就是插入时间轴的 Actor,不用写任何特殊逻辑。

3. 存档系统:Bundle 序列化。 它的存档方案朴素但极稳:一个 Bundle 类(本质是带类型的哈希表)递归序列化整个游戏对象图——当前层数据、英雄状态、背包物品、怪物位置全部存进去。存档即"把世界拍一张快照",读档即"把快照还原成世界"。小体量游戏不需要数据库,一个序列化协议 + 一个存档槽管理器就够了,这套代码可以直接平移到任何 Java/Kotlin 项目。

4. 关卡生成器:可玩性的一半来自这里。 地图生成走"房间 + 走廊"的经典管线:先撒房间、再连走廊、然后画家式地铺地形、撒怪、放宝箱,最后处理 Boss 层的特殊布局(五个 Boss 层各有专门的手工化生成器)。它还支持固定种子复现——同一颗种子必然生成同一张地图、刷出同样的怪,这是每日挑战功能的技术地基。

5. 数据驱动的 Buff / 物品体系。 所有增益减益(中毒、减速、隐身、易伤)继承自统一的 Buff 类;所有物品继承统一的 Item 类,用少量字段(等级、数量、已知与否)组合出海量的道具行为。新增一个道具基本只需要写"被使用时发生什么"。开箱即用的可复用组件清单:回合调度器、随机地图生成、Bundle 存档、Buff 栈、视野与迷雾(FOV)计算、行走动画与像素相机——这六件几乎就是任何 2D Roguelike 的全部骨架。

6. 对 AI 对手的启发。 它的怪物 AI 是简单的状态机(巡逻→发现→追击→攻击)加上寻路算法,但配合"门、暗格、视野遮挡"做出了"怪物会等你拐角、会在你逃跑时追击"的错觉。想给棋牌或策略小游戏加一个不太笨的 AI,这套"状态机 + 寻路"组合比上神经网络实惠得多。

变现观察

这是这个案例最值得反复咀嚼的地方。梳理它走过的变现路径:

第一层:本体的"公益式"变现。 游戏在 Google Play、App Store、Steam 全平台上架,本体免费、无广告、无内购。开发者的直接收入来自 Patreon 赞助页和捐赠入口——玩家用月度赞助的方式"发工资"。这条路的前提是产品足够好、更新足够久:十年稳定的版本迭代,换来了一个稳定的赞助人基本盘。据其 Patreon 公开页面,它保持着相当规模的支持者数量。这套"开源 + 赞助"在欧美独立圈是被反复验证的模式,但在国内环境偏理想主义,不适合作为主策略。

第二层:真正的现金牛——生态衍生。 因为 License 是 GPL,任何人都合法地拿这份代码做修改版上架收费,只需同样开源。结果就是这个系列长出了一个庞大的"变种宇宙":社区里活跃着几十个 Pixel Dungeon 衍生版本,有加难度的、加剧情的、改科幻题材的、改成联网的,其中不少在应用商店明码标价或带广告长期售卖。原作者的付费版也在商店里卖了十年。换句话说:开源不是放弃了变现,是把自己的玩法变成了一个可以被无数人招商加盟的品牌。整个品类因为开源而变大,蛋糕上的每一块奶油都有原作的一份声量。

第三层:同类玩法的"标准变现模板"。 回合制 Roguelike 在移动端的变现路径非常成熟:免费下载 + 插屏/横幅广告 + 激励视频(死亡后看广告原地复活一次、看广告领开局礼包)+ 内购皮肤。回合制节奏天然适合插广告——玩家停下来思考的间隙正是广告曝光点,不像动作游戏那样打断手感。网页端则可以走 itch.io 付费下载或网页广告。国内做微信小游戏,这个品类配合激励视频广告位是经过市场验证的组合。

给你的诚实结论:直接照抄它的"无广告纯开源"赚不到钱,那是十年人品的复利;但它证明了另一件事——一个玩法足够扎实的开源游戏,本身就是最硬的获客资产。你送出的是代码,收回的是玩家、声量和生态位。

给我的灵感

三个可执行方向,按工作量从小到大排:

点子一:抽引擎,不做游戏——把它的核心模块搬进你自己的项目(MVP:1-2 周)。 如果你本来就想做一款小 Roguelike 或棋牌游戏,别从零写调度器和存档。把它的四个模块当参考实现读一遍然后自己重写:Actor 时间片、Bundle 存档、房间走廊地图生成、Buff 栈。GPL 要求衍生作品同样开源,所以读思路、自己写实现,保持干净。产出:一套属于自己的 2D 回合制骨架,之后每做一个新游戏都在复用。适合的变现:不直接变现,是所有后续点子的地基。

点子二:题材换皮 + 中文本土化,做"成语地牢"或"职场地牢"(MVP:2-4 周)。 Roguelike 的皮是像素地牢,但骨架对题材毫不挑剔。两个方向:一是汉字/成语题材——装备是成语("守株待兔"增加暴击等待奖励、"三十六计"是传送卷轴),未鉴定药水改成"未拆封盲盒",天然适配中文传播;二是职场题材——每一层是一栋写字楼,怪物是会议室和周报,Boss 是年终述职,死亡弹幕是"优化"。变现首选微信小游戏 + 激励视频:死亡复活看广告、开局抽职业看广告、图鉴翻倍看广告。回合制的停顿感对广告位极其友好。

点子三:把"单机循环"改成"半社交循环",加一层钩子(MVP:4-8 周,建立在点子二之上)。 它已经验证了每日种子挑战,你可以更进一步:好友每日同卷——每天全服同一个种子、同一套初始装备,比谁走得深,死亡地点直接标在好友的地图上("他死在第 9 层的毒气房"),配一个免费复活拉好友"收尸"的裂变机制。加上局外图鉴收集和皮肤内购,构成"广告 + 内购"双引擎。这个钩子的成本主要在后端一个小服务和排行榜,游戏本体逻辑完全复用单机架构。

三步连起来看就是一条完整的个人开发者路线:先攒骨架(点子一),再做一个有传播梗的题材(点子二),最后用社交钩子放大留存(点子三)——而这条路线的每一步,在这个仓库里都有现成的参考实现。

上手

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