改一个机制,不必重写整份设计文档
叙事资产之间的依赖是真实存在的。一旦把它们写下来,"改一处"就不再意味着"全部重生成",而是"重生成这四个"。
发布于
有一个局面决定了一个叙事工具在第一稿之后还有没有用。做了三周,你改了一个机制—— 潜行不要了,玩家改成引导注意力。什么东西必须跟着改?
对着聊天模型,答案是“重来”,因为不存在任何“什么由什么建起来”的表示。 对着一份文档,答案是“读一遍就知道了”,那是同一个答案,只是步骤更多。
依赖是真实的,只是没被写下来
一次设计改动之所以让人觉得是灾难,是因为叙事资产之间的依赖真实存在、却没有被声明: 节拍表依赖机制清单,对话依赖角色与任务状态机,而没有任何东西记着这件事。 一旦每份产物都声明自己是由什么建起来的,改动就不再靠重写一切来传播, 而是沿着边传播——把改过的节点标脏,顺着它的出边走,精确地重生成它下游的那些。
这些依赖并不微妙。谁都知道对话依赖角色。问题在于“谁都知道”熬不过三周和两个人, 更熬不过被问一句:具体是哪些对话依赖这一个角色。
声明,不是推断
有一条诱人的捷径:靠找引用来推断这张图——这段对话提到了那个角色,所以有一条边。 它比听起来更糟。推断会给你不存在的边(顺口提了一句的角色), 也会漏掉真的边(一个塑造了任务结构、却没点名任何东西的节拍)。
声明在写的时候更费事,而它是“一张你能据以行动的图”与“一张你还得再核对一遍的图” 之间的全部区别。产物生成时,它把自己消费了什么记下来。
它在实践中改变了什么
预估不再是猜。 重生成之前你看得到脏集:四份产物,不是四十份。 正是那个数字让这次改动变成一个决定,而不是一次纵身一跳。
部分重生成是安全的。 脏是一个状态,不是一个动作。标脏与重生成是两步, 所以你可以看着那张单子,先重生成其中三份。
你改过的东西还在。 这里是脏传播与编辑主权必须碰头的地方。 一份你手工改写过的下游产物同样是脏的——它的输入变了—— 但重生成绝不能默默丢掉你的成果。已上墨的字段不会被覆盖, 而且这次运行会报出它想越过多少道锁。那个数字才是值得盯的信号: 偏高意味着你锁的东西和正在重生成的东西不同意,而它每跑一次都会再顶一次, 直到你裁定哪一边对。
计价必须跟着一起对
如果重生成按首次生成的价钱收,上面这些全都白搭。改主意的代价要是和原跑一样, 人就不改主意了,而迭代恰恰是全部意义所在。重生成只碰脏节点,成本确实更低, 所以就该更便宜——把这一点明说出来,是设计的一部分,不是让利。
它到哪儿就不帮忙了
这张图告诉你什么可能要改,不告诉你什么应该改。 一个改过的机制下游的节拍表会被重生成;结果是不是更好,是判断。
而一次动摇了前提的改动——不是机制,是这个故事之所以存在的理由—— 会传播到一切,而且那是对的。图在这件事上同样诚实。 它拿走的不是“做决定”这份工作,是“搞清楚到底有多少工作”这份工作。