首页 › games › 《Dungeon-Cross》藏在盒里的小游戏,他抠出来白送

仓库档案

Star 数不大,但这个仓库讲的故事,比大多数几千星的仓库都值钱:Zachtronics 在 2022 年的告别之作《Last Call BBS》里塞了一堆小游戏当卖点,其中有一个数织变体叫《Dungeons & Diagrams》。一个玩上头的粉丝,把这个塞在盒子里的小游戏单独抠了出来,用 Python 重写了一遍,免费放回互联网。这条路怎么走的、为什么走通了、你能不能照着走,就是本文要说的事。

这游戏是什么

一句话:数织(Picross)的棋盘上,砌一座能困住怪物、放走宝箱的地牢。

经典数织你可能玩过:行和列的边缘给数字,提示这一行/列里哪些格子要涂黑,全部推对就拼出一幅像素画。《Dungeons & Diagrams》保留了这套骨架,然后往棋盘里扔进了地牢元素:棋盘上预先摆着怪物、宝箱、史莱姆和入口,你的任务依然是放墙——但每堵墙现在有了语义:

数字约束管“量”,地牢语义管“理”,两套规则咬合在一起,每一题都是一座微型迷宫谜题。原版是 Zachtronics 藏在《Last Call BBS》——那个“关于老电脑、盗版游戏和交还房门钥匙的故事”——里的盘带游戏之一;复刻版把这个玩法剥出来,连素材都换成了 CC 授权的《Dungeon Crawl Stone Soup》地精贴图、Kenney 音效和 SerpentSound 配乐,开箱即玩。

核心循环长这样:

flowchart LR
    A[读线索: 边缘数字<br>+怪物/宝箱/史莱姆分布] --> B[推理: 放墙或打标记]
    B --> C{即时校验}
    C -- 出现矛盾 --> D[撤销回退<br>换一条推理链]
    D --> B
    C -- 无冲突 --> E[可用格子变少<br>约束逐步收紧]
    E --> F{所有约束满足?}
    F -- 否 --> B
    F -- 是 --> G[地牢成型: 怪物关死<br>宝箱可达,过关]
    G --> H[空格键: 下一题]
    H --> A
    B -- 彻底卡死 --> I[一键重置或跳题<br>零惩罚]
    I --> A

注意循环里没有随机数、没有倒计时、没有生命值。每一题的答案在开局就写死了,你要做的是把那条唯一的推理链一节一节拽出来。

为什么上头

第一,纯推理的多巴胺,成色比随机奖励更纯。市面上大部分上头游戏靠随机性吊人——掉落、抽卡、暴击。数织这一类走的是另一条路:每个格子填下去都“必然正确”,爽感来自推理链条咬合的那一声咔哒。你圈死一只怪物的瞬间,不是运气好,是你聪明。这种奖励不上头则已,一上头就是连续解二十题停不下来。

第二,双规则交叉,顿悟密度翻倍。纯数织玩到后期容易变成机械扫描:找“满行”“空行”,套路化。加了地牢语义之后,每一题至少有两层线索网:数字层告诉你墙的总量,语义层告诉你墙的形状——宝箱reachable、怪物enclosed,这些约束互相牵制,经常出现“数字对但逻辑错”的死角,逼你换思路。卡壳五分钟、顿悟十秒钟,这个节奏就是解谜游戏的呼吸感。

第三,进度感写在棋盘上。每放一堵墙,剩余的未知就收缩一分。棋盘从密密麻麻的线索,慢慢变成一座清晰的地牢剖面图——过关画面本身就是一幅你亲手砌出来的像素地图。别的游戏给结算分数,这个游戏给你的结算是一张作品。

第四,失败零成本,重开零摩擦。没有惩罚机制,卡死了就 Ctrl-Z 一路撤销,或者 R 键整个重置,再不然空格键直接下一题。README 里的操作说明就这么几行:左键放墙、右键标记、空格跳题。作者自己说做这个项目的动机,是想要一个“能挂在后台、随手开一局”的游戏——摩擦力被压到了“想玩就玩,想走就走”的程度,这是挂机型解谜能留存的关键。

第五,“下一题”是最便宜的钩子。一题两三分钟,过关按钮直接通向下一题。Zachtronics 深谙此道——他们的游戏从来不做通关动画拖时间,解完就是解完,下一题的入口永远亮着。复刻版照单全收。

技术拆解

技术栈朴素到令人安心:Python 3.7+、Pygame 负责渲染和输入、pygame_menu 负责菜单,剩下全是作者手写的逻辑。对想学“怎么把一个解谜游戏写干净”的人,这个仓库有三处值得精读:

1. 规则引擎和关卡数据是分离的。README 的 Credits 里有一行容易被忽略:Shadowcluster 贡献了"Raw puzzle frameworks"(原始谜题框架)。也就是说这个项目从结构上就分成了“约束检查器”和“谜题库”两层——谜题是数据,规则是代码。想加一百道新题,改数据不动代码;想改规则(比如加钥匙开门),动代码不动数据。这是所有谜题类游戏该抄的分层。

2. 语义约束的实现,就是两次教科书算法。“宝箱必须可达”从入口(或边界)做一次洪水填充 BFS,看能不能漫到宝箱格;“怪物必须围死”反过来,对怪物所在的开放区域做连通块分析,看这块区域的边界是不是全被墙封住。没有物理引擎、没有寻路库,几百行 Python 覆盖全部玩法逻辑。面试里背了无数遍的 BFS 和连通块,在这里就是产品的核心卖点——这对想写技术博客、做面试向内容的开发者是个现成的选题。

3. 打包分发是现成模板。Linux/macOS 走 Makefile,Windows 走 make.bat,产物进 dist/ 目录,release 页直接放三平台预编译包。一个纯 Python 项目做到“下载双击就能玩”,工作量不大但对传播影响巨大——大部分个人开发者的 Python 小游戏死在“朋友不会装环境”这一步。

可复用组件清单:数织行/列约束的检查逻辑、封闭性 BFS 校验、可达性洪水填充、撤销/重做栈(Ctrl-Z/Ctrl-Y 是标配)、谜题文本化数据格式。凑在一起,就是一个“逻辑解谜游戏最小框架”。

变现观察

这个仓库本身零变现痕迹:免费、无广告、无打赏入口,作者图的就是自己玩得开心。但它一头一尾连着的两个商业案例,都非常值得看。

上游:Zachtronics 怎么卖“游戏里的游戏”。《Last Call BBS》在 Steam、GOG、itch.io、Epic 四个渠道都有售(据官方页面),它卖的不是一个大游戏,而是一盒充满怀旧感的软盘,每张软盘是一个完整的小游戏——吃 crowds 的餐厅备餐、机甲模型拼装、还有《Dungeons & Diagrams》这样的数织地牢。小游戏被当成了高价值的“内容密度”来售卖:你为盒子付钱,盒子里的每个小游戏都是留你多玩十小时的钩子。粉丝愿意把其中一个抠出来单独做开源版,恰恰证明了单个 mini-game 的价值密度已经高到可以独立成篇。

下游:数织品类的变现,是移动休闲游戏的常青树。数织/像素填色类玩法规则极简、单局极短、天然适合竖屏单手操作,是移动端广告变现的经典品类——提示道具看广告、卡关看广告、每日一题拉日活,这套组合拳在休闲解谜赛道跑了十年。而“数织+X”的变体——数织+地牢语义、数织+角色养成、数织+剧情——正是小团队在同质化红海里做差异化的标准打法,《Dungeons & Diagrams》本身就是这条思路的成功范例:Zachtronics 用一组语义约束,把一个几十年老的品类做出了新意,然后把它装进盒子里卖钱。

个人开发者能学的,是中间这位粉丝展示的第三条路:开源复刻本身不赚钱,但它是最便宜的“玩法验证”和最好的个人名片。他用几百行 Python 证明了这个玩法抽出来依然成立——这个证明,值一次立项。

给我的灵感

点子一:H5/小游戏版“数织地牢”,竖屏单手(约2-3周MVP,广告变现)。规则层照抄——行/列数字约束加怪物/宝箱/史莱姆三件套,用 Canvas 或任意前端栈重写,核心就是两个 BFS。难点在关卡生成:先随机砌一座合法地牢当答案,再从答案反推边缘数字和元素摆放,保证唯一解(生成后用求解器验证唯一性)。素材用 CC 贴图(DCSS 的怪物素材本身开源,注意核对具体授权)。上线微信小游戏或 H5,挂激励视频:卡关看提示、每日一题拉回流。这个品类在休闲平台有成熟受众,拼的是包装——仙侠版可以叫“困龙阵”,摆石头阵困住敌将、放走粮车,规则一克不改。

点子二:抽出式立项——从你喜欢的游戏里抠一个 mini-game(1-2周验证,itch.io 付费或平台广告)。这个仓库示范的方法论比代码更值钱:大游戏为了拉时长做的迷你玩法,单独抽出来往往就是一个成立的产品。可抠的对象遍地都是——把肉鸽游戏里的地图生成抽出来做纯解谜,把自走棋的摆位抽出来做“给这场必败的战斗摆出翻盘阵”的谜题集,把钓鱼小游戏抽出来做纯钓鱼。MVP 只做原玩法里最上头的那一个循环,验证留存再加壳。

点子三:解谜生成器组件,卖给同行(约两周,卖铲子模式)。“带唯一解保证的约束谜题生成器”是所有解谜开发者的共同痛点——人人会写检查器,人人卡在生成器。把“随机生成+反推线索+唯一解验证”这套流程抽成独立组件(Godot 插件或 Python 包),连同这个仓库的语义约束检查逻辑一起文档化,在引擎商店按小工具定价出售。做解谜游戏的人不多,但每一个都绕不开这一步。

上手

一个几十星的仓库,装着的却是完整的生意链条:Zachtronics 把小游戏做成盒子里的卖点,粉丝把它抠出来证明单独也成立,下一个把它包上题材、生成一千道题挂上广告的人——可能就是读到这里、正准备建仓库的你。

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