<!-- title: 《Shattered Pixel Dungeon》开源像素地牢，闷声活了十年 -->
<!-- domain: games -->
<!-- repo: Shattered-Pixel-Dungeon/Shattered-Pixel-Dungeon -->

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

## 仓库档案

| 项目 | 内容 |
| --- | --- |
| 仓库 | [Shattered-Pixel-Dungeon/Shattered-Pixel-Dungeon](https://github.com/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 完成通关。

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

- **走一格，世界走一格**。你每移动一步、攻击一次，场上所有怪物、陷阱、持续效果都同步推进一回合。没有任何操作速度要求，你可以暂停想十分钟再走下一步。
- **一层一张随机地图**。每次开局、每下一层，地图、怪物、物品全部随机生成，房间、走廊、宝箱、隐藏门都不重样。
- **死亡即删档**。没有读档重来，死了就是死了，装备、等级、进度全部清零，只留下成就记录和"最高纪录"。
- **深度来自克制**。一瓶治疗药水什么时候喝、一张升级卷轴砸在哪件装备上、负着诅咒装备硬闯还是花卷轴洗掉，每一个决定都不可逆。

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

```mermaid
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 层的毒气房"），配一个免费复活拉好友"收尸"的裂变机制。加上局外图鉴收集和皮肤内购，构成"广告 + 内购"双引擎。这个钩子的成本主要在后端一个小服务和排行榜，游戏本体逻辑完全复用单机架构。

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

## 上手

- 仓库：https://github.com/Shattered-Pixel-Dungeon/Shattered-Pixel-Dungeon
- 玩法体验：Google Play / App Store 搜 "Shattered Pixel Dungeon"，免费，也有桌面版；据仓库 README 可自行构建运行
- 阅读建议：从 `core` 模块切入，优先读 `actors` 包（Actor 时间片与 Buff）、`levels` 包（地图生成管线）、`items` 包（道具体系）；再对照 `README` 里的构建说明跑一次桌面版，改动一个数值立刻能看到效果
- License 提醒：GPL-3.0，改它的代码就要开源你的代码；做商业换皮务必想清楚这一条，或者走"读思路、自己写"的路线

> [!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)
