第94章 频率与联机大厅
空港喵影小说推荐阅读:娇软美人在末世封神了、世界末日之毒液、大佬的小人鱼揣崽跑路了、特案三组、腐烂国度之活下去、末日聚集地、一价氢氯钾钠银、御鬼者传奇、暗影熊提伯斯的位面之旅、这个文字冒险游戏绝对有毒、末世满级大佬有异能空间、从黑科技到超级工程、快穿之养老攻略
「什麽硬伤啊?」看到温晓的消息,史作舟火急火燎地问道。
「我们之前验证过,音频劫持纺锤波到特定的频率,就相当於梦境的「房间号』,只要频率相同,哪怕相隔很远,也会进入同一个联机梦网。」温晓在群里一条条地解释着:
「问题在於,可供我们调用的频率数量,是不够的。这就好像以前的老式电,虽然可以转动旋钮调频,但能用的、清晰的频道,其实就那麽几个。」
杨依依也在群里接着回复道:
「对,我和晓晓刚才讨论「房间制』的实现方案,才刚意识到这个问题。纺锤波的振荡频率区间非常窄,大概只在12Hz到15Hz之间。而且,为了保证「劫持』的稳定性和成功率,我们只能选取几个取整的频率,没办法把频率切得太细。」
学姐又补充道:
「所以,按目前音频的调制精度来看,能划分出来的独立「频段』数量是极其有限的。如果我们要把游戏做成那种无数个独立小房间的模式,每个房间都需要占用一个独立的频率,纺锤波的频率数量肯定是不够用的。」
「那,一旦同时在线的房间数量,超过了频率的上限,会发生什麽?」史作舟又在群里追问道。「会严重「串』。因为我们昨天测试过了,只要频率相同,就算是远程异地,也会被强行拉入同一个梦网空间。」温晓回答道:
「到时候,玩家可能会突然掉进别人正在玩的游戏房间里,甚至一个房间里会莫名其妙地挤进来很多个陌生人.. . ..整个联机体系,都会彻底乱套。」
余弦皱了皱眉,他疑惑道:
「那为什麽正常人睡觉时,梦里不会串?」
「这个例子可能不太恰当,但应该能帮助你理解。比如,你在睡觉时,天然的纺锤波频率可能是13.1415926535,小数点後面的位数甚至可能比这还多,实际精度远超目前仪器和设备能捕捉到的频率解析度,所以几乎不会出现频率重叠的情况。」杨依依学姐解释道:
「但我们在劫持纺锤波时,做不到像天然的纺锤波那样,采样精度那麽高,我们只能精确到个位数。」余弦消化着学姐发来的消息,上课铃声突兀地响起,盖过了走廊里嘈杂的喧闹,也打断了微信群里的讨论。
陈博士在讲上清了清嗓子,目不斜视地打开了幻灯片。
「这事有点棘手,我琢磨琢磨。」史作舟回了条消息,把手机反扣在桌面上,随後便从包里掏出了一支笔和一张空白的草稿纸,直接趴在桌子上写画起来。
余弦点了点头,没有打扰他。
他把视线投向窗外,远处的建筑轮廓模糊,难以辨认,教室里的暖气不太足,学生们抄着手窃窃私语。整整一节大课,史作舟给足了陈博尊重,他一次手机都没碰。
但同样的,他的头也一次都没有擡起过,眉头紧锁着,不知道在写什麽。
随着下课铃声响起,教室里的学生开始收拾东西,三三两两地往外走。
「老史。」余弦把电脑装进书包,伸手碰了碰史作舟的胳膊:
「下课了,走吧,晚上还有课。」
「大语?」史作舟看了眼手机上的时间。
「嗯。」余弦点头。
「要不翘了吧。」史作舟把笔往桌上一搁,很认真地看着余弦:
「这个事比较急,我有个想法,要跟你对一下。」
余弦想了想,公共课翘一次倒也无妨,看着他那副认真的样子,答应了。
两人收拾好东西,没有下楼,直接推开了机房隔壁一间空教室的门。
随手按开白炽灯,史作舟拉开两张椅子,把那张画满图案的草稿纸平铺在课桌上,又拉着余弦坐下。余弦低头看去,那是一张看起来有些杂乱的设计草图。
纸上画着密密麻麻的圆形,乍一看像是一团乱麻。但仔细看,能分辨出最中心是一个面积最大的圆,四周延伸出无数条放射状的线,连接着边缘那些大大小小的圆圈,上面备注着一堆看不清的小字。像一朵松散的蒲公英,又像是一个画歪了的蜂巢。
「既然纺锤波的频率数量有限,」史作舟用笔尖点了点中间那个大方块:
「咱们又没办法解决梦网里一旦没人,就会「删档重置』的问题,那我们就只能这麽做了。」「这是什麽意思?」余弦皱起眉头,试图理解这个图案代表的逻辑。
「游戏大厅。」史作舟擡起头,眼神灼灼:
「我们搞一个中心化的游戏大厅。」
他指着那个中间的圆形,解释着他的构想:
「既然频率不够,我们就不给每个房间单独分配频率了,我们把所有的玩家,都集中在同一个频率里,做成一个公共的初始场景,也就是游戏大厅。」
「这个大厅是来干什麽用的?」余弦没理解史作舟的设计。
「你想像一下,玩家在听了我们的音频入梦後,第一时间不会进入具体的游戏,而是统一降落在这个大厅里。他们可以在大厅里找现实中的朋友集合,或者和陌生的玩家组队。等队伍组好後,再通过大厅里的小入口,进入到一个个内置的房间或者副本里去。」
史作舟拿着笔尖,从中间的大圆圈,顺着放射状的线条滑向周围的那些个小圆圈:
「这样一来,不管有多少个房间同时在运行,大家从底层物理层面来讲,都是处在同一个纺锤波频率的梦网里,就不会出现温晓担心的串问题;而在体验上,他们又能处於互不干扰的「房间制』小规模游戏里,每次玩都是完整的单局体验。」
余弦听着史作舟的描述,脑海里浮现出早年玩过的一些游戏大厅的登录枢纽。
就像是00游戏大厅,虽然里面有很多个小房间,但都归属於同一个软体内。
这个构想确实巧妙,用空间上的摺叠串联,规避了频率通道数量不足的限制。
「可是,老史。」余弦指着草稿纸上的那个大方块,提出了疑问:
「这种大型多人联机的模式,如果到了白天,大家醒了去上课或者工作,万一大厅里没人了怎麽办?那不还是会出现「删档』问题吗?」
「没人?」听到余弦的问题,史作舟不但没有发愁,反而嘴角慢慢勾起了一个得意的弧度:「那是好事啊!」
余弦愣了愣,等着他的解释。
「因为,对於这个模式来说,我们根本不需要去解决「删档』这个问题啊!」史作舟兴奋地指着中间的大圆形:
「你想啊,这个游戏由大厅和副本两部分组成,对吧?首先,大厅本身并不承载玩家的游戏进度,它只是一个社交的集散地和落脚点,删档自然是不影响的。」
他又指着周边的小圆圈:
「然後,单个副本和游戏内容,我们仍然控制在一次正常睡眠的时长里,一次就玩通了,删档也无所谓了。这样一来,删不删档,对玩家来说根本没有任何影响啊!」
余弦真诚不敷衍地竖起大拇指,朝着史作舟夸赞道:
「师爷,高,实在是高!」
史作舟咧开嘴笑了,他又用笔杆敲了敲桌面:
「你以为这就完了?」
「还有?」余弦震惊,刚才的构想已经足够让他对史作舟刮目相看了。
「你想想上午说的,为什麽我们不能热更新?」史作舟靠在椅背上,反问道:
「不就是因为只要梦里还有一个人没退出来,脚本就会一直按最初的版本运行,新东西加不进去吗?」他眼神狡黠道:
「如果到了白天,真的一个人都没了,那不正好意味着,我们可以趁着伺服器空无一人的空窗期,把写着新内容、新地图的蓝图脚本,重新替换上去吗?」
余弦恍然大悟:
「我明白了,这就相当於「停机更新』了!」
「对啊!」史作舟指着纸上那些小圆圈:
「今天大厅里只有五个副本,明天白天一关服重置,我们把写好的第六个、第七个副本加进脚本里。等到了晚上,玩家们再次播放音频入梦的时作. . .」
史作舟的笑容肆意而狂热:
「他们就会发现,我们发布了更多新版本的游戏内容,顺水推舟、顺理成章、顺手牵羊地完成了内容更新,哈哈哈哈!」
余弦心里感慨,史作舟确实是个游戏策划天才啊!
频率不够?那就把所有联机房间塞进同一个频率里。
删档?那就顺道把「清空重置」变成版本更新的机会。
这两个看似无解的限制和问题,被史作舟用一个「大厅」的概念,同时绕开了。
「老史,你真行啊。」余弦由衷地赞叹道。
他看着草稿纸上那朵「蒲公英」,脑子里开始顺着这个方案往下推演。
大厅、副本、停机更新..
一切听起来都很完美,逻辑也很自洽。
但在推演到「更新脚本」这一步时,余弦的眉头却渐渐皱了起来。
「等等,老史,有个地方好像不太对劲。」余弦伸手拿过那支笔,在草稿纸空白处写了两个字,一个是「旧」,一个是「新」:
「你刚才说,白天没人的时候,我们把蓝图脚本替换成新版本、新内容。但玩家手里拿着的那个联机音频呢?肯定有人听的还是之前发布的老版本吧。」
「嗯,那又怎样?」史作舟点点头:
「早上依哥不是说,联机的优先级高於蓝图吗?我听她那意思是,联机生效的时候,脚本就不生效了。联机一旦执行,那个音频就只起到了「劫持纺锤波』的功能。诶,你们昨天不是测试过了吗?」「昨天测试的时候,脚本部分是一样的。不过,这个只要再测试一下就能确定了。」余弦的神色凝重了几分:
「这听起来是个好事,玩家不需要每天重新下载音频了,我们也不需要每天重新发布音频入口。不过,如果是这样的话,那就又冒出来一个更严重的新问题了... .」
「什麽问题?」史作舟挠了挠头。
「昨晚和温晓讨论的那个「代码审计』方案,就起不到作用了。」
昨晚他们商量过,为了防止那些含有「恶意指令」的音频扩散,温晓提议做一个解析工具,把音频第四部分「蓝图脚本」的内容反编译成明文,让所有人都能看到里面装了什麽「配料表」,从而避开陷阱。「假设有一个恶意的开发者,先发布了一个乾净、透明、没有恶意指令的初版音频,被攻击的目标用审计工具查了,发现没问题,就放心大胆地去听。」余弦停顿了一下,沉声道:
「然後,等到了第二天白天,里面没人在线的时候. .. ..恶意开发者悄悄把脚本替换成了另外一个版本,塞了投毒内容的新版本。」
史作舟的表情一点点变了。
「因为音频劫持的频率没变,那个旧音频,依然能把「被攻击者』送进这个梦网空间。但他进去的,已经不是最初脚本里的那个安全版本了。」余弦看着史作舟,说出了最悲观的情况:
「而且,如果场景没变,他会以为自己进入的还是昨晚那个安全的房间,但实际上,他已经被神不知鬼不觉地拉进了一个被污染的梦境陷阱里。」
「真是防不胜防啊,看来梦网的黑客攻防对抗是很重要的一环了. ..」史作舟痛苦地看着余弦:「按照你这个说法,恶意开发者甚至不需要真的做第一个版本。因为联机优先级更高,那他脚本里的内容,甚至可以胡乱编写,写的越有吸引力越好,只要能把人先骗进来就行了... ..」教室安静了下来,余弦把笔放下,靠回椅背上。
又过了好一会儿,史作舟才闷闷地开口,平时那股插科打诨的劲头早就不见踪影:
「那怎麽办?我们这算不算是在给别人递刀子啊?我们好像打开了一个潘多拉魔盒,放出了什麽不得了的妖怪啊..」
余弦也没有现成的答案,脑子在飞速运转,试图寻找破局的办法。
如果频率是唯一的通行证,那怎麽才能在不改变频率的情况下,把「旧客」和「新房」隔离开来?或者,怎麽才能让玩家在进入被污染的房间前,得到某种警告?
想了半天,他还是一头雾水。
这涉及到了太多尚未摸清的底层梦网机制,光靠他们两个在这里空想,大概率是想不出什麽结果的。「这样吧。」余弦擡起头,看了看手机上的时间:
「光靠咱俩想,估计也想不出什麽好办法。晚上去公寓那边,把温晓也喊上,大家凑在一起碰一碰,看看有没有什麽思路。刚好,我们今天也能进行多人联机测试了。」
http://www.konggangmiaoying.com/yt125988/48052658.html
请记住本书首发域名:www.konggangmiaoying.com。空港喵影手机版阅读网址:www.konggangmiaoying.com
「我们之前验证过,音频劫持纺锤波到特定的频率,就相当於梦境的「房间号』,只要频率相同,哪怕相隔很远,也会进入同一个联机梦网。」温晓在群里一条条地解释着:
「问题在於,可供我们调用的频率数量,是不够的。这就好像以前的老式电,虽然可以转动旋钮调频,但能用的、清晰的频道,其实就那麽几个。」
杨依依也在群里接着回复道:
「对,我和晓晓刚才讨论「房间制』的实现方案,才刚意识到这个问题。纺锤波的振荡频率区间非常窄,大概只在12Hz到15Hz之间。而且,为了保证「劫持』的稳定性和成功率,我们只能选取几个取整的频率,没办法把频率切得太细。」
学姐又补充道:
「所以,按目前音频的调制精度来看,能划分出来的独立「频段』数量是极其有限的。如果我们要把游戏做成那种无数个独立小房间的模式,每个房间都需要占用一个独立的频率,纺锤波的频率数量肯定是不够用的。」
「那,一旦同时在线的房间数量,超过了频率的上限,会发生什麽?」史作舟又在群里追问道。「会严重「串』。因为我们昨天测试过了,只要频率相同,就算是远程异地,也会被强行拉入同一个梦网空间。」温晓回答道:
「到时候,玩家可能会突然掉进别人正在玩的游戏房间里,甚至一个房间里会莫名其妙地挤进来很多个陌生人.. . ..整个联机体系,都会彻底乱套。」
余弦皱了皱眉,他疑惑道:
「那为什麽正常人睡觉时,梦里不会串?」
「这个例子可能不太恰当,但应该能帮助你理解。比如,你在睡觉时,天然的纺锤波频率可能是13.1415926535,小数点後面的位数甚至可能比这还多,实际精度远超目前仪器和设备能捕捉到的频率解析度,所以几乎不会出现频率重叠的情况。」杨依依学姐解释道:
「但我们在劫持纺锤波时,做不到像天然的纺锤波那样,采样精度那麽高,我们只能精确到个位数。」余弦消化着学姐发来的消息,上课铃声突兀地响起,盖过了走廊里嘈杂的喧闹,也打断了微信群里的讨论。
陈博士在讲上清了清嗓子,目不斜视地打开了幻灯片。
「这事有点棘手,我琢磨琢磨。」史作舟回了条消息,把手机反扣在桌面上,随後便从包里掏出了一支笔和一张空白的草稿纸,直接趴在桌子上写画起来。
余弦点了点头,没有打扰他。
他把视线投向窗外,远处的建筑轮廓模糊,难以辨认,教室里的暖气不太足,学生们抄着手窃窃私语。整整一节大课,史作舟给足了陈博尊重,他一次手机都没碰。
但同样的,他的头也一次都没有擡起过,眉头紧锁着,不知道在写什麽。
随着下课铃声响起,教室里的学生开始收拾东西,三三两两地往外走。
「老史。」余弦把电脑装进书包,伸手碰了碰史作舟的胳膊:
「下课了,走吧,晚上还有课。」
「大语?」史作舟看了眼手机上的时间。
「嗯。」余弦点头。
「要不翘了吧。」史作舟把笔往桌上一搁,很认真地看着余弦:
「这个事比较急,我有个想法,要跟你对一下。」
余弦想了想,公共课翘一次倒也无妨,看着他那副认真的样子,答应了。
两人收拾好东西,没有下楼,直接推开了机房隔壁一间空教室的门。
随手按开白炽灯,史作舟拉开两张椅子,把那张画满图案的草稿纸平铺在课桌上,又拉着余弦坐下。余弦低头看去,那是一张看起来有些杂乱的设计草图。
纸上画着密密麻麻的圆形,乍一看像是一团乱麻。但仔细看,能分辨出最中心是一个面积最大的圆,四周延伸出无数条放射状的线,连接着边缘那些大大小小的圆圈,上面备注着一堆看不清的小字。像一朵松散的蒲公英,又像是一个画歪了的蜂巢。
「既然纺锤波的频率数量有限,」史作舟用笔尖点了点中间那个大方块:
「咱们又没办法解决梦网里一旦没人,就会「删档重置』的问题,那我们就只能这麽做了。」「这是什麽意思?」余弦皱起眉头,试图理解这个图案代表的逻辑。
「游戏大厅。」史作舟擡起头,眼神灼灼:
「我们搞一个中心化的游戏大厅。」
他指着那个中间的圆形,解释着他的构想:
「既然频率不够,我们就不给每个房间单独分配频率了,我们把所有的玩家,都集中在同一个频率里,做成一个公共的初始场景,也就是游戏大厅。」
「这个大厅是来干什麽用的?」余弦没理解史作舟的设计。
「你想像一下,玩家在听了我们的音频入梦後,第一时间不会进入具体的游戏,而是统一降落在这个大厅里。他们可以在大厅里找现实中的朋友集合,或者和陌生的玩家组队。等队伍组好後,再通过大厅里的小入口,进入到一个个内置的房间或者副本里去。」
史作舟拿着笔尖,从中间的大圆圈,顺着放射状的线条滑向周围的那些个小圆圈:
「这样一来,不管有多少个房间同时在运行,大家从底层物理层面来讲,都是处在同一个纺锤波频率的梦网里,就不会出现温晓担心的串问题;而在体验上,他们又能处於互不干扰的「房间制』小规模游戏里,每次玩都是完整的单局体验。」
余弦听着史作舟的描述,脑海里浮现出早年玩过的一些游戏大厅的登录枢纽。
就像是00游戏大厅,虽然里面有很多个小房间,但都归属於同一个软体内。
这个构想确实巧妙,用空间上的摺叠串联,规避了频率通道数量不足的限制。
「可是,老史。」余弦指着草稿纸上的那个大方块,提出了疑问:
「这种大型多人联机的模式,如果到了白天,大家醒了去上课或者工作,万一大厅里没人了怎麽办?那不还是会出现「删档』问题吗?」
「没人?」听到余弦的问题,史作舟不但没有发愁,反而嘴角慢慢勾起了一个得意的弧度:「那是好事啊!」
余弦愣了愣,等着他的解释。
「因为,对於这个模式来说,我们根本不需要去解决「删档』这个问题啊!」史作舟兴奋地指着中间的大圆形:
「你想啊,这个游戏由大厅和副本两部分组成,对吧?首先,大厅本身并不承载玩家的游戏进度,它只是一个社交的集散地和落脚点,删档自然是不影响的。」
他又指着周边的小圆圈:
「然後,单个副本和游戏内容,我们仍然控制在一次正常睡眠的时长里,一次就玩通了,删档也无所谓了。这样一来,删不删档,对玩家来说根本没有任何影响啊!」
余弦真诚不敷衍地竖起大拇指,朝着史作舟夸赞道:
「师爷,高,实在是高!」
史作舟咧开嘴笑了,他又用笔杆敲了敲桌面:
「你以为这就完了?」
「还有?」余弦震惊,刚才的构想已经足够让他对史作舟刮目相看了。
「你想想上午说的,为什麽我们不能热更新?」史作舟靠在椅背上,反问道:
「不就是因为只要梦里还有一个人没退出来,脚本就会一直按最初的版本运行,新东西加不进去吗?」他眼神狡黠道:
「如果到了白天,真的一个人都没了,那不正好意味着,我们可以趁着伺服器空无一人的空窗期,把写着新内容、新地图的蓝图脚本,重新替换上去吗?」
余弦恍然大悟:
「我明白了,这就相当於「停机更新』了!」
「对啊!」史作舟指着纸上那些小圆圈:
「今天大厅里只有五个副本,明天白天一关服重置,我们把写好的第六个、第七个副本加进脚本里。等到了晚上,玩家们再次播放音频入梦的时作. . .」
史作舟的笑容肆意而狂热:
「他们就会发现,我们发布了更多新版本的游戏内容,顺水推舟、顺理成章、顺手牵羊地完成了内容更新,哈哈哈哈!」
余弦心里感慨,史作舟确实是个游戏策划天才啊!
频率不够?那就把所有联机房间塞进同一个频率里。
删档?那就顺道把「清空重置」变成版本更新的机会。
这两个看似无解的限制和问题,被史作舟用一个「大厅」的概念,同时绕开了。
「老史,你真行啊。」余弦由衷地赞叹道。
他看着草稿纸上那朵「蒲公英」,脑子里开始顺着这个方案往下推演。
大厅、副本、停机更新..
一切听起来都很完美,逻辑也很自洽。
但在推演到「更新脚本」这一步时,余弦的眉头却渐渐皱了起来。
「等等,老史,有个地方好像不太对劲。」余弦伸手拿过那支笔,在草稿纸空白处写了两个字,一个是「旧」,一个是「新」:
「你刚才说,白天没人的时候,我们把蓝图脚本替换成新版本、新内容。但玩家手里拿着的那个联机音频呢?肯定有人听的还是之前发布的老版本吧。」
「嗯,那又怎样?」史作舟点点头:
「早上依哥不是说,联机的优先级高於蓝图吗?我听她那意思是,联机生效的时候,脚本就不生效了。联机一旦执行,那个音频就只起到了「劫持纺锤波』的功能。诶,你们昨天不是测试过了吗?」「昨天测试的时候,脚本部分是一样的。不过,这个只要再测试一下就能确定了。」余弦的神色凝重了几分:
「这听起来是个好事,玩家不需要每天重新下载音频了,我们也不需要每天重新发布音频入口。不过,如果是这样的话,那就又冒出来一个更严重的新问题了... .」
「什麽问题?」史作舟挠了挠头。
「昨晚和温晓讨论的那个「代码审计』方案,就起不到作用了。」
昨晚他们商量过,为了防止那些含有「恶意指令」的音频扩散,温晓提议做一个解析工具,把音频第四部分「蓝图脚本」的内容反编译成明文,让所有人都能看到里面装了什麽「配料表」,从而避开陷阱。「假设有一个恶意的开发者,先发布了一个乾净、透明、没有恶意指令的初版音频,被攻击的目标用审计工具查了,发现没问题,就放心大胆地去听。」余弦停顿了一下,沉声道:
「然後,等到了第二天白天,里面没人在线的时候. .. ..恶意开发者悄悄把脚本替换成了另外一个版本,塞了投毒内容的新版本。」
史作舟的表情一点点变了。
「因为音频劫持的频率没变,那个旧音频,依然能把「被攻击者』送进这个梦网空间。但他进去的,已经不是最初脚本里的那个安全版本了。」余弦看着史作舟,说出了最悲观的情况:
「而且,如果场景没变,他会以为自己进入的还是昨晚那个安全的房间,但实际上,他已经被神不知鬼不觉地拉进了一个被污染的梦境陷阱里。」
「真是防不胜防啊,看来梦网的黑客攻防对抗是很重要的一环了. ..」史作舟痛苦地看着余弦:「按照你这个说法,恶意开发者甚至不需要真的做第一个版本。因为联机优先级更高,那他脚本里的内容,甚至可以胡乱编写,写的越有吸引力越好,只要能把人先骗进来就行了... ..」教室安静了下来,余弦把笔放下,靠回椅背上。
又过了好一会儿,史作舟才闷闷地开口,平时那股插科打诨的劲头早就不见踪影:
「那怎麽办?我们这算不算是在给别人递刀子啊?我们好像打开了一个潘多拉魔盒,放出了什麽不得了的妖怪啊..」
余弦也没有现成的答案,脑子在飞速运转,试图寻找破局的办法。
如果频率是唯一的通行证,那怎麽才能在不改变频率的情况下,把「旧客」和「新房」隔离开来?或者,怎麽才能让玩家在进入被污染的房间前,得到某种警告?
想了半天,他还是一头雾水。
这涉及到了太多尚未摸清的底层梦网机制,光靠他们两个在这里空想,大概率是想不出什麽结果的。「这样吧。」余弦擡起头,看了看手机上的时间:
「光靠咱俩想,估计也想不出什麽好办法。晚上去公寓那边,把温晓也喊上,大家凑在一起碰一碰,看看有没有什麽思路。刚好,我们今天也能进行多人联机测试了。」
http://www.konggangmiaoying.com/yt125988/48052658.html
请记住本书首发域名:www.konggangmiaoying.com。空港喵影手机版阅读网址:www.konggangmiaoying.com