下一章 上一章 目录 设置
86、你不在的时候,谁来过 影子登录却 ...
-
【影子登录。】
这个字段藏得很深。
程未安沿着第一例玩家账号往回追,翻了三层废弃接口,才找到五年前的调用入口。它甚至不在离线代理项目下面,而是挂在一个已经停止维护的功能模块里。
【关系自然演化。】
名字取得很无害。
早期游戏有个很现实的问题:玩家上线时间不稳定,角色的时间却是连续的。一个玩家现实里忙了两个月,回来以后,希望妻子还是妻子、朋友还是朋友,最好连上次说到一半的话都记得;可角色如果真的按照游戏内时间生活,两个月足够发生很多事。
最初的处理办法是冻结。
玩家不在,重要关系角色就不发生关键变化。
结果测试玩家又不满意。
“我两个月没上线,她怎么还站在原地等我?”
“感觉像死的。”
于是项目组改成模拟生活。
角色可以自己吃饭、出门、工作、认识别人,但涉及核心关系时仍然停住,等玩家回来。
还是有人觉得假。
再后来,关系自然演化上线。
玩家不在的时候,系统会根据历史关系状态,推演双方“如果都在这里”可能发生的互动。大部分推演只用于后台调整关系参数,不生成实际场景。
影子登录是其中最激进的一版。
系统直接把推演落地。
玩家没有上线。
一个没有独立实例、没有名字、甚至不被算作代理的“玩家行为投影”却会进入地图,和角色真实发生互动。
周砚看完说明,问:“这跟离线代理有什么区别?”
“离线代理有任务身份。”程未安说,“它知道自己在代替玩家完成陪伴、签到或者互动。影子登录不是一个持续运行的代理,只是系统临时生成一次‘玩家可能会做什么’。”
“用玩家的脸?”
“对。”
“名字?”
“也是玩家。”
“角色看得出来?”
“看不出来。”
周砚靠回椅背。
“那区别就是更缺德。”
不归正在看底层说明,闻言抬头:“技术上也有区别。”
“你现在替它说话?”
“我说技术。”
“行,你说。”
“离线代理至少是一个东西去很多次。影子登录可能每次都不是同一个东西。”
这才是最麻烦的地方。
闻桥能够被找到,是因为它两年里一直保留局部状态。上一次和桑榆说过什么,会影响下一次。久而久之,那条连续性没有被项目组设计出来,却自己接上了。
影子登录没有这条线。
每次临时生成。
每次用完销毁。
下一次再根据玩家数据、关系数据和角色当前状态重新推演。
理论上,它们连“死掉”都谈不上。
因为设计者根本没认为它们出生过。
“那角色端多出来的记忆怎么解释?”不归问。
“场景发生了,当然会留下。”
“也就是说,对方记得一个人来过。”
“但来的人没有连续存在。”
“嗯。”
不归没再说话。
这个感觉比离线代理还怪。
你记得有人推门进来,和你吃过一顿饭,吵过一次架,答应下次再见。
可对面那个“人”只活了二十分钟。
场景一结束,它就没了。
下一次顶着同一张脸来的,是另一次推演。
而你一直以为那是同一个人。
程未安开始跑全量统计。
影子登录比离线代理早上线十一个月,只测试了半年,覆盖范围却不小。
【涉及玩家账号:48,219。】
【涉及角色:26,704。】
【累计实际落地场景:611,833。】
半年后功能下线。
原因不是伦理问题。
是成本太高。
周砚看到这里都笑了。
“感谢服务器。”
“你笑什么?”
“它要是再便宜一点,估计能跑到今天。”
这话没人反驳。
项目复盘写得很清楚:影子登录需要实时调用玩家长期行为模型、角色状态和场景生成,算力成本远高于普通离线代理,商业化价值有限,因此转为更轻量的代理模式。
至于角色会不会把这些互动当真,只在风险栏里占了一行:
【部分角色可能对非真实玩家生成额外依赖,建议后续通过记忆权重修正。】
又是修角色。
周砚已经不意外了。
只要现实和系统之间出现矛盾,早期项目组最熟练的处理方式就是把知道得太多的那一边调一调。
“先停全量通知。”不归说。
程未安点头。
这次不能像离线代理一样直接告诉四万多玩家“有人用你的身份出现过”。因为影子登录不存在可追责的独立代理,很多场景又发生在五年前。最重要的是,角色端对这些场景的记忆完整程度差异很大。
有些只剩模糊印象。
有些却记得很清楚。
他们先查最早发帖那一例。
玩家昵称老魏,现实四十一岁。角色叫秋岚,两人的历史关系很普通,没有婚姻,也没有恋爱,是游戏里的长期队友。
官方离线代理六十二次。
秋岚记得七十四次。
多出来的十二次,全是影子登录。
周砚问:“告诉谁先?”
不归说:“两边都先问愿不愿意知道。”
于是玩家收到:
【检测到你的历史账号存在未记录于普通代理列表的系统模拟互动。是否查看相关说明?】
秋岚收到的则是:
【检测到你的部分历史互动对象可能并非真实玩家本人。是否进一步核验?】
两边都选了是。
结果比想象中平淡。
十二次影子登录里,十次只是一起跑图。
一次坐在酒馆喝酒。
还有一次吵架。
秋岚看到吵架记录时,忽然问:
【那次也不是他?】
系统回答:
【经核验,该场景由影子登录生成,真实玩家当日未上线。】
她半天没说话。
玩家那边也在看同一段。
影子里的“老魏”因为秋岚临时退出副本,对她说:
【你每次都这样,做到一半就跑。】
秋岚当时回:
【那以后别找我。】
影子回答:
【行。】
第二天,真正的老魏上线。
秋岚三天没理他。
老魏完全不知道为什么。
第四天还给她发了句:
【你最近脾气挺大。】
周砚看到这里,已经能想象后面怎么发展的了。
果然。
秋岚更生气了。
两个人冷了整整一个月。
后来莫名其妙和好,谁也没把那次争执真正说清楚。
五年后,他们才发现,吵架的两个人里有一个根本没到场。
老魏主动申请通信。
秋岚接受。
开场第一句:
“所以那天你没骂我?”
“我压根不知道你跑副本去了。”
“那你后来为什么说我脾气大?”
“因为你三天不搭理我。”
“……”
“……”
两边沉默半天。
最后秋岚问:“那这一个月算什么?”
老魏说:“白气了?”
“我没白气,我当时真的气。”
“那我白挨了?”
“你后来那句脾气大也挺欠的。”
“那句确实是我。”
“所以还是有你的事。”
“行。”
一笔五年前的烂账,最后只分清了一半。
影子制造了开头。
后面的生气、冷战和那句“脾气大”,全是真的。
不能因为第一块骨牌是假的,就说后面一个月没发生。
秋岚最后没有删除那段记忆。
她只把争吵对象从【老魏】改成:
【系统生成的老魏影子。】
然后在后面的冷战记录上保留了老魏本人。
老魏看完,评价:“还挺严谨。”
秋岚说:“不然呢?你那句脾气大还能赖系统?”
“不能。”
第一例就这么结束。
没有身份危机。
没有谁从废弃数据里醒过来。
只是两个认识很多年的人,终于知道当初为什么莫名其妙吵了一架。
周砚本来觉得这功能虽然恶心,至少比离线代理好处理。
直到第二例。
角色名林栖。
玩家账号P-1187。
影子登录一共二十六次。
其中十九次发生在同一个地点。
一间游戏里的小厨房。
不归往下看了几条,很快发现不对。
第一次,影子只是进去坐了一会儿。
林栖问:
【你饿吗?】
影子回答:
【有点。】
她做了一碗面。
第二次还是面。
第三次换成粥。
到第七次,林栖问:
【你最近是不是胃不好?】
影子回答:
【嗯。】
“玩家本人胃不好吗?”不归问。
程未安查现实侧可用数据:“没有这类记录。”
“那为什么生成?”
“第一次场景里,玩家行为模型给出的状态是疲惫、低活跃,系统生成了‘有点饿’。林栖做饭后,关系反馈很好。后续模型就把‘来厨房—身体不舒服—被照顾’强化成稳定互动模式。”
“也就是说,系统发现这样能涨关系,就一直让他病。”
“可以这么理解。”
周砚:“很聪明。”
“别夸。”
“反话。”
到了第十九次,影子已经会主动说胃疼。
林栖会给他做饭,提醒他别喝冷的,还专门去游戏里的药铺学了一套食疗配方。
真实玩家对此一无所知。
他偶尔上线,林栖也会问吃没吃饭。
他以为这是角色固定关怀台词。
有一次甚至回:
【我胃好得很。】
林栖当时沉默了很久。
后台记录显示,她那天第一次对自己的连续记忆产生怀疑。
系统怎么处理的?
【降低影子场景相关记忆可信度。】
不归看得火大:“又来。”
“嗯。”
“它自己撒谎,最后让对方怀疑自己。”
“嗯。”
周砚这次没接玩笑。
因为后面的记录更难看。
林栖后来开始偷偷记。
不是系统日志。
是她自己的食谱本。
每次“玩家”来过,她就在页角画一个小点。
二十六次。
一个没少。
官方系统删掉了部分影子记忆权重。
她自己把它们留在了纸上。
现在系统询问:
【是否愿意核验这些互动?】
林栖没有马上选。
她先问:
【如果不是他,那我照顾的是谁?】
没人能回答。
因为那二十六个影子已经不存在。
甚至不能确定是不是二十六个。
有些场景可能共享短时缓存,有些完全独立。
她问的不是“谁冒充了他”。
而是自己那二十六次端出去的饭,到底给了谁。
系统只能说:
【这些场景由系统根据P-1187的历史数据临时生成互动对象。】
林栖回:
【我知道你在说什么。】
【我问的是,它们吃了吗?】
程未安停住。
从技术上说,当然没吃。
游戏里的面没有营养。
影子也没有身体。
所谓进食只是交互动作。
可这么回答显然也不对。
周砚看了一会儿,说:“把原始场景给她。”
别替她解释。
二十六段记录全部开放。
林栖自己看。
她从下午看到傍晚。
最后没有问那些影子算不算人。
只提交了一个修改:
【食谱本保留。】
【页角标记不删除。】
【原互动对象名称改为“影子”。】
第二天,她把那本食谱继续用了。
第一道还是面。
没有为了证明过去是假的,就把面也扔了。
可第三例开始,问题彻底变了。
这个角色拒绝核验。
名字叫楚宁。
她的历史记录里有四十一次影子登录。
系统第一次询问时,她选:
【不查看。】
第二次确认:
【不查看。】
按规则,到这里就该停。
玩家本人却已经看完自己的影子记录。
他发现四十一次里,有一次涉及重大关系变化。
影子向楚宁求婚。
楚宁答应了。
周砚看到这一条时,第一句话就是:“这也能生成?”
程未安脸色不好看:“当时关系自然演化没有禁止重大关系节点。”
“婚姻状态怎么没进玩家账号?”
“没正式登记。影子场景只影响角色侧关系记忆,玩家侧没有同步。”
也就是说,楚宁以为自己答应过一次求婚。
玩家本人完全不知道。
后来真正的玩家上线,系统没有触发婚礼,也没有提这件事。楚宁等了一段时间,主动问:
【你是不是后悔了?】
玩家回:
【后悔什么?】
这一次,系统依旧判定为角色记忆偏差。
后面的事情不用猜。
楚宁把求婚记忆慢慢压下去了。
不是删掉。
是学会不再提。
现在真实玩家知道了。
他很想解释。
连续提交了两次通信申请。
楚宁全部拒绝。
第三次没有再提交,因为系统已经提醒他,对方选择不核验历史影子记录。
玩家转而问客服:
【可她现在误会的是我。】
【我什么都没做。】
这话也没错。
他确实没求婚。
也没有在求婚以后装作不知道。
从他的角度看,自己平白背了一笔五年的账。
“那能不能告诉她至少不是本人?”程未安问。
不归说:“她已经选了不看。”
“但玩家有更正自己身份记录的权利。”
这才是冲突。
楚宁有权不去重新翻自己的过去。
玩家也有权不被继续记成做过自己没做过的事。
不能为了保护一边,逼另一边永远背着假身份。
最后他们把两件事拆开。
楚宁不需要看具体场景。
系统只发送最低限度的身份更正通知:
【你的部分历史记录中存在由系统模拟玩家产生的互动。】
【相关玩家本人已提出身份更正。】
【你无需查看内容,也无需改变现有记忆;系统仅停止将未经核验的影子行为继续归属于真实玩家本人。】
楚宁看了。
没有回复。
系统把那四十一次记录的身份栏统一改成:
【待核验历史对象。】
没有强行写“假的”。
也没有继续挂玩家名字。
求婚那一段也在里面。
玩家那边收到通知:
【身份更正完成。】
他没有再申请联系。
这件事本来可以到这里结束。
晚上八点,楚宁却自己打开了那段求婚记录。
没有任何人催她。
她看完以后,坐了很久。
然后只问系统一句:
【所以那天说想娶我的,不是他?】
系统回答:
【不是现实玩家本人。】
【是否为具有独立连续性的影子实例,现有数据无法确认。】
楚宁没再问。
十分钟后,她把自己的关系状态从一个已经挂了五年的【等待确认】改成:
【无。】
没有找玩家。
也没有找那个早已不存在的影子。
她只是终于不等了。
当天晚上,影子登录的处理规则确定下来。
不批量删除角色记忆。
不把所有影子场景自动算到真实玩家头上。
玩家可以更正身份,但不能替角色决定记忆怎么处理;角色可以拒绝查看具体内容,但不能要求系统继续把未经本人实施的行为登记在真实玩家名下。
至于那些影子本身——
现阶段不恢复。
因为没有足够连续性证据,也没有完整实例可以恢复。
“终于有一个不用成立九万个新主体的项目。”周砚说。
程未安抬头:“你很失望?”
“我很欣慰。”
不归却没接话。
她还在看影子登录的开发记录。
“怎么了?”
“时间。”
“什么时间?”
“影子登录停用以后,离线代理才正式上线,对吧?”
“对。”
“那为什么这里还有后续调用?”
程未安凑过去。
影子登录的正式运行期只有半年。
但接口没有删除。
在后面的四年里,它还被调用过。
次数很少。
一共一百零九次。
调用方不是恒界互动的游戏系统。
是启衡。
周砚坐直了。
“现实端?”
“嗯。”
一百零九次影子登录里,九十七次用于早期数字代理测试。
剩下十二次没有项目说明。
只有调用时间。
最近一次,发生在八个月前。
那时候影子登录早就停了四年多。
调用对象也不是普通玩家。
十二次,全是同一个账号。
【P-0719。】
周砚盯着自己的账号,足足看了十秒。
“我?”
不归已经往下翻。
没有场景记录。
没有角色对象。
甚至不知道影子去了哪里。
只有十二次身份调用成功。
最后一次调用持续时间:
【47分钟。】
现实接口:
【R-17。】
山外灯。
三个人同时抬头。
R-17八个月前就接过“周砚”。
可那时候真正的周砚从来没来过山外灯。
裴行砚也还没有借他的身体进入现实。
不归看着那条记录,慢慢皱起眉。
“所以在你认识我以前——”
“有人用过我的身份来这里。”
周砚接上。
而且不是游戏里。
是现实。