下载 App
开发者日志02|当规则开始互相添乱以后
3 小时前4 浏览综合
上一篇日志里,我写了《认错了!》最核心的想法:
东西本身没有改变,只是这个世界认错了。
比如炸弹依然是炸弹,但如果把【食物】这个身份贴到它身上,寻找食物的东西就会把它当成食物。
当时最担心的问题其实不是“这个机制能不能做出来”。
而是:
如果最后所有结果都是我提前想好的,那它其实还是一道普通谜题。
所以这几天我一直没有急着做很多关卡,而是在把几个很简单的系统真正接到一起。
现在场景里大概有这些东西:
【敌人】会被炮塔和警卫识别。
【货物】会被搬运机器人处理,也会让物流门开启。
【员工】可以骗过门禁,也会改变警卫的判断。
【食物】会吸引狗,同时也能被食品运输设施识别。
另外还有声音、爆炸、真实弹道、碰撞这些并不属于“身份”的规则。
一开始我只是想确认:
同一个身份能不能同时影响多个系统。
结果测试的时候,开始出现了一些我没有专门写过的情况。
比如有一次,我给炸弹贴上了【敌人】。
按原本的预想:
炮塔看到【敌人】
→ 朝炸弹射击
→ 炸弹爆炸。
很简单。
结果真正跑起来以后,警卫正好追进了炮塔和炸弹中间。
炮塔连续几发子弹全被警卫挡掉了。
最后真正把炸弹打爆的,反而是警卫自己。
于是整个结果变成了:
炮塔锁定炸弹
↓
警卫冲进弹道
↓
炮塔打不中
↓
警卫开始攻击
↓
炸弹爆炸
↓
木门被炸坏
↓
原本过不去的区域突然出现了一条新路。
↓
警卫冲进弹道
↓
炮塔打不中
↓
警卫开始攻击
↓
炸弹爆炸
↓
木门被炸坏
↓
原本过不去的区域突然出现了一条新路。
这里没有一个叫做:
“警卫替炸弹挡子弹事件”
的脚本。
每个东西其实都只是在干自己的事。
炮塔只负责攻击【敌人】。
警卫只负责追捕。
子弹只会撞到路径上的第一个真实物体。
炸弹受到足够伤害以后就爆炸。
木门受到爆炸伤害就会损坏。
但这些规则撞在一起以后,事情开始变得和我原来想的不太一样。
后面又出现了一个更离谱的情况。
我给警卫贴了【货物】。
搬运机器人看到:
“货物。”
于是跑过去把警卫搬了起来。
但警卫自己的执法逻辑并没有因此停止。
所以出现了:
机器人正在搬警卫,警卫却开始驱赶这个正在搬自己的机器人。
这一段完全没有为“机器人搬警卫”写特殊剧情。
它只是:
【货物】系统认为警卫该被搬。
警卫系统又认为机器人正在做一件自己不允许的事。
两边都没有错。
但放到一起以后就很奇怪。
这也是目前做这个项目最有意思的一刻。
我开始觉得,“涌现”可能并不是单纯做很多随机组合。
对我来说,它更像是:
我只告诉每个系统自己该怎么做,但不规定它们碰到一起以后必须发生什么。
现在《认错了!》还在继续往这个方向做。
下一步不准备疯狂增加更多身份,而是继续让现在这几张身份被更多系统共同读取。
我更希望最后玩家看到一个问题时,第一反应不是:
“这关正确答案是什么?”
而是:
“等等,如果我把这个身份贴到那家伙身上,会发生什么?”
如果玩家真的开始这么想,这个游戏大概才算做对了。


顺便也想问一个问题:
现在有【员工】【敌人】【货物】【食物】四种身份,如果是你,你第一反应最想把哪一个贴到最不该拥有它的东西身上?













