<!-- title: 《puzzles》四十个益智游戏，一个人写了二十年 -->
<!-- domain: games -->
<!-- repo: SimonTatham/puzzles -->

写 PuTTY 的那位 Simon Tatham，二十年里还偷偷攒了另一摊东西：四十来个益智小游戏，全是 C，全在一个仓库里，全部白送。

你大概率玩过其中的某个，只是不知道它姓什么。安卓商店里搜解谜合集，网页上摸鱼找数独，甚至某些纸质谜题书里，都可能流着这个仓库的血。今天把它翻出来，不为怀旧，而是因为它是「一个人、零美术、零营销、二十年」这条路线的活标本——益智解谜这个品类，恰恰是独立开发者最容易被低估的印钞基座。

## 仓库档案

- **名称**：SimonTatham/puzzles（Simon Tatham's Portable Puzzle Collection）
- **Star**：约 3k 上下（据仓库页面，本轮未能实时核验）
- **语言**：C，少量 JS 胶水（据仓库页面）
- **License**：MIT（据仓库页面）
- **作者**：Simon Tatham，个人账号，PuTTY 的作者；网页版与安卓移植靠少数几位同好接力，主笔始终是他一个
- **最近更新**：据仓库页面长期活跃，这套合集从 2004 年前后开始成型，维护至今
- **在线玩**：作者主页直接托管网页版：https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ （含 js/ 目录下的浏览器版本，无需安装）
- **仓库**：https://github.com/SimonTatham/puzzles

## 这游戏是什么

一句话：**四十来种纯逻辑益智游戏，共用一套代码骨架，每种都能无限生成新关卡、难度可调、网页开箱即玩。**

里面有数独变体（Solo）、扫雷（Mines）、数织（Pattern）、点灯（Light Up）、拉环解圈（Net）、拼图还原（Untangle）、星系划分（Galaxies）……每个游戏单拎出来都不新鲜，新鲜的是打包方式和工程水准。打开网页版，左边一列游戏名单，点谁进谁，三秒后你已经在推第一格了。

它的核心循环长这样：

```mermaid
flowchart TD
    A[点开一局<br>选玩法 + 难度档] --> B[生成器吃种子出题<br>求解器校验唯一解]
    B --> C[玩家读盘面<br>找确定性推理]
    C --> D[落子 / 连线 / 涂格]
    D --> E[mid-end 记录每一步<br>随时撤销重试]
    E --> F{盘面填满且合法?}
    F -->|还差几格| C
    F -->|完成| G[计时 + 难度入档]
    G --> H[再来一局<br>换题不换玩法]
    G --> I[换一种玩法<br>四十选一 图鉴集邮]
    H --> A
    I --> A
```

注意循环里最关键的一环：**生成器不是随机撒格子，而是生成-求解闭环**——每一局都先被求解器验过「唯一解、可推理、难度达标」才递到玩家手上。这就是它二十年不腻的底座：你永远拿到一道「确定能靠脑子推出来」的新题。

## 为什么上头

拆开看，这套合集踩中了益智品类几乎全部的成瘾开关：

**1. 秒开秒玩，规则一句话。** 没有新手引导，没有剧情过场，没有下载条。每种玩法的规则短到能写进一行提示，认知成本趋近于零。益智游戏的留存从来不靠拉新瞬间多炫，靠的是「第二次想到它时，打开路径有多短」。

**2. 反馈极度克制，反而放大了完成爽感。** 大多数玩法不报错、不闪红、不提示——错了你得自己发现，整个推理闭环自己咬合。这正是解谜的「顿悟」时刻为什么值钱：系统什么都没给你，答案是自己长出来的。对比某些手游把提示糊你脸上，这种克制让完成那一格的多巴胺浓度高一个量级。

**3. 无限生成的确定性。** 随机游戏给的是「 unpredictability 的刺激」，益智游戏给的是「确定性里的新鲜」。同一玩法，今天的盘面和昨天完全不同，但保证有解、保证唯一解。玩家的心理账户里这叫「练脑」，越玩越觉得自己变强——进度感是内在的，不需要经验条。

**4. 难度档位是隐形的难度曲线。** 每种玩法从 Trivial 到 Hard 的分档，实际是推理链长度的分档。卡住了降一档找回信心，无聊了升一档找虐，玩家自己给自己排课。

**5. 集邮欲：四十选一的图鉴结构。** 单个玩法卡死了？换个玩法，五分钟回来再战。合集结构把「放弃点」转化成了「转移点」，整体留存天然高于单游戏。这是合集产品对单游戏产品的结构性优势——前提是每个零件质量都过硬。

**6. 时间盒极短。** 单局三到十分钟，完美的摸鱼颗粒度。益智品类的真实使用场景大量发生在排队、通勤、会议间隙，短局制就是为这些缝隙设计的。

## 技术拆解

这个仓库真正的含金量在架构。二十年下来，它沉淀了一套「益智游戏引擎」级别的公共件，每个玩法只剩纯逻辑：

- **mid-end 架构**：每个游戏只实现一组规则接口——`new_game`（建局）、`execute_move`（执行一步）、`interpret_move`（解释输入）、`check_completion`（判完成）。撤销重做、计时、存档、重绘、打印，全部由公共中层统一接管。想自己写解谜游戏，这套接口划分就是现成的课程表：**规则归规则，表现归表现，历史归中层**。
- **Game ID：可分享的关卡。** 每局可以用一段描述串（种子+参数）精确复现。这是「每日一题」「好友对战同题」类产品的现成基建——二十年前的设计，今天看依然是社交化益智游戏的正解。
- **生成器+求解器闭环**：出题必验唯一解，难度用求解器推理深度来分级。做益智游戏的硬功夫全在这，而且是最大门槛——抄界面容易，抄「保证每题可解且不难不水」的管线难。
- **Emscripten 网页版**：官方构建脚本把整套 C 编译成 WASM 跑浏览器，四十个游戏几乎零重写上了 web。老 C 游戏上浏览器、上微信小游戏的路径，这里有完整参照。
- **纯代码绘图，零素材**：所有图形矢量绘制，没有一张贴图。美术成本压到零，换来的是任意分辨率缩放和极小的包体——小游戏起步期最该学的省钱姿势。
- **打印模块**：桌面版可以直接把生成的题目排版打印到纸上。这是个被严重低估的功能，后面变现部分会讲到它值多少钱。

可直接复用的组件清单：mid-end 接口骨架、Game ID 复现方案、生成-求解闭环、WASM 构建脚本、纸面排版管线。对想做益智品类的个人开发者，这个仓库等于一份从生成器到排版输出的全链路参考实现。

## 变现观察

先说作者本人：不卖钱。MIT 协议，网页版免费，主页上连像样的商业化痕迹都没有——这是典型的「工具型极客」路线，仓库的价值由生态兑现。

生态怎么兑现的？几个真实路径：

- **应用商店换皮**：安卓官方移植版之外，商店里长期存在一排基于它或仿它的益智合集，广告版、付费解锁版各走各的路。益智解谜是应用商店广告变现的常青品类：单玩法、无限关卡、离线可玩、包体小、全年龄段——AdMob 生态里最稳的素材类型之一。
- **纸质谜题书**：用生成器批量出题、按难度编排成册，在 Amazon KDP 上卖纸质解谜书，是真实存在多年的小生意。数独、数织类谜题书的稳定需求摆在那里，而 puzzles 的打印模块天然就是排版管线的雏形。「代码免费、纸张收钱」，是这个仓库最被忽视的一条财路。
- **同类跑通案例**：往大了看，独游史上靠单一益智玩法起家的例子一抓一把——Melvor Idle 一个背包玩法的放置游戏做到千万收入（虽然品类不同），更近处，(2026-09-20 本栏写过) 2048 本身没赚钱、满世界换皮版都在赚钱，说的就是同一个逻辑：**玩法开源或玩法简单都不挡钱，挡钱的从来是没人坚持把生成管线做好。**

给这个仓库的变现定性：它自己不收钱，但它把「做一款益智游戏」的技术门槛从「三个月」压到「两周」，把最难的生成器做成了公共品。对个人开发者，这就是杠杆。

## 给我的灵感

**点子一：挑冷门玩法，换皮做独立小 App（MVP 2-3 周）。**
避开烂大街的数独扫雷，从 Galaxies（星系划分）、Tents（帐篷）、Slant（斜线）这类商店供给少、但规则同样一句话能讲清的玩法里挑一个。读 C 逻辑（每个游戏就几千行，可读性极好），用 JS 或 Flutter 重写，配一套自己的视觉主题，接广告 SDK 上架双端。变现：插屏+激励视频（提示卡）。益智 App 的买量回本模型成熟，核心风险不在技术在做 ASO 选题。

**点子二：KDP 谜题书流水线（MVP 1-2 周，零服务器）。**
复用它的生成器思路和打印排版逻辑，写个脚本批量出「变体数独/数织」题集，按难度分册，自动排版导出 PDF，上架 Amazon KDP 按印抽成。冷启动靠长尾关键词（比如「Slant puzzle book for adults」），一册书做好内页后边际成本为零。变现：纸质书直接收钱，是这个仓库生态里最「闷声」的一条路。

**点子三：每日一题益智站（MVP 2 周，吃 SEO 和分享）。**
Game ID 机制天生就是「每日一题」的基建：每天用日期当种子，全人类做同一题，完成后给出「本题推理步数+你的用时」的分享文案，配 streak 连击。玩法从四十个里轮换防止审美疲劳，SEO 吃 puzzle 类长尾词，站内挂展示广告、底部放赞助位。这个钩子 Hello Wordl 已经验证过一次（本栏写过），但它只做了单词一种玩法——把日更钩子架在四十个玩法上，护城河反而更深。

三选一的建议：想赚快钱选点子一，想零成本睡后收入选点子二，想攒一个长期流量资产选点子三。三条路的共同起点是同一个：把 mid-end 架构和生成-求解闭环读懂——那才是这个仓库最贵的四十行接口定义。

## 上手

- 仓库：https://github.com/SimonTatham/puzzles
- 在线玩（作者主页托管，含网页版入口）：https://www.chiark.greenend.org.uk/~sgtatham/puzzles/
- 建议第一件事：打开网页版把 Net 和 Light Up 各玩一局，感受一下「生成器验过唯一解」的题和随手生成的题，手感差在哪里——答案就在那套你最该抄走的管线上。

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