首页 › games › 《PuzzleScript》一页文本,推出一万个游戏

《PuzzleScript》一页文本,推出一万个游戏

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 像素——你唯一要做的决定,是选哪个人群、装哪个变现管道。

七、上手

结语

大多数「小游戏变现」的叙事,是找一个爆款玩法换皮。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 等场景全覆盖。

51学通信知识星球海报-扫码加入