夜雨聆风学习资料网

ARTICLE · 1009647

一个人维护十二年的开源肉鸽,免费无广告下载破五百万

一个人维护十二年的开源肉鸽,免费无广告下载破五百万
PART.01
一个手机上的地牢,开发者磨了十二年
GAME
ENGINE

有款游戏我手机里装了很多年,换过四台手机,每次装机第一个下的一定是它。破碎的像素地牢,英文名 Shattered Pixel Dungeon。最近翻它 GitHub 仓库,才发现这游戏已经六千五百多星,谷歌商店下载量破五百万,而它的本体免费,无广告,无内购,代码全部开源。

这个量级放在商业手游里不算什么,放在一个独立开发者的开源项目里就是现象级了。一个人维护十二年,月更节奏不断,全平台覆盖,三十多种语言,每一项单拎出来都够吹一阵,它全占了。

先给没玩过的朋友铺垫一下。这是一个传统的肉鸽地牢爬行游戏,像素风,回合制,单机。你操纵一个英雄从地牢顶层往下爬,二十多层,每一层的地图,怪物,道具全部随机。死了就从头再来,没有任何继承,硬核得很纯粹。

这里说的传统肉鸽是致敬上世纪的经典 roguelike,回合制走格子,一步一动,怪物也一步一动,你不动世界就不动。这个设计天然适合手机,没有操作压力,随时可以停下来接个电话,回来接着走。它和现代那些实时动作肉鸽完全两个物种,更接近一盘可以揣兜里的棋。

像素美术是这游戏另一个招牌。原生分辨率不高,但每个怪物的动作帧都画得一丝不苟,攻击有前摇反馈,死亡有碎裂动画,法术特效用简单的粒子做出了华丽感。五层一个区域,配色从头到尾越来越暗,气氛压得越来越沉,到恶魔层整个画面都是血红色的压迫感。用低分辨率的像素画面做出这种情绪曲线,靠的是实打实的美术功力。

它的一切都源自另一个开源项目。原版叫 Pixel Dungeon,作者是 Watabou,一个捷克独立开发者,2012 年在安卓上发布的极简地牢游戏。原版很小巧,但有些地方设计得比较糙。2014 年,一个网名 00-Evan 的玩家觉得原版有很多可以做得更好的地方,fork 了代码开始改,这一改就是十二年。

PART.02
六个英雄,五种地牢生态
GAME
ENGINE

游戏现在有六个可选英雄。战士,法师,盗贼,女猎手是老四样,2021 年加了决斗家,去年又加了牧师。每个英雄的机制差异大到像是六个不同的游戏。战士靠护甲硬抗,法师用法杖输出,盗贼隐身摸宝,女猎手远程点杀,决斗家玩连招位移,牧师则有一套独特的祝福机制。

拿两个英雄对比一下这个差异有多大。战士开局自带一把可以投掷再召回的短剑,护甲破损了还能当武器砸人,整个玩法围绕扛线和换血。盗贼开局斗篷,可以原地隐身,从背后攻击必暴击,他的核心循环是规划潜行路线,偷东西,然后安全跑路。同一个地牢,两个人玩出来的节奏完全两样。牧师更特殊,他能把治疗药水转化成圣水,能复活,玩起来像个带资源管理的圣骑士。

每个英雄还有三种子类转职,到地牢中段选一次,进一步分化玩法。战士可以转狂战士吃怒气,或者转守护者反弹伤害。六个英雄乘上三种转职,光是开局选择就有十八种思路,再乘上随机装备和地图,可玩性这块完全不虚任何商业肉鸽。

地牢分五个大区,下水道,监狱,洞穴,都市,恶魔层。每个区有自己的怪物生态和视觉风格,每五层一个节奏,每十五层一个 boss。下水道里是大鼠和疯子,越往下怪物越邪门,到恶魔层已经是克苏鲁画风了。

boss 战是这游戏设计水平的集中体现。第四层的粘液王会把你粘在原地逼你打,第九层的狱卒用铁链把你拖进陷阱阵,第十四层的矮人国王会召唤卫队给自己回血。每个 boss 都在考你这一区学到的机制,考不过就是死,考过了那种爽快感很上头。最终 boss 恶魔领主三阶段变身,一场战斗把整个游戏教你的东西全考一遍。

随机性是这游戏的灵魂。药水颜色每局随机,卷轴名称每局随机,你这局喝下的红色药水是治疗,下局可能是剧毒。识别未知物品本身就是玩法的一部分,赌错了代价很疼。装备有等级和附魔,词缀组合上千种,配上种子里面的随机地牢结构,没有两局是完全一样的。

炼金系统给随机性加了一层策略。捡到的种子,尸骸,凝胶这些杂物,可以在炼金锅里熬成药水,炸弹,法杖充能。资源不够的时候,炼金就是你的第二生命线。高级玩法里甚至有整套围绕炼金锅的运营路线,每层该留什么材料,什么时候熬什么东西,都成了规划的一部分。

挑战模式是给老玩家的深渊。二十多个开关,每个开关把游戏往难里拧一格,视野减半,怪物提速,药水堕落,护甲腐朽,可以任意组合叠加。全开挑战通关的人全世界屈指可数,社区里晒全挑战通关截图的帖子,评论区清一色是膜拜。种子系统则是反向操作,输入同一串数字,所有人拿到同一张地图,速通比赛和挑战赛全靠它支撑,社区里常年有种子竞速活动。这两套系统一难一易,把这个单机游戏硬生生玩出了社区竞技的味道。

PART.03
十二年就做一件事
GAME
ENGINE

00-Evan 这个开发者的经历挺特别的。他没有任何游戏行业背景,起点就是一个玩了原版之后手痒的玩家。2014 年发第一版的时候,改动还都是修修原版的平衡问题。后来改的东西越来越多,游戏慢慢长出了自己的骨架,装备专精,挑战模式,炼金系统,种子系统,全是他这些年一点点加进去的。

他给自己定的更新节奏是每月一个版本,坚持了十二年。每个月的第一个周五,新版本准时出现在谷歌商店和 itch.io 上,配套的开发日志写清楚这个月改了什么,为什么要改。这种节奏感和透明度,别说独立游戏,大厂项目都很少见。

翻他这些年的更新记录,能看出一种很健康的迭代观。他不追热点,不搞大而全的重做,每个版本集中改一个系统。某几个月专攻装备专精,某几个月专攻炼金,某几个月把某个英雄整个重做。更新日志里经常会看到他推翻自己两三年前的设计,理由写得明明白白,当时觉得好,现在看数据玩家不用,改。这种敢于自我否定的迭代方式,是这游戏能一直变好的原因。

有意思的是他的开源姿势。代码全公开,谁都能下载编译,但他明确写了这个仓库不接受合并请求。理由也直白,这代码公开是希望对别人做自己的项目有用,不是开放社区共同开发。issue 照收,bug 照修,但代码方向一个人说了算。这种模式在开源圈有个说法叫单一维护者,好坏见仁见智,但至少保证了十二年调性不散。

PART.04
免费游戏怎么活下来的
GAME
ENGINE

免费,无广告,无内购,那钱从哪来。答案是多条腿走路。谷歌商店可以付费买一份当赞助,Steam 上卖 4.99 美元的版本带成就和云存档,Patreon 上有月度赞助,itch.io 上可以自愿付钱。

Steam 版 2022 年上线,至今特别好评,最近三十天好评率九成。评论里最多的一句话是,手机上免费玩了五年,来补一张票。这个商业模式说出来简单,做到的前提是游戏真的好到让人愿意回头补票。

顺带说说无广告这件事的分量。手机肉鸽这个品类里,竞品们的变现姿势五花八门,看广告复活,内购买装备,体力值收费。破碎的像素地牢完全反着来,死了就是死了,看多少广告都救不回来。这种硬核和干净反而成了它最大的差异化,评论区和 Discord 里反复出现的一个词是 respect,玩家感觉被当成大人对待了。

顺便说个数字,这个游戏支持三十多种语言,翻译全靠 Transifex 上的志愿者。安卓版从 2014 年到现在累计下载五百万以上,这还没算 F-Droid 和直接下 APK 的用户。

平台覆盖这件事他做得很彻底。安卓,iOS,Windows,Mac,Linux 全平台都有官方版本,桌面版还支持键鼠操作和更大的视野。iOS 版难得地保持了和安卓版同步更新,这在独立开发圈不多见,通常 iOS 因为审核和设备适配的麻烦,更新都会慢半拍。他的解法是把平台层抽象得足够干净,核心逻辑一份代码,每个平台的壳单独维护,出问题也好隔离。

PART.05
开源肉鸽的地基
GAME
ENGINE

这个项目在开源肉鸽圈的地位有点特殊。因为代码友好,授权清晰,文档齐全,它成了很多开发者上手做游戏的起点。官方文档里甚至有一篇专门教你改哪些文件能做出自己的定制版,从换图标到改数值到加新职业,手把手。

GitHub 上你能找到一堆它的衍生版。有人做了科幻主题的改版,有人做了难度加强版,有人拿它练手学 Java,把它当教材读。Pixel Dungeon 本身的衍生生态更夸张,原版加破碎版加各种魔改版,这个家族枝繁叶茂,全都开源,全都免费。

有意思的是这个生态里没有出现恶性分叉。原版作者 Watabou 对破碎版的态度是祝福,破碎版作者对下游魔改版的态度也是祝福,链路上每一环都保留了上游署名。对比商业游戏圈动辄律师函的画风,这条 fork 链展示了开源协议本来的样子,站在别人肩膀上,然后把肩膀让给下一个人。

技术上它是个标准的 Java 项目,libGDX 框架,一份代码编译到安卓,iOS,Windows,Mac,Linux 全平台。仓库里 core 目录是纯逻辑,平台目录各管各的壳。想学游戏架构的,从入口文件读进去,结构清楚得像教科书。

代码本身也写得规矩。注释密度不算高但关键决策都留了说明,存档格式,随机数管理,地图生成器的接口都设计得干净。有人拿它的地图生成器单独抠出来做自己的项目,也有人拿它的存档系统改造成工具。这种被反复拆用零件的开源项目,代码质量一般都差不了。

PART.06
为什么值得一篇推送
GAME
ENGINE

写这个项目不只是推荐一个游戏。它的存在回答了一个问题,一个人,十二年,一个月更节奏,一个免费无广告的肉鸽游戏,能不能活。答案写在六千五百颗星和五百万下载里。

它还回答了另一个问题,开源和商业化到底冲不冲突。代码全公开,任何人都能白嫖编译一个,但 Steam 版照样有人买,Patreon 照样有人赞助。玩过的人心里有杆秤,好东西就该付费,哪怕它免费。

对我个人来说,这游戏是排队,通勤,午休的碎片时间杀手。一局短的二十分钟,长的两小时,死了不心疼,开一局就是了。手机上真正做到随开随玩随存随走,不用网络,不用账号,不用权限,装上就是纯粹的游戏。

新手上手我给个顺序建议。第一个英雄选战士,容错最高,先熟悉药水卷轴的识别节奏。前十层的目标其实是攒资源,能绕开的怪就绕开,地牢爬行游戏的常识在这游戏里全适用。死了别灰心,这游戏死一百次很正常,每次死都能带走一点经验,比如这局记住了红色药水是液火,下局就少踩一个坑。等你能稳定摸到第十层,再去挑战其他英雄,乐趣会翻倍。

六英雄的立绘我特别喜欢,像素画画出六种性格,老玩家应该都能会心一笑。这些立绘同时也是游戏加载界面的底图,每次进游戏随机换一张,十二年的老玩家看到牧师的新立绘时,社区里还专门刷了一波怀旧帖。

仓库地址 github.com/00-Evan/shattered-pixel-dungeon。Steam 版想要成就和云存档的再考虑。

最后一句私心话,去试试牧师,这个新英雄把一个十二年的老游戏又玩出了新意思。

相关学习资料