历史 · 2026-07-20
PuzzleScript(2013)——一行规则,量产了全世界的「推箱子游戏」
一张免费的蓝图,分给了 Jam 作者们什么
前言
2013年10月7日,游戏业界媒体 Game Developer(当时还叫 Gamasutra)刊登了一篇短文。标题是「Open-source HTML5 puzzle game engine PuzzleScript now available」。作者是英国独立开发者 Stephen Lavelle,通称 increpare。当时他已经发布过超过500款免费游戏,是位多产的作者,但这天公开的并不是游戏本身,而是一件用来做游戏的工具。
PuzzleScript 是一款完全在浏览器中运行的免费开源解谜引擎。不需要安装,打开网站,左边是简洁的规则描述语言编辑器,右边是即时测试画面。即使没有编程经验,写几行规则就能立刻做出可玩的谜题——这种轻便,后来成了牵动数百名 Jam 作者的起点。
一行代码诞生盘面的示意图(配图・AI 生成)
那个时代的背景
2013年,浏览器游戏的主战场正从 Flash 过渡到 HTML5。同一年,独立游戏发行平台 itch.io 开始公测,个人开发者能把作品以免费或“随意付费”的形式发布给全世界的场所迅速成型。PuzzleScript 正是诞生于这个“工具被民主化的一年”。
根据 Lavelle 本人的说法,PuzzleScript 最初的设想,是做一款类似1991年发布于 MS-DOS 的 ASCII 文字动作冒险游戏《ZZT》那样的、社群制作型游戏工具。但程序员 Tom Murphy 为2012年游戏节 Ludum Dare 做的作品《T in Y World》所用的简洁规则语法,影响了这个构想。研究者 Jonah Warren 在基于对 Lavelle 本人采访写成的论文中记录道,正是这次相遇改变了 Lavelle 的构想,PuzzleScript 被重新设计为“专为纯粹解谜游戏而生的工具”。
转向 HTML5 的2013年浏览器环境示意图(配图・AI 生成)
机制
PuzzleScript 的核心,在于声明式的规则描述。比如仓库番式的“推”动作,官方文档里只用一行就能表示——[ > Player | Crate ] -> [ > Player | > Crate ]。只要改变箭头方向,推的动作就变成了拉。对象也定义在5×5像素的格子上,外观、声音、关卡全都写在文本里就能完成。与学习一整套复杂的通用引擎相比,只需记住这一套声明式语法就够了——这个限制,正是 PuzzleScript 的设计思想所在。
这种轻便也体现在数字上。游戏设计研究者 Jonah Warren 在2019年调查 itch.io 上的数据时发现,用 PuzzleScript 制作的游戏多达508款,开发者有308人。标签使用量的前列是“sokoban”(93次)和“blocks”(106次),“推动”这一个动词分裂成无数细小谜题的过程,就这样留在了数字里。
声明式规则驱动盘面变化的示意图(配图・AI 生成)
延续至今的系谱
PuzzleScript 分发出去的不只是工具。英国开发者 Alan Hazelden(工作室名 Draknek)自2013年起运营自己的工作室 Draknek & Friends,2014年发布了利用镜面反射的《Mirror Isles》,2015年发布了在绳索上行走的《Skipping Stones to Lonely Homes》,两者都是作为 PuzzleScript 的 Jam 作品公开的。同样是在2014年,Hazelden 与 Benjamin Davis 合作,在 PuzzleScript 上搭出了搭雪人谜题《A Good Snowman Is Hard to Build》的原型。次年2015年2月25日,正式版由 Draknek & Friends 发售,后来在 Steam 上也获得高度评价。
这条脉络通向《Baba Is You》的证据,留在了开发者本人的话语里。Arvi “Hempuli” Teikari 在自己作品《Baba Is You》Jam 版本的 itch.io 评论区里直接说过:“多亏了 PuzzleScript,我觉得推箱子类的解谜游戏近年变得兴盛起来了。” 《Baba Is You》本身诞生于2017年的 Nordic Game Jam,灵感来自题目“Not There”,Teikari 列出的直接影响来源包括《Snakebird》《Stephen's Sausage Roll》,以及正是《A Good Snowman Is Hard to Build》。2019年3月,扩展版在 PC 和 Switch 上正式发售,并在当年的 Game Awards 上获得包括最佳解谜/问答游戏等多个奖项。
也就是说,这条系谱是这样连起来的:一款免费的引擎(2013)→ 一位作者量产的一批 Jam 作品(2014-15)→ 其中一款结晶为商业解谜游戏(2015)→ 另一位作者把它列为影响来源之一,同时也向引擎本身致谢(2017-19)。我认为,这里的祖先并非某一款单独的游戏,而是那个免费分发出去的一行规则语法本身。
无数小品汇入同一股潮流的示意图(配图・AI 生成)
参考资料
本文参考的信息来源:
・Game Developer: Open-source HTML5 puzzle game engine PuzzleScript now available(2013)
・Jonah Warren, "Tiny Online Game Engines"(包含对 Lavelle 本人的采访的研究论文)
・Alan Hazelden: Mirror Isles(2014)
・Alan Hazelden: Skipping Stones to Lonely Homes(2015)
・Wikipedia: A Good Snowman Is Hard To Build
・Game Developer: Q&A — A Good Snowman Is Hard To Build(提及 PuzzleScript 原型)
・Hempuli(Arvi Teikari)本人留言 — Baba Is You(Jam Build),itch.io
・Red Bull: Developers Hempuli Oy talk Baba is You and video game toughness
结语
写这篇文章时让我意外的是,这条系谱的起点不是“作品”,而是“工具”。以前我也写过把仓库番这样一款作品当作祖先的文章,但在 PuzzleScript 这里,Lavelle 在2013年放手的那一套声明式语法,落到了数百位素不相识的作者手中,其中一位恰好完成了一款留存至今的作品。历史往往就是由这类无名的分支积累而成的。
在2026年的今天,如果去追溯 Steam 上“thinky puzzle”分类里那些作品的作者,会发现不少人都经过了 PuzzleScript 的 Jam 场景。免费、说明书单薄、只用一行就能写出规则——这种类似1983年铸造式解谜玩具的限制,13年后的今天依然在静悄悄地孕育新的作者。我认为,这正是这件工具留下的最大遗产。
等待下一位作者的、安静的编辑器画面示意图(配图・AI 生成)
Reactions (no login)
Anonymous • one of each per visitor per day