2013年,一位爱尔兰独立设计师做了一件当时看着不起眼的小事:他把一个游戏引擎,压缩成了一个网页。打开它,左边是一段不到一百行的文本,右边是一块棋盘;点一下运行,文本就变成一个能玩的推箱子式解谜游戏。改一个字符,整个世界的行为跟着变。
这个人叫 Stephen Lavelle,网名 increpare。在独立游戏圈他是解谜设计领域的狠人——据其个人主页,他发布过几百款小游戏,绝大多数免费。但他留给普通玩家最大的遗产不是某一款游戏,而是这个仓库:increpare/puzzlescript——一台「把文本变成游戏」的机器,也是个人开发者入局解谜赛道的最低门槛。
注:本文仓库数据(Star、License、目录结构等)据仓库页面与公开资料整理,本次未能实时联网核验,提交前请以 GitHub 当前页面为准。
| 项目 | 信息 |
|---|---|
| 仓库 | increpare/puzzlescript |
| ⭐ Star | 以仓库页面为准(本文未实时核验;在独立游戏工具类仓库里知名度很高) |
| 语言 | JavaScript 生态:源码主体以 CoffeeScript 组织,编译后在浏览器运行,纯前端(据仓库页面) |
| License | 开源免费,具体协议类型以仓库 LICENSE 为准 |
| 作者 | Stephen Lavelle(increpare),爱尔兰独立游戏设计师,个人账号,非组织 |
| 贡献者 | 以作者本人为主,社区零星 PR(据仓库页面) |
| 配套 | puzzlescript.net 在线编辑器,打开即用,什么都不用装 |
| 维护状态 | 2013 年发布至今长期低频维护,工具形态早已稳定 |
一句话定位:它不是一个游戏,是一个用纯文本写解谜游戏的迷你引擎。游戏性藏在「写它」和「玩它」来回切换的那条缝隙里。
一句话说清:在网格棋盘上推方块、踩机关,规则由十几行文本定义——而这个文本,任何人十分钟就能上手改。
PuzzleScript 里的每个游戏共享同一副骨架,血脉来自 1982 年日本 Thinking Rabbit 公司那款《推箱子》(Sokoban):网格、推动、触发、目标点。默认模板打开就是一个标准推箱子。但它的规则是开放的——你写「推动时一起动」「碰到就消失」「踩到就变身」,它就照办。于是同一个引擎下,有人做纯推箱子,有人做出时间倒流、分身操纵、重力反转,全都是十几行文本的产物。
它的核心循环有个罕见的分叉:玩家玩着玩着,会变成作者。
flowchart TD
A[打开一关<br>关卡就是几行ASCII字符] --> B[按一个方向键]
B --> C[规则引擎重算整盘<br>该动的动 该触发的触发]
C --> D{目标达成了吗}
D -- 还差一步 --> E[Z键撤销<br>失败成本为零]
E --> B
D -- 达成 --> F[过关音效<br>进入下一关]
D -- 出现没料到的局面 --> G[咦 规则还能这样组合]
G --> H[切到编辑器<br>改一行规则 点运行立刻试玩]
H --> B
F --> I[玩别人分享的关卡<br>或者自己写一关]
I --> A
看这个图的右半边:从「玩」到「改」再到「发布」,循环没有出口,只有换挡。这是它和普通解谜游戏最大的差别——普通游戏把内容喂给玩家,PuzzleScript 把生产内容的权力一起交了出去。上头的不是某一关,是「我也能造一个」这个念头本身。
拆机制,每一条都对应你能抄走的细节:
1. 无限撤销,把失败的定价打到零。 PuzzleScript 游戏的标配操作:方向键移动,Z 撤销,X 重开,撤销不限次数。动作游戏里失败要付时间成本(重跑整关),而在这里,走错一步按一下 Z 就回到三步前。行为设计上这是把「试错的惩罚」清零——玩家于是敢无限尝试,而无限尝试就是心流的燃料。推箱子这个品类四十年不死的根基就在这,PuzzleScript 把它做成了默认设置。
2. 一关一分钟,节奏密度极高。 关卡数据就是几行字符画,天然小。好的 PuzzleScript 关卡多数一分钟能通,卡住的那几关也只是「差一步」。短回合+高频通关反馈,就是「再玩一关」这句话的物理来源——和短视频的成瘾结构同源,只是内容换成了谜题。
3. 规则少,涌现多,惊喜是设计出来的。 引擎的规则系统是「图案重写」:你写 [ > Player | Crate ] -> [ > Player | > Crate ],意思是玩家往前走时,箱子被往前推。十几条这样的短规则组合起来,经常冒出作者自己都没预料到的行为——两条规则在棋盘边缘互相干涉,凭空多出一个新机制。对玩家这是「咦还能这样」的多巴胺;对设计课这是「涌现式玩法」的现场教学。
4. 反馈延迟约等于零。 编辑器和游戏在同一个页面,改一个字符,点一下运行,立刻看到世界的变化。创作类工具上头的全部秘密就是压缩「行动→看到结果」的延迟:别的引擎装一次 IDE 半天,这里是零点几秒。创作者是最高等级的玩家——一个产品同时留住玩的人和造的人,留存结构就比别人厚一层。
5. 关卡即文本,分享即传播。 一关就是一段可以直接贴进论坛、贴进聊天框的字符。别人玩懂你的关卡,就是一次社交确认;你在评论区留一句「这关我用了 14 步」,攀比就有了出口。没有服务器、没有账号系统,UGC 飞轮照样转起来——这是个人开发者最该眼红的部分。
6. 收集欲的变体:收集「机制」而不是「道具」。 传统游戏收集金币皮肤,这里玩家收集的是「我见过的规则组合」。每发现一种新交互,就解锁一种看谜题的新眼光。这种收集不占存储空间,但黏性极强——因为它长在脑子里。
对开发者来说,这个仓库的价值可能超过它作为工具的价值——它是一个完整的、一个人写完的、跑在一张 HTML 页面里的 DSL 编译器。
技术栈: 纯前端。源码主体 CoffeeScript,编译成 JavaScript;渲染用 HTML5 Canvas;没有服务器、没有依赖、没有构建负担,单页应用,可以离线跑、可以 iframe 嵌进任何网站(据仓库页面)。
一段文本是怎么变成游戏的? 一份 PuzzleScript 脚本分五段:图例(legend,声明哪个字符是什么图块)、碰撞层(collision layers,声明谁能和谁相互作用)、规则(rules,图案重写式)、胜利条件(win conditions)、关卡(levels,ASCII 字符画),外加内联的音效参数。编译器把文本解析成三张表:
flowchart LR
T[一段文本<br>图例+碰撞层+规则+关卡] --> P[内置编译器解析]
P --> O[图块对象表<br>5x5像素画+调色板内联]
P --> R[规则模式库<br>网格图案重写]
P --> L[关卡矩阵<br>ASCII字符串]
O --> E[Canvas渲染<br>+输入循环]
R --> E
L --> E
E --> G[可玩的网页游戏]
架构亮点,条条可抄:
可复用组件清单:文本 DSL→游戏状态的编译管线;网格图案重写引擎;确定性撤销/回放栈;字符画关卡格式与双栏编辑器布局。抽出来这套东西,做一个「任意网格解谜」项目的工程量,只剩写你自己的规则文案。
先说仓库本身:零变现痕迹。 没广告、没付费墙、没内购。引擎免费开源,在线编辑器免费,作者自己的游戏大多免费或随意付。Stephen Lavelle 有部分作品上过 Steam 定价售卖,但 PuzzleScript 本身走的是纯粹的声誉资产路线——它让「increpare」这个名字成了解谜设计圈的硬通货。这是一条路,但对想变现的你,更重要的是这条工具链下游的真实生意:
下游路径一:解谜小游戏本身就是变现最稳的品类之一。 这个设计谱系往上能摸到 Steam 爆款:2019 年的《Baba Is You》——「推动单词、改写规则」的推箱子变体,IGF 拿奖、Steam 大卖,证明极简网格解谜加一个好机制,商业天花板足够高。往下能落到微信/抖音小游戏:推箱子类是常青类目,插屏广告打底、激励视频做「撤销一次/提示一次」,是跑了很多年的成熟管道。
下游路径二:itch.io 与 H5 聚合平台。 itch.io 上挂 PuzzleScript 标签的游戏你翻不到头,大量作者用「随意付」定价——有人白送攒粉丝,有人定价两三美元赚零花。CrazyGames、GameDistribution 这类 H5 聚合平台常年收益智解谜,按广告分成或买断结算,一个人一两周的工程量就能交货。
下游路径三:工具本身也可以是生意。 引擎开源免费,但围绕引擎的服务可以收钱:关卡合集包、进阶教程、主题模板(比如专门为汉字谜题调好的部首图块包)、编辑器托管与分享社区。开源工具的商业化模板在开发者工具圈被验证过无数遍,游戏工具圈同样适用。
顺手记一笔定价心理: 解谜玩家对「一次买断 3-5 美元」的接受度高于多数休闲品类,因为品类心智是「动脑子值得付费」;但他们对广告的容忍度偏低。做解谜,付费墙比广告墙更顺。
三个可以直接动手的点子,按工作量从小到大排:
点子1:换题材——汉字推箱子(MVP 2-3 个晚上)。 用 PuzzleScript 原班机制,把箱子换成汉字部件:把「木」推进「木」门拼出「林」,再进一步拼成「森」;或者用偏旁部首组字成词。常用部首用 5×5 像素完全画得出来,规则照抄默认模板。变现:itch.io 随意付试水,反响好就包壳上微信/抖音小游戏,插屏+激励视频。汉字题材是海外克隆追不上的——中文开发者的天然护城河。
点子2:加一层钩子——每日一关+异步比拼(MVP 1-2 周)。 引擎是确定性的,天然支持种子:每天全服同一关(用日期做种子程序生成),记录最少步数;通关生成分享卡片(关卡文本+步数),好友点开直接进同一关。不需要实时联机,一个轻后端存榜单就够。变现:微信小游戏广告打底,「查看今天前 10% 步数线」做成激励视频点位。种子确定性+攀比,是被反复验证过的传播结构。
点子3:加一层钩子——中文解谜创作社区(MVP 2-4 周)。 fork 本仓库,编辑器加中文文档、新手模板和「关卡广场」:玩家做完关生成分享链接,好关卡进精选。内容引擎是 UGC,你只维护编辑器和精选位。变现:精选关卡合集定价出售或打赏、社区页广告位,给教育机构、字库厂商做定制关卡也是潜在单子。工程量集中在社区前后端,引擎本体是现成的。
三个点子的共同底座:玩法骨架四十年被验证、生产工具零成本、美术被压到 5×5 像素——你唯一要做的决定,是选哪个人群、装哪个变现管道。
[ > Player | Crate ] -> [ > Player | > Crate ],把它删掉再运行——你会瞬间理解「规则即游戏」;然后加一个箱子、一个目标点,写下你的第一条新规则大多数「小游戏变现」的叙事,是找一个爆款玩法换皮。PuzzleScript 给的是另一条路:把「做一个游戏」的成本压到一段文本,让创意的试错速度变成你的护城河。一个人、一个周末、几百行文本,就能拥有一个挂上商店的解谜游戏——这事在 1982 年需要一个公司,在 2013 年需要一个程序员,在今天只需要一个想法和一个浏览器标签页。
它同时提醒你:工具作者用它换到了声誉,下游用它的人换到了销售额。同一个开源仓库,两种变现位——选哪个位置入场,比入场本身更重要。
[!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 等场景全覆盖。
