第 8 章
工具箱的民主
屏幕上的小人站在网格中央,一动不动。他穿着一件看不出颜色的像素外套,头顶没有名字,脚下是一块默认的绿色草地。创建他的那个人——一个在社区大学教创意写作的兼职讲师,三十一岁,刚和女友分手,租住在布鲁克林一间冬天暖气不足的公寓里——盯着这个小人看了大概五分钟。
他不知道自己接下来该做什么。他也不知道自己和成千上万个同样在打开这款工具的人有什么不同。教程视频里说,你应该先画一个房间。于是他点开房间编辑器,一张由正方形格子组成的画布铺满了屏幕。他在左侧工具栏里选中“墙壁”,开始在格子上点击。点一下,一个灰色方块出现。再点一下,又一个。
他沿着画布边缘画了一圈墙壁,在中间留了一条通道,又在通道尽头放了一个红色的方块——教程说那是“敌人”。然后他点击“运行”,小人开始在房间里走动。走到红色方块旁边,小人停了下来。什么也没发生。
他不知道怎么让敌人动起来,不知道怎么设置碰撞伤害,不知道怎么让小人死掉或者赢。但他知道一件事:那个小人刚才动了。因为他按了键盘上的方向键,小人就动了。这个事实让他感到一种奇怪的心安。
这是RPG Maker VX的界面,2009年的版本。同一年,在英格兰中部某个小镇的卧室里,一个十七岁的少年正在GameMaker 8的房间里画平台。他已经在论坛上泡了三个月,看了几十个教程,下载了五个开源项目来拆解。他知道怎么设置重力变量,怎么写一个基本的碰撞检测脚本,怎么让角色在按下空格键时向上跳。
但他卡在了一件事上:角色的跳跃高度总是感觉不对。太低了,角色像是在地面弹了一下;太高了,角色像是在月球上飘。他反复调整那些数字——重力加速度,初始跳跃速度,最大下落速度——每次调整完就运行游戏,让那个蓝色的方块角色跳一次,然后退出,再调整。他这样做了整整一个下午。窗外天黑了,他妈妈在楼下喊他吃饭,他说再等五分钟。
那个下午,他什么都没有“做成”——没有新关卡,没有新敌人,没有新机制。但他学会了某种东西。他的手指开始知道,当重力设为0.4、跳跃速度设为-8的时候,角色在空中停留的时间刚好够玩家做出下一个动作的决定。这不是他从书里读到的,不是教程里教的。这是他一个下午反复让那个方块跳起来又落下,在身体里养成的直觉。
Ren’Py的默认脚本文件名叫“script.rpy”。打开它,里面已经写好了几行代码:define e = Character("Eileen"),然后是label start:,接着是e "Hello, world."。Eileen是Ren’Py的默认角色。她有一头紫色的短发,穿着一件白色的校服式衬衫,表情温和而中性。她存在于每一个Ren’Py的初始项目里,像一个已经站在舞台上但还没有台词的演员。Ren’Py的创建者PyTom在设计这个默认项目时做了一个看似微小的决定:他没有让默认脚本从一段环境描写开始,没有从一个菜单开始,没有从创建角色开始。他让一个具体的人——Eileen——站在场景中央,说出第一句话。这句话是“Hello, world.”,程序员最熟悉的那句话,但在这里它被放进了一对双引号里,变成了一个角色的台词。这个决定暗含着一种态度:在这个工具里,世界是从角色开始的。不是从规则,不是从空间,不是从系统。是从一个人对另一个人说话。
那些第一次打开Ren’Py的人——他们中有很多从未写过一行程序——看到这个默认脚本,会试着把“Hello, world.”改成别的话。改成“你终于来了。”改成“我知道你恨我。”改成“门没锁,进来吧。”然后他们点击运行,看到Eileen站在屏幕中央,背景是一张模糊的教室图片,对话框里显示着他们刚刚写下的那句话。这个时刻——自己写的文字出现在一个角色的对话框里——是一种特殊的体验。它不是写作,不是编程,介于两者之间。一个写了十年同人小说的作者后来在论坛上描述过这种感觉:“我突然意识到我不是在写一个故事,我是在让一个人说话。”
GameMaker的默认项目不给你任何人。打开它,你面对的是一个空房间的俯视网格。没有角色,没有对话,没有故事。只有网格。
这个网格的每一个格子是32像素乘32像素。这个数字不是任意的——它来自那个时代的显示器和显存限制,来自Mark Overmars在九十年代末做第一个版本时对性能的考量。但这个技术决定在十几年后变成了一个美学参数。32乘32,意味着你的角色大概是一个格子的高度,两个格子的宽度。意味着一个平台通常不少于三个格子宽——否则角色站不上去。意味着两个平台之间的最小间距是角色跳跃高度所能达到的格数。
这些数字不是写在文档里的规则,但每一个用GameMaker做平台游戏的人最终都会发现它们。他们不一定知道这些数字,但他们的手指知道。当一个平台“感觉太窄”时,那是因为它少于三个格子。当一段跳跃“感觉太远”时,那是因为间距超过了角色最大跳跃格数。这些感觉被反复调试,直到变成一种集体的、不言自明的知识,在论坛的帖子和教程视频里流动。
Unity的默认项目是一片空。打开Unity 3.0——2010年秋天的免费版本——你会看到一个空白的3D场景,默认的灰色背景,一个主摄像机,以及场景中央一个默认的方向光源。没有地面,没有角色,没有任何物体。你可以在菜单里选择“创建立方体”,一个白色的立方体会出现在场景原点。你可以旋转视角,看着这个立方体在灰色的虚空中悬浮。你可以点击“运行”,什么也不会发生——立方体不会动,摄像机不会动,光不会变。这就是全部。Unity在说:这里是空间,这里是光,这里是一个物体。剩下的,你自己来。这种“空”是Unity最根本的品性。它不像GameMaker那样给你网格,不像RPG Maker那样给你村庄,不像Ren’Py那样给你一个会说话的角色。它给你一个物理空间的基本参数,然后退后。这种退后是一种姿态。它假设你知道自己要做什么。或者,它不关心你是否知道。
对于那些从GameMaker或RPG Maker转过来的开发者,Unity的空是一种冲击。在GameMaker里,创建一个会跳的角色意味着在对象属性里勾选几个选项,写几行简单的脚本。在Unity里,创建一个会跳的角色意味着你要理解GameObject和Component的关系,你要给角色挂上刚体组件和碰撞体组件,你要写一个C#脚本来读取输入并施加力,你要理解FixedUpdate和Update的区别。这些概念不是特别难——Unity的文档写得很清楚,论坛上的教程也足够多——但它们构成了一道不同的门槛。GameMaker的门槛在开始的地方很低,但当你想要突破网格逻辑时,它会变高。Unity的门槛在开始的地方就比较高,但它不会在之后突然升高——它始终维持在一个相对稳定的高度,直到你撞上引擎本身的性能边界。
这种差异塑造了两类不同的创作者。一类人从GameMaker或RPG Maker入门,在工具的庇护下发展出自己的美学,然后可能在某个时刻感到工具的边界,决定迁移到Unity。另一类人直接从Unity入门,他们没有被任何预设的美学框架保护过,但也因此没有继承任何框架的限制。他们的作品往往更难归类——不是平台游戏,不是RPG,不是视觉小说,而是某种混合体。这种混合不是有意为之的叛逆,而是一种自然的结果:他们没有被告知游戏“应该”是什么类型,所以他们做出了从未存在过的类型。
但这里有一个容易被忽略的事实:工具的迁移是有成本的。一个在RPG Maker里做了五年游戏的创作者,她的整个工作流程、她的视觉语言、她对游戏结构的理解,都已经和那个工具的骨架长在了一起。当她打开Unity,面对那片空白时,她失去的不仅是一个熟悉的界面,而是一整套已经内化的创作方法。她知道怎么在RPG Maker里让一段对话变得动人,但她不知道在Unity里怎么让两个物体碰撞。
这种失去不是技术上的,是身体上的。她的手指知道RPG Maker的快捷键,她的眼睛知道默认素材的色板范围,她的大脑知道一个地图文件的大小上限。这些东西在Unity里全部失效。她必须重新训练自己的身体。
有些人做到了。有些人没有。那些没有做到的人,他们的故事很少被记录。成功者叙事总是讲述那些成功迁移的人,但迁移本身就是一次筛选——它筛选掉那些没有时间重新学习的人,那些无法承受生产中断的人,那些在旧工具里已经建立了受众、无法承受沉默期的人。
RPG Maker的默认素材——那些绿色的草地、棕色的木屋、蓝色的史莱姆——在2010年代初期已经成为一种视觉上的通用语。它们如此普遍,以至于一个玩家只需要看一眼截图,就能立刻识别出“这是一个RPG Maker游戏”。这种识别带来的是一种复杂的反应。一方面,它降低了游戏被发现的门槛:喜欢RPG Maker游戏的人会知道这是他们想玩的类型。另一方面,它带来了污名。
在Steam的评论区,在游戏媒体的评测里,“RPG Maker游戏”在某些语境下变成了一个贬义词——它暗示着业余、缺乏原创性、换皮。这种污名是不公平的,但它真实存在,而且它塑造了使用这个工具的创作者的处境。
一些创作者选择拥抱默认素材,把它们当作一种媒介来使用,就像画家使用现成的颜料。他们利用玩家对默认素材的熟悉来制造反差的震撼——在一个看起来像是标准RPG的世界里放置完全不符合期待的内容。另一些创作者则选择逃离默认素材。他们自己画图块,自己设计角色,试图让游戏看起来“不像RPG Maker做的”。
但逃离本身也是一种被工具塑造的行为。当你在RPG Maker里替换掉所有默认素材时,你仍然在使用它的地图编辑器、它的战斗系统骨架、它的事件触发逻辑。你只是换了一层皮。工具的骨骼还在那里,支撑着你的作品,也在暗暗规定着它的姿态。
Ren’Py的品性则更为专注。它是一个为视觉小说设计的引擎,它的核心功能是显示文字、立绘、背景,以及在屏幕上放置选择支。它的脚本语言极其简单:一句对话就是一对双引号包裹的文本,一个选择就是menu后面跟几个选项。这种简单性意味着,Ren’Py几乎没有在其他游戏类型上做任何让步。你不会想用它做动作游戏,你不会想用它做策略游戏。它只做一件事,而这件事恰好是文字。
这使得Ren’Py吸引了一群在其他游戏工具里找不到入口的人。他们不是不会编程——Ren’Py仍然需要写脚本——而是他们对游戏的传统形态不感兴趣。他们想做的是交互式小说,是分支叙事,是让读者在关键节点做出选择然后面对后果。
这些人中有很多来自同人创作圈。他们进入Ren’Py时携带的是一整套关于叙事的习惯和期待,而不是关于游戏的。他们的作品在视觉小说圈子里传播,然后溢出到更广的范围。一些Ren’Py游戏的影响力远远超出了游戏圈——它们被当作文学作品讨论,被改编成动画,引发了关于叙事形式本身的争论。
这里有一个值得注意的细节。Ren’Py的默认界面是极简的:白色背景上的黑色文字,对话框在屏幕底部,选择支以按钮形式出现在中央。这个界面看起来不像一个“游戏引擎”,它看起来像一个写作软件。这不是偶然的。工具的界面本身就是一种修辞。它告诉使用者:你在这里做什么。当GameMaker展示一个网格房间时,它在说:你在这里建造空间。当RPG Maker展示一个村庄地图时,它在说:你在这里填充世界。当Ren’Py展示一个文本编辑器时,它在说:你在这里写作。这些界面不是透明的窗户,它们是有倾向的框架。它们让某些类型的创作变得自然,让另一些类型的创作变得需要额外的努力。
在2010年前后,这些工具的集中成熟与免费化共同构成了一次门槛的集体下沉。下沉的幅度之大,以至于当时的人很难充分意识到它的后果。人们倾向于把这看作技术普及:工具变便宜了,所以更多人能用了。但技术普及本身从来不只是技术问题。
当门槛降到某个临界点以下,问题的性质就变了。一个需要从零编写引擎才能做游戏的世界,和一个人打开RPG Maker就能让角色在村庄里行走的世界,是两个不同的世界。在前一个世界里,“做游戏”首先是一个工程学问题,表达是工程完成之后的事。在后一个世界里,工程学问题被工具内部消化了,表达变成了起点。
这意味着,那些从未想过自己能做游戏的人——写作者、漫画家、音乐人、想讲一个故事的青少年——突然发现自己可以做游戏了。他们进入这个领域时携带的不是计算机科学的训练,而是其他的东西:叙事的本能、视觉的品味、对某种氛围的执念。他们不会写C++,但他们知道一个故事应该从哪里开始,知道什么样的色调让人觉得不安,知道一段对话的节奏应该怎样控制。工具箱的民主,真正的民主不在于价格标签,而在于它重新定义了“谁有资格”。
但工具从来不只是中性的通道。每一种工具都有自己的品性,自己的倾向,自己暗暗鼓励的美学方向。这不是工具设计者的阴谋,而是任何工具都有的结构性事实。一支毛笔和一支钢笔不会让你写出同样的字,即使你试图表达的是同一个意思。
GameMaker的品性是网格。当你打开它的房间编辑器,你看到的是一张由正方形格子组成的画布。你放置的每一面墙、每一个平台、每一个敌人,都落在格子的交叉点上。这种网格逻辑不是GameMaker的缺陷——它是GameMaker的本体论。
它规定了这个世界的空间是离散的,运动是精确到格子的,碰撞是一块与另一块之间的关系。在这样的世界里,最容易做好的游戏是什么?是平台动作游戏。是那种角色从一个平台跳到另一个平台,每一步都踩在格子的整数坐标上的游戏。这不是说GameMaker不能做其他类型,而是说,当你第一次打开这个工具,当你还不太确定自己要做什么的时候,网格已经在替你做出最初的决定。它温柔地把你的手引向那个方向。
于是我们看到,在2000年代后期到2010年代初期,GameMaker社区里涌现出大量的平台动作游戏。它们中的许多在视觉风格、叙事基调、关卡设计上各不相同,但它们共享着某种精确而克制的气质。那种克制不是偶然的——它是网格的产物。当你的世界由格子构成,你自然会倾向于设计那些在格子上读起来舒服的空间关系。
一个平台应该多宽?八个格子。角色应该跳多远?五个格子。这些数字不是从游戏设计理论里推导出来的,它们是从工具里长出来的。一个开发者可能从来没有读过任何关于关卡节奏的文章,但他反复调整那个平台的宽度,直到它“感觉对了”。这个“感觉”,一部分是他的审美判断,另一部分是网格在他身体里养成的直觉。
RPG Maker的品性则完全不同。它的默认项目是一整套已经运转起来的RPG骨架:俯视视角的像素地图、回合制战斗、经验值与等级、装备与道具、随机遇敌。这个骨架如此完整,以至于你几乎不需要理解它的运作原理就可以开始创作。你只需要画地图,写对话,设置敌人的数值。
这种完整性带来的是一种独特的创作姿态:你在一个已经存在的世界里工作,你的任务不是建造这个世界,而是填充它、扭曲它、破坏它。RPG Maker的默认素材——那些小村庄、草地、洞穴、史莱姆、战士与法师——构成了一套视觉上的通用语。它们看起来像是从某个超级任天堂时代的游戏里截取出来的,但它们不属于任何一款具体的游戏。它们属于RPG Maker本身。它们是这个工具的语言。
这套语言的力量在于它的可预期性。当一个玩家打开一款RPG Maker游戏,他看到那些熟悉的素材,他的大脑会自动加载一整套期待:这大概是一个关于冒险的故事,会有战斗,会有装备,会有村庄里的NPC给任务。而创作者可以利用这些期待来做各种事情。
他可以满足它们,也可以背叛它们。他可以在那个看起来像是新手村的地方放置一段关于死亡的独白。他可以让那个默认的战士角色在游戏开始十分钟后就死去,然后故事变成他的妹妹在悲伤中重建记忆。他可以把整个战斗系统保留,但把敌人全部替换成隐喻性的存在——焦虑、失眠、对失败的恐惧。他也可以完全不做战斗,只利用RPG Maker的地图编辑器来做步行模拟器,让玩家在一个像素小镇里走来走去,听每个人说话,拼凑出一个秘密。
这些做法都在RPG Maker社区里真实发生过。从2000年代中期开始,一个以私密叙事和诡异实验为特征的创作脉络在这个工具的使用者中逐渐成形。这些游戏通常不追求商业发行,它们被上传到论坛、个人网站、后来的itch.io,供少数同好下载和讨论。它们的创作者往往是第一次做游戏的人,他们之前可能是同人小说作者,可能是画像素画的,可能只是一个有很多想法但不知道放在哪里的高中生。RPG Maker给了他们一个容器。这个容器有它自己的形状,但它足够宽敞,宽敞到可以装下各种意想不到的东西。
到2010年代中期,这些工具已经各自孕育出了可辨识的创作传统。GameMaker社区以精确的2D动作游戏著称,从《洞窟物语》式的单人探索到后来那些在节奏和反馈上做到极致的小品,网格逻辑在这些作品里被推到了它所能承载的边界。RPG Maker社区成为了实验叙事的温床,那些关于抑郁、性别、记忆、创伤的游戏在论坛和itch.io上流传,它们的粗糙像素画面与沉重主题之间的张力本身就是一种美学。Ren’Py社区则催生了一个庞大的视觉小说生态,从同人作品到原创长篇,从浪漫喜剧到哲学沉思,这个生态的规模和质量已经使得“视觉小说”成为了一个独立的门类,有专门的发行商、评论媒体和年度评选。
这些传统不是工具设计者计划好的。Mark Overmars在九十年代末创建GameMaker的最初版本时,他大概只是想做一个教育工具,让学生们更容易学习编程。RPG Maker的日本开发者们大概也没想到,他们的产品会在二十年后成为一群欧美青少年表达内心世界的首选工具。Ren’Py的创建者PyTom最初是为了给自己的视觉小说项目做一个引擎,然后才决定把它公开分享。工具的历史总是这样:它们被创造出来是为了解决某个具体问题,但一旦进入使用者的手中,它们就开始长出设计者从未想象过的生命。
但这里也有代价。工具的便利性是一把双刃剑。当门槛降到足够低,当“不会编程”不再是一个有效的借口,一种新的压力出现了:如果你还是不做游戏,那是为什么?以前,一个人说“我想做游戏,但我不懂编程”,这句话里包含着一种被社会认可的无奈——不是你的错,是技术太难了。
但当GameMaker和RPG Maker摆在面前,当YouTube上有几百个小时的教程,当论坛上随时有人愿意回答新手的问题,这种无奈就失效了。剩下的是一种更尖锐的自我质问:工具已经在这里了,你为什么还没有做出东西来?这种质问是隐形的,但它弥漫在那些年的论坛帖子和社区讨论里。它很少被直接说出,但它像背景辐射一样存在。
它和另一种压力缠绕在一起:当你终于做出了东西,你的作品会被放在一个巨大的、不断膨胀的作品池里,和其他所有人的作品一起竞争注意力。工具让创作变得可能,但它不保证你的创作会被看见。这个矛盾在2010年代中期开始变得尖锐。
那些因为工具限制而放弃的创作者,他们的故事很少被讲述。成功者叙事天然倾向于记录那些克服了困难的人,而不是那些被困难克服的人。但如果我们诚实一点,我们必须承认:工具的门槛降低,并不意味着所有人都能平等地跨过去。一个每天工作十二个小时的餐厅服务员,和一个有大把课余时间的大学生,他们面对同样的免费工具,但他们能投入的时间完全不同。
一个需要照顾年迈父母的成年人,和一个住在父母家里不用付房租的年轻人,他们的泡面预算有着截然不同的含义。工具的民主化是在技术层面上发生的,但生活的不平等不会因为一个免费引擎就自动消失。
那些年里,在论坛的角落里,偶尔会出现这样的帖子:一个人说他下载了GameMaker,跟着教程做了第一个房间,但然后就没有然后了——工作太累,孩子太吵,生活里总有比那个网格房间更紧急的事。这些帖子通常没有多少回复,它们很快就沉下去了,被新的作品展示帖覆盖。但它们存在过。它们是工具箱民主的阴影部分。
Unity的故事在这个脉络里占据着特殊的位置。当它在2009年推出免费版本时,它带来的不是某种类型的倾向,而是一种全新的可能性:一个真正意义上的通用引擎,可以同时做2D和3D,可以部署到多个平台,有一个正在快速成长的资源商店。Unity的品性不是网格,不是默认RPG骨架,不是文本编辑器——它的品性是空。打开Unity,你看到的是一张空白的3D场景。没有默认角色,没有预设的游戏逻辑,没有任何东西在运转。你可以从零开始搭建一切。
这种空是一种自由,也是一种负担。自由在于,你几乎可以做任何类型的游戏。负担在于,你必须自己决定一切。Unity不会像GameMaker那样温柔地把你的手引向平台动作游戏,也不会像RPG Maker那样给你一个完整的世界让你填充。
它把所有的可能性摊开在你面前,然后退后一步,等你做出选择。对于那些已经知道自己要做什么的创作者来说,这是强大的力量。对于那些还不知道的人,这可能是一种麻痹。空白画布可以激发创造力,也可以引发焦虑。在Unity社区里,一个反复出现的话题是“项目启动困难”——不是技术上的困难,而是面对无限可能时无法做出第一个决定的那种困难。
但Unity的空也意味着另一件事:它不预设任何美学。GameMaker的网格逻辑暗暗鼓励像素美术和精确的空间设计;RPG Maker的默认素材构成了一套视觉语言,使用它就是进入一个既有的美学传统;Ren’Py的文本系统天然倾向于文字驱动的叙事。Unity没有这些。你可以在Unity里做像素游戏,也可以做写实3D;可以做第一人称射击,也可以做抽象实验。这种美学上的中立性,使得Unity成为了那些想要逃离工具预设的创作者的选择。如果你觉得RPG Maker的默认素材太局限,如果你觉得GameMaker的网格太束缚,如果你觉得Ren’Py只能做视觉小说——Unity在向你招手。
但Unity也有自己的倾向。它的倾向不在美学层面,而在结构层面。Unity是一个组件式引擎:游戏对象由组件构成,每个组件负责一种功能——渲染、物理、碰撞、脚本。这种架构鼓励一种特定的思考方式:把游戏分解为独立的、可替换的部件。一个角色是一个GameObject,上面挂着渲染组件、碰撞组件、脚本组件。你想让角色飞起来?加一个刚体组件,在脚本里给它一个向上的力。这种思考方式非常强大,但它也是一种规训。它教会开发者以某种方式理解游戏:游戏是对象的集合,对象是组件的集合。这种理解不是错误的,但它不是唯一可能的理解。一个从RPG Maker入门的开发者可能会把游戏理解为一个世界,里面有角色和事件;一个从Ren’Py入门的开发者可能会把游戏理解为一段有分支的文本。这些不同的理解不是高下之分,而是工具在创作者头脑中留下的痕迹。
而当工具的免费化与易用性将创作者引入生态之后,一种更为隐蔽的机制开始运转。Unity的免费版本在功能上几乎与付费版本无异,但它的真正力量不在于价格标签——而在于一旦你开始用Unity做游戏,你的项目文件、你的工作流程、你积累的每一个预制体和脚本库,都变成了Unity格式。迁移到另一个引擎的成本随着项目的推进而不断升高。这不是技术锁定的老故事。这是一种更软的东西。你没有被强迫留下。你只是发现离开变得越来越不方便。你的论坛收藏夹里全是Unity的教程链接。你认识的其他开发者都在用Unity。你遇到bug时知道去哪里找答案。这些便利构成了一个温暖而柔软的茧。没有人把你关在里面,但出去的门越来越远。
这种软锁链在RPG Maker社区里以另一种形式存在。当你的游戏使用了RPG Maker的默认战斗系统,你的整个数值设计——经验曲线、装备属性、敌人强度——都是围绕那个系统的逻辑构建的。如果你决定迁移到另一个引擎,你不仅需要重写所有代码,你需要重新设计整个数值体系。那些数字不是独立的,它们是从RPG Maker的战斗公式里长出来的。换一个引擎,那些数字就失去了意义。这不是技术债务——这是工具生态在创作者的作品里留下的不可迁移的部分。
Ren’Py的锁链则更微妙。它的脚本语言是专门为视觉小说设计的,极其简洁但也极其专用。一个在Ren’Py里写了五年脚本的人,她的编程思维已经被这种语言塑造了。她知道怎么用label和jump来控制叙事分支,知道怎么用persistent变量来跨周目存储数据,知道怎么用ATL来制作动画效果。但这些知识在Ren’Py之外几乎没有用。她不是学了一门通用编程语言然后专精于游戏开发——她是学了一门专门为视觉小说设计的领域特定语言。这门语言在她和更广阔的游戏开发世界之间划了一条线。她可以留在线的这一边,做出越来越精致的视觉小说。但如果她想做点别的——一个动作游戏,一个解谜游戏,一个任何不是视觉小说的东西——她必须从头学起。不是学新的语法,而是学一种完全不同的思考方式。
这种软锁链不是任何人的恶意设计。它是工具品性的自然延伸。一个工具越是好用,它就越深地嵌入使用者的工作流程;它嵌入得越深,使用者就越难以离开。这不是阴谋,这是生态。但它的效果和任何锁链一样真实。
回到那个深夜。那个第一次打开Ren’Py的年轻人,或者第一次在RPG Maker里让角色走起来的教师,或者第一次在GameMaker的网格上画出一面墙的美术——他们还不知道自己正在进入什么。他们不知道这个工具会把他们带向哪里,不知道他们的作品会不会有人玩,不知道几年后自己会不会成为那个在论坛上发帖说“我放弃了”的人。在那个时刻,只有屏幕上的默认界面,空白的画布,示例项目里那个不会说话的小人。那个小人在等着被赋予名字、台词、命运。这是一种邀请,也是一种试探。工具在说:你可以开始了。
至于开始之后会发生什么——当作品完成,当那个曾经空白的画布上终于填满了自己画下的房间、自己写下的对话、自己调试了无数次的跳跃曲线,创作者将面对一个新的问题。这个问题工具没有替他解决。这个问题是:谁来看?谁来玩?在2010年代中期,当itch.io上每天新增几十款游戏、当Steam开闸后每周上架的游戏数量开始逼近三位数,这个问题变得比“怎么做”更为紧迫。工具解决了创作的门槛,但它无法解决被看见的门槛。而当被看见本身变成了一种稀缺资源,新的守门人就会在新的位置上重新出现。