首页 › games › 《Pixel Dungeon》一个地牢,开源十年还在下金蛋

《Pixel Dungeon》一个地牢,开源十年还在下金蛋

仓库档案

项目 内容
仓库 watabou/pixel-dungeon
Star 约两千余的量级(⭐2k+,据仓库页面历史公开数据;本次调研网络工具受限未能实时复核,以仓库当前显示为准)
语言 Java(据仓库页面)
定位 传统回合制 Roguelike:像素风地牢爬层、永久死亡、随机生成
作者 Watabou(Oleg Dolya),个人开发者,仓库长期由其一人主导维护
License GPL 系开源(据仓库页面历史公开信息)
发布渠道 Android 长期采用“免费版+付费版”双轨上架 Google Play,iOS 有付费版(据仓库与商店页历史公开信息,本次未能实时核实细节)
最近更新 本次调研网络工具受限未能核实,以仓库当前页面为准

前面七轮已经把盖楼、挂机、扫雷、派对卡牌、文字、重力解谜、终端方块各写了一遍,这一轮轮到一个还没碰过的品类:Roguelike。而且选的不是随便一个 roguelike,是这个品类在手机上的“公共地基”——watabou/pixel-dungeon。它由个人开发者 Watabou 一人写成,玩法是标准的回合制地牢爬行,源码全开,移动端长期双轨收费。更妙的是它的“售后故事”:因为源码开放、协议允许,社区里长出了几十个衍生改版,其中最出名的一个后来自己上了 Steam 和双端商店卖钱。一个仓库,十年后还在替一群陌生人下金蛋——这就是它值得个人开发者逐行研究的原因。

这游戏是什么:一条向下的楼梯,一个贪心的你

一句话说清:你在一个随机生成的像素地牢里往下爬,共二十一层、分五个区域,每层探索房间、捡装备、打怪物,走到楼梯口就下潜一层;全程回合制——你走一步,世界走一步;角色死了就是死了,等级装备全部清零,只能从头再来。

它没有主城,没有任务列表,没有剧情过场。整个游戏被压缩成一件事:再往下一层。这根楼梯就是它的核心循环:

flowchart TD
    A["降落新的一层:地图、怪物、物品全部随机生成"] --> B["探索:摸黑推开一间间房,捡药水、卷轴、装备"]
    B --> C["战斗:回合制,你动一步怪动一步"]
    C --> D{"状态评估"}
    D -->|"血量弹药充足"| E["继续贪:多扫两间房,多捡一件货"]
    D -->|"饥饿掉血、状态告急"| F["认怂:直奔楼梯口下潜"]
    E --> G{"撑得住吗?"}
    G -->|"撑住了"| H["满载下楼,深度+1,实力+1"]
    G -->|"贪出事了"| I["死亡:清零,回到第一层"]
    F --> H
    H --> A
    I --> J["再来一局:地牢是新的,怪是新的,掉落是新的"]
    J --> A

拆这个循环,玩家每回合的输入小到不能再小:走、打、喝、穿,四个动词。但系统在每个回合的反馈是三层的——即时的(打一下掉多少血)、资源的(这瓶药喝掉就没了)、时间的(饥饿值又涨了一格)。前两层看得见,第三层是暗账:你在这一层多停留的每个回合都在偷偷计费。“贪心有价”是刻在玩法结构里的,不是贴在公告栏上的——这是它和绝大多数休闲游戏最本质的区别。

驱动“再来一局”的钩子也和前面写过的所有游戏不同:解谜靠“就差一个转法”(ROTA),街机靠“就差一点分”(tower_game),而 roguelike 靠的是“这局本来能赢”。死亡不清进度条的存量游戏,死了损失的是时间;roguelike 死了损失的是一段已经投入的“可能性”——第二十层攒齐神装的角色归零那一刻,玩家的第一反应不是删游戏,是立刻重开把这口气找回来。

为什么上头:把“贪心”做成唯一的玩法引擎

1. 下楼的按钮,是全世界最强的进度条。Pixel Dungeon 的深度就是难度,也是身份:第一层的小白和第十五层的老手,互相一眼就能认出来。玩家永远知道“我到哪了”和“下面还有什么”,而“五层一个区域、二十一层封顶”的节奏意味着每隔二十分钟就有一段新内容兑现。进度感不需要做成就系统,把世界切成清晰的一段段往下排就够了。

2. 未鉴定的药水,是随机奖励的最高形态。这游戏里的药水和卷轴,每一局的外观都重新洗牌:淡黄色这局是治疗,下局可能是毒药。你只能靠喝——或者用鉴定卷轴。于是“喝不喝”本身成了赌桌:可能瞬间回满,可能当场中毒。普通的随机掉落是“开箱子”,Pixel Dungeon 把辨识过程也做成了抽奖,同一样物品在你手里能爽两次:喝中的爽和鉴定的爽。

3. 饥饿条在替设计师收“贪心税”。每走一步都消耗饥饿,饿了掉血,血尽人亡。这条暗账逼着玩家每层都在做同一个决定:这间房还扫不扫?多贪两件装备值不值得冒饿血的风险?“贪心算法”是人类脑内天然运行的程序,你只要在游戏里给它接上一个代价表,玩家就会自己上头——贪对了叫刀口舔血,贪错了叫罪有应得,两种结局都让人想再来一次。

4. 死亡惩罚越重,“这局本来能赢”的复盘冲动越强。行为经济学的损失厌恶在这里被用到了极致:投入越深的 run,死亡越疼;而疼会产生一个具体的念头——“如果那瓶药留到现在喝就好了”。这个念头就是重开的燃料。对比一下:随机性死亡让人摔手机(“运气游戏”),确定性死亡让人重开(“我失误了”)——Pixel Dungeon 的战斗全程回合制、无手速要求,死的每一局都能归因到自己的决策,归因到自己的失败才产生重开,归因到系统的失败只产生差评。

5. 操作下限极低,build 上限极高。全游戏就四个动词,三岁会点屏幕就能玩;但武器+护甲+戒指+魔杖+天赋的组合空间,够玩家研究十年。免费玩家第十分钟就能体验全部核心机制,深度玩家第一百小时还在试新组合——“一分钟上手、一百小时精通”的配比,是广告变现和长线留存能同时成立的前提。

6. 二十分钟一个 run,正好卡进生活的缝隙。一局从第一层到死亡,普通玩家大约二三十分钟;死了之后重开的启动成本是零——没有登录奖励、没有每日任务、没有任何“上班打卡”式负担。它对玩家时间的索取方式是“随叫随到、走时不留”,这正是手机游戏最舒服的姿势。

技术拆解:一个人的 Java,撑起一个品类的地基

技术栈:Java,最初面向 Android 写的,渲染层是作者自己写的 2D 像素渲染,而非套现成引擎;桌面与 iOS 版后来由社区基于开源代码完成移植。对个人开发者的第一个启发就在这:2012 年前后一个没有引擎依赖的 Java 工程,活到了今天还在被整个社区编译、修改、上架——技术选型越朴素,生命力越长。你今天复刻一个类似量级的项目,用 Godot 或 Canvas 只要避开重依赖,同样能被别人接得住。

源码里最值得抄的四样东西(工程细节以仓库为准,这里拆的是这类玩法的通用骨架):

可直接复用的组件清单:房间+走廊生成器、回合制行动队列、怪物 AI 状态机、未鉴定映射表、加权掉落表、移动端触控适配(点哪走哪、长按自动探索)。这六样拼起来,就是一个 mini roguelike 的全部地基——按七天做出一个 roguelike 的社区传统(7DRL)的通行标准,一个能玩的最小版本就是一两周的个人项目量级。

还有一层容易忽略的价值:这个仓库是“开源玩法引擎”的活样本。GPL 协议保证了任何人都可以改、可以分发,于是它成了无数人学习游戏开发的第一本“活教材”——你把组件写得干净、协议放得开,别人就会替你把项目带去你去不了的平台。

变现观察:双轨上架是本钱,开源生态是复利

这个仓库的商业故事分两本账。

第一本:作者自己的双轨账。Android 端长期是“免费版+付费版”并存——免费版带广告、靠内购去广告和解锁,付费版一次性买断;iOS 走付费下载(据仓库与商店页历史公开信息,具体形式以当前商店页为准)。这是移动端单机小品最经典的“免费钩子+付费出口”结构:免费版负责把“试试”的门槛打穿,玩进去的人自然会为“去广告+支持作者”付费。Roguelike 在这个结构里有个天然优势——死亡重开的间隙就是插屏广告的合理点位,玩家刚死、情绪上正想“再来”,此时的等待几乎不构成打断。同类手机 roguelike 至今仍是广告+内购跑得很通的品类,这个判断去看看各大商店休闲榜就能验证。

第二本:开源生态的复利账。真正值得盯着的不是原版赚了多少,而是它的开源协议让社区长出了一整片衍生林——几十个改版 mod 各自维护、各自发布,其中最有出息的一个把玩法大改之后自己上架了 Steam 和移动商店,走“手机免费+桌面买断”的组合,卖个位数美元的价钱(据公开商店页历史信息,细节以商店页为准)。原作者写地基,后来者盖楼收租,而所有的楼都在给地基引流——这是开源游戏独有的商业模式:你的仓库越是被当作“公共品”引用,它的长尾收入就越是指数型。

对想变现的个人开发者,这两本账合起来给了一条被验证十年的路径:源码开源攒星与同行(获客)→ 移动端免费+付费双轨(收钱)→ 协议放开让生态替你长尾(复利)。三个环节没有一个是烧钱的,全靠代码本身干净、协议本身大方。

一个提醒:原版毕竟是十年前的工程,画质在今天的手游货架上毫无竞争力——但反过来,这恰好证明了这个品类的留存来自玩法结构而不是美术,你完全可以用现代像素工具或 AI 生图把皮换新,骨架照抄。

给我的灵感:三个可以直接抄的作业

点子一:7DRL 式换皮 mini roguelike(MVP:1-2 周)。 把骨架原样搬走:一层地牢(先不做二十一层)、三种怪、五种物品、一把武器一瓶药,房间+走廊生成器+回合制行动队列。题材整体置换成你熟的:写字楼 roguelike(楼层即深度,加班即饥饿)、外卖骑手 roguelike(超时即掉血)、考研自习室 roguelike。美术用 AI 生图配现代像素调色板。发布去 Poki、CrazyGames 这类接受个人提交、按广告分成的网页平台,或直接 Google Play。变现:网页平台广告分成 / 移动端插屏放死亡重开间隙。这条路练的是“把一个完整品类最小化”,全行业验证过的玩法结构,风险最低。

点子二:roguelike 骨架 × 卡牌构筑(MVP:3-4 周,差异化最大)。 战斗不变回合制,但把“走一步打一下”换成“每回合出牌”:攻击、防御、过牌全是手牌,下楼的选择保留——每层结束三选一拿新牌。roguelike 的随机爬层给卡牌构筑供地图,卡牌构筑给 roguelike 供每局不同的 build,两者是目前独立游戏市场被反复验证的融合配方。竖屏可玩,单局 15 分钟。变现:Steam/itch.io 买断,或移动端“一次性解锁全卡池”内购——这个品类玩家付费意愿明确,别浪费在广告上。

点子三:加社交钩子——每日同牢 + 死亡报告(追加:1-2 周)。 在任意版本上叠两个系统:其一,每日挑战,用日期做随机种子,全世界玩家今天进的是同一座地牢,比谁下得深、比谁活得久,排行榜直接造攀比;其二,死亡报告卡——角色死亡时自动生成一张“死因卡”:死于哪层、哪种怪、身上有什么货,一键截图发群里,别人的好奇心就是你的新玩家。两个都是纯系统层工作,不动核心玩法。变现:每日挑战结算页留一个原生广告位,或出“命运重掷”这类单次付费小道具——注意放在重开间隙,别插进战斗。

三个点子共用同一套地基:房间+走廊生成、回合制行动队列、加权掉落表、死亡重开循环。先把骨架抄会,题材和钩子才轮到你发挥。

上手

一个提醒:原版仓库年代久远,遇到环境问题基本靠自己——好在纯 Java 无引擎依赖,读代码反而比读现代引擎工程更直接,算法和数据结构全都是裸写的,一看就懂。

(数据说明:语言、玩法、发布渠道等来自仓库与商店页的历史公开信息;本次调研环境网络工具受限,Star 数、License 细节、最近更新时间、商店页现行价格均未能实时复核,相关表述均已标注来源与不确定性,动手前请以仓库与商店当前页面为准。)

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