当我写了个BUG却变成核心玩法:正文卷 第58章 谁让你一定要用fake-AI的?
不知不觉间,顾凡再次发动大甩锅之术。
虽然表面上看起来他主动承揽了一点责任,但这点责任根本微乎其微,这黑锅的主体部分还是结结实实地扣在了莉莉丝的身上。
然而,莉莉丝的表情突然变得犀利起来。
“等等,好像哪里不对吧?”
莉莉丝好像发现了盲点,她站起身来,像是名侦探附体一样快速地走了几步。
“咱们先不说『锦囊』或者什么『卧龙策和其他常规策略的区分问题』。
“先说『观星』!
“顾凡,如果我没记错的话,『观星』本来就只是给玩家设计的,它的功能只包括在界面上给玩家展示NPC的属性面板而已。
“如果你没有特意写代码,这个功能是如何对NPC生效的?AI根本没有眼睛,又看不到属性面板,它们的决策又是怎么被『观星』给影响到的?”
莉莉丝充满怀疑地盯住顾凡。
“玩家在使用『锦囊』的时候,你没有把其他的卧龙策置灰,也没有加遮罩阻止玩家点击,这我都忍了,毕竟我的设计方案上没写,说起来是设计漏洞,我也不好太苛责你。
“但『观星』凭什么对AI生效?除了你是故意的之外,难道还有其他的合理解释吗!”
显然,此时莉莉丝对顾凡的怀疑瞬间来到了顶峰。
即便是她这样不太懂编程的人,也开始怀疑这个BUG有些过于离谱了,甚至可以说是非常的不合情理!
是啊,一个本来针对玩家的设计凭什么对NPC生效?
如果一个BUG本身在游戏机制范围内,那还可以说是因为偶然。
但如果一个BUG突然有了游戏机制之外的特殊功能?
那就肯定是程序员偷偷地在代码里夹带私货了!
莉莉丝咄咄逼人,信心十足,甚至心中已经在盘算着要如何跟顾凡算总账。
然而,顾凡却比她更加理直气壮。
“为什么『观星』不会对其他AI生效?你有这种想法才奇怪吧!
“这明显跟你设计的底层机制直接关联啊!”
莉莉丝瞬间瞳孔地震,之前嚣张的气焰被当头一棒打压了下去。
她有点不敢相信自己的耳朵:“你在说什么东西?”
顾凡叹了口气,似乎被莉莉丝这完全不懂代码的狗策划给气到了。
“我问你,游戏中所有的人物都用fake-AI来控制行动,这是你要求的,没错吧?”
莉莉丝点头:“没错。”
顾凡:“你想要让每次开局都有一定的随机性,这些AI不仅要在框架上让游戏对局的发展跟原本的历史走向相符,还要在细节上有很多种可能性,这是为了让玩家没办法用特定的攻略抄答案通关,也没错吧?”
莉莉丝:“嗯,也没错,但这些和『观星』这個功能又有什么关系!”
顾凡果断摇头:“关系很大啊!
“你觉得把fake-AI的模板直接套上就能实现这个功能吗?难道不需要后续开发和调整吗?”
莉莉丝愣住了:“不能吗?”
顾凡很无语:“想什么呢,当然不能了!
“很简单,假设我跟fake-AI说,你现在扮演曹操,此时青梅煮酒论英雄,伱应该做出什么样的决定?然后fake-AI大概率会直接把刘备给干掉。
“因为原版的fake-AI吃了大量的历史资料,它完全可以判断出刘备是他此生的一个强敌,所以必然会干掉刘备。
“可这样一来,就不符合你提出的要求了!
“显然,我们在游戏中需要的并不是一个简单的『由fake-AI扮演的曹操』,而是一个『由fake-AI扮演并且只知道当前历史信息的曹操』!
“如此一来,他才会将袁绍、袁术、陶谦、刘表、吕布等人判定为自己的主要敌人,而不是一上来就把刘备给噶了。”
莉莉丝已经有点迷糊了:“然后呢?”
顾凡叹了口气,似乎为莉莉丝漏洞百出的设计操碎了心:“所以我为了填补你的设计漏洞,也为了更好地完成这项功能,费了好大的劲去屏蔽掉fake-AI中关于『预知未来』的这部分信息,尽可能让这些AI使用当前的局势做出判断。
“要做到这一点,我们三个程序员可是加班加点,电脑差点都写冒烟了!”
莉莉丝更迷糊了:“行行行,我知道你们很辛苦了,但还是那句话,这跟『卧龙策』有什么关系?”
顾凡继续解释:“关键就在于这个AI的具体运作方式上啊!
“就像我之前说的,我们屏蔽掉了fake-AI预知未来的部分信息,这才能让它们根据当前局势做出大致符合历史走向的判断。
“但是你的设计稿中又写了,武将必须要有七维数字以及生平等内容。
“假如fake-AI在游戏程序中就能读到游戏中的武将数据和生平等信息,那它还是会预知未来啊?
“所以,我就特意将这些信息在程序内部加密隐藏了起来,这样一来,fake-AI就不可能读取到这些信息了。
“而『观星』这个功能,实际上并不是『显示后台数据』,而是『传递后台数据』!
“因为这些数据在程序内部是加密状态,所以『观星』这个功能,实际上是『对程序内部的加密数据进行解密,并传递给特定武将』。”
莉莉丝疑惑地打断:“等等,为什么是传递给特定武将,而不是传递给『玩家』?”
顾凡解释道:“还是最开始的那个原因啊!因为每个武将都是由不同的fake-AI控制的,玩家和AI的行动模式并无本质区别,所以就把玩家和AI控制的武将统一编码了。
“玩家控制的诸葛亮是001,而fake-AI控制的刘备、曹操等武将则分别是002、003,在武将代码库里面,并没有一个专门代表『玩家』的编号。
“『观星』这个功能,说白了就是将这些信息解密并打包发送给代码001的诸葛亮,或者也可以说,系统程序会允许代码001的武将查看隐藏起来的全部武将数据。
“于是在四个回合之内,玩家获得了对应权限,点击其他武将就可以看到具体信息了。
“但因为设计漏洞的原因,设计稿中并没有写『观星无法对除001之外的武将生效』,所以我们在写代码时,也就没有特意做出限制。
“比如代码002是刘备,如果玩家用了锦囊,刘备获得了观星效果,那么系统就会向代码002的武将发送全部武将数据。
“而代码002的武将实际上是fake-AI,它一直在处理各种信息、进行下一步的决策。
“就在这个紧要关头,系统给他发来了海量数据,包括其他武将的忠诚度、属性值还有武将生平。
“那么AI必然会根据这些数据来调整自己的决策……”
莉莉丝不由得瞠目结舌,此时她已经大致明白了这个BUG的成因,但还是不愿意这么简单地承认就是自己的问题,还想再辩解一下。
“可是你为什么把这个功能搞得这么复杂?就不能做一个纯粹的显示效果吗?”
顾凡摇头:“不能啊!
“还是之前说的原因,fake-AI一直都在收集信息进行思考,如果不是『加密再定向传输数据』而是『直接把这些信息扔在程序里不加密』,就相当于fake-AI随时都可能读取这些信息。
“那样的话,等于是所有NPC都永久自带一个观星效果了!
“那不是比现在这种情况还要糟糕一百倍吗?”
莉莉丝彻底困惑了,她完全蔫了下来,双马尾耷拉着,默默地缩在角落的懒人沙发:“所以……这一切的根源,还是在于『使用fake-AI』?后续的一系列BUG,都是为了严格完成这条设计要求,而连锁引发的?”
顾凡点头,理直气壮地说道:“是的。”