如何利用網路延遲穿越時空
每當有人問我為什麼不喜歡和他一起玩聯機遊戲,我總會藉口說:網不好。
這是一個非常好用的理由,因為它能瞬間讓每一個玩家產生感同身受的情感,回想起自己被網路延遲支配的恐怖,從而進入強烈的共情狀態。
對於一個線上遊戲玩家來說,相比於豬隊友,最讓他感到恐怖的想必還是網路延遲吧。
玩遊戲時,裡面的各種資訊需要從使用者端傳輸到伺服器再返回使用者端,而這個過程需要時間,也就造成了延遲。
網路不好,延遲就會高。延遲高了,就會卡。卡多了,玩家就會變得暴躁。
因為它讓我們失去了對遊戲的控制,與遊戲世界的連線出現了干擾,遊戲體驗發生了斷層。
網路延遲高的原因可能有很多,本地網速不行、伺服器距離太遠、同時線上人數太多,等等。
但延遲的結果只有一個,那就是一片混亂。
所謂操作再騷,也怕ping高。
在高延遲的環境下玩遊戲,就像隔著兩床棉被擼貓一樣,能不能讓貓主子滿意完全取決於棉被的舒適程度,已經和你手把沒什麼關係了。
即使陰差陽錯的讓貓主子滿意了,你這邊也得不到任何滿足感,反而是一臉懵逼。
於是就經常會出現這樣的對話:
“老楊你在哪呢?我看不見你啊!”
“我就在這啊!”
“誒,你怎麼閃現了一下又沒了……哦,我看見你了,我去找你。”
“你快來,我這打起來了!”
“誒,不行啊,我過不去啊,走一步退兩步。”
“你行不行啊!”
“好了好了。我來了,要上了,幫我控制一下。”
“控制著呢。”
“沒有啊,快控制它!靠,我死了,你怎麼回事啊。”
“你在哪呢,我怎麼沒看到你?”
“死了,在地上呢!他一個衝擊波我就掛了。”
“啊?衝擊波?那個Boss我不是已經打死了,正在打下一個了……”
估計很多人在玩線上遊戲的時候都有這樣的經歷,明明能看到目標,但好像就被一種無形的力量拉著,就是走不過去。
玩射擊遊戲,每次開槍都要讓子彈飛一會,換一把槍要等幾年的時間,明明槍斃了對面一分鐘,結果他什麼事都沒有,反倒自己莫名其妙的倒了。
遊戲模型抽風,人物被卡進模型裡,疑似產生變異物種等。
甚至會出現幾個人同在一個遊戲房間,但相互看不到對方的靈異事件。
總之,玩遊戲的時候網路卡,和洗澡的時候停水一樣,是一件非常讓人抓狂又無可奈何的事情。
但對於某些人來說,網路延遲未必是壞事,稍加改造甚至可能是外掛般存在。
玩網路遊戲時,一般人都會選擇延遲較低的伺服器和房間,這樣房間裡的玩家延遲都差不多。但這裡時不時的會殺進來一些勇者,頂著高達幾百毫秒的延遲進行戰局。血紅色的ping值,讓他們在低延遲玩家中格外的顯眼。
遇到這樣的玩家需要多加小心,因為和他們正面對峙一般只有兩種結果,你被莫名的幹掉或對面莫名的掉線。
這些就是傳說中的高ping戰士,在普通人面前他們是具有超能力的魔法單位,身形飄忽不定,能在你面前瞬間出現,也能在槍戰中突然消失。這可不是光學迷彩,而是更為尖端的高延遲相位護甲。這種護甲,可以通過扭曲時空來無視掉大量的傷害,當你看到他的時候,他已經不在那裡了,子彈打到的只是他的殘影。
高ping戰士到底能有多強?可以參考遊戲《量子破碎》。
這遊戲講的就是一個延遲很高的人,利用自己的延遲能力對抗惡勢力的故事。在遊戲中你可以使用延遲衝刺,迅速改變自己的位置。延遲護盾可以在身體周圍產生一片延遲場,讓所有的攻擊產生延遲。
攻擊時則是提高一小片區域的延遲,向其射擊,延遲場讓所有的子彈都處於幾乎靜止的狀態,當延遲結束,所有的子彈又會一同發射造成大量的瞬時傷害。這和高ping戰士在遊戲中瞬間擊殺單位如出一轍。
顯然不論是高ping戰士,還是遊戲延遲本身,都是破壞遊戲體驗的。
為了消滅網路延遲,玩家們也是花盡了心思。
用更快的網、買更高階的網路卡和路由器,換DNS,掛加速器。
但就像之前說的,延遲總是會有的,只是有高低之分。
這是一個遺憾的訊息,因為在玩家眼中,延遲是毫無意義的,是應該消滅的萬惡之源。是那種少有的,你可以用斷言的語氣大聲控訴的東西,因為它是100%由邪惡組成。
但真的是這樣嗎?
大家都想去消滅延遲,但有沒有一種方法可以利用延遲呢?
經過了一個晚上的閉目思考,我想到了一個天才的方法。
下面就是見證奇蹟的時刻。
我們知道高ping戰士都是瞬移的,其中的原理很簡單,那就是在A移動的時候,他的資訊沒能及時的傳輸給B,等到B接受到資訊時,A已經到了另一個地方。雖然在A看來他是正常的移動了一段距離,但在B看來,A就是瞬移了。
關鍵是我們真實的製造了瞬移,一項只在科幻、奇幻作品中聽說過的能力。那我們能不能利用這種技術,在現實中為人類造福呢?
假設兩個人在玩遊戲,A向B開了一槍,但因為延遲這一槍遲遲沒有發射,而在這期間B離開了電腦,去了趟洗手間,當他到達洗手間的時候那一槍打到了。
如果把延遲看作是一個個維度空間,那麼在高延遲空間中B只是正常的去了一次洗手間。而在低延遲空間的人看來,B就是在開槍的一瞬間移動了一段距離。
網路延遲降低了整個世界的速度,產生了一個自己的時間場,這裡的時間相對外部是更慢的。
因此,當你看到另一個人的角色站在那裡,實際上他已經不在了,也就是說在這一刻,你看到了之前發生過的事情。如果選取其中的一個人為參考系,那麼另一個人其實是發生了瞬間移動。
如果增加延遲,利用延遲空間的變換,那麼這個人可以走得更遠,也就實現了空間傳送。
現在擴充一下思路,想象一下利用這個技術我們能夠成就怎樣的進步!
假設地球上有一臺電腦A,宇宙飛船上有一臺電腦B,同玩一款遊戲,如果A開一槍射擊B的角色,B被打到的時候宇宙飛船可能已經離開了地球。只要延遲夠高,宇宙飛船就可以在這槍打中目標之前到達火星,甚至更遠的地方,衝出銀河系,到達更遠的星系,接著宇宙殖民,星系冒險,簡直就開創了一個新的紀元!
最絕的是,這種飛船不需要多尖端的科技,什麼光子引擎,超時空躍遷,只需要一臺全宇宙網路最差的電腦即可。採用這種原理的飛船,我稱之為延遲域驅動飛船,簡稱YCY飛船。
也許有人會說了,之前什麼空間傳送、光速飛行的理論也不少,而且理論上都是可行的。但問題是,它們也都只存在於理論上,因為到了實際應用中總是有一個人類無法觸及的關鍵因素。
問得好,這正是延遲域驅動飛船的天才之處。這項技術的關鍵是有足夠大的延遲讓時間相對靜止,別忘了,延遲是可以人工控制的,把伺服器的速度降低,讓延遲大幅增長,這樣一來我們就實現了瞬間的空間傳送!
而且我們可以通過控制延遲的時長來控制移動的距離,還是拿人的步行舉例,如果我要瞬間移動到家門口,大約需要製造4-5秒的延遲,如果要移動到單位,大概需要30分鐘的延遲,如果要移動到上海可能需要幾十天的延遲。因此物體移動的速度也會影響延遲的需求時間,移動到更遠的地方,我們需要更快速度魔盒更多的延遲,前者是人類一直在努力發展的,很遺憾在後者上,我們一直在反向努力。開發著各種降低延遲的技術,而我們應該做的是研究出能讓延遲大幅變長的裝置。
現在是不是對延遲有了新的認識呢?前一秒我們還在為無法消滅延遲而苦惱,而下一秒我們就將瘋狂的增加延遲,把我們曾經的痛苦化成人類進步的燃料。
而今晚當我玩遊戲的時候,即使又感到延遲也不會像從前那麼介意了,雖然它的存在讓遊戲體驗變得支離破碎,但畢竟也是因為它,人類才能走前邁出一大步。
好吧,我編不下去了。
我今晚當然不會玩遊戲啦,現在我正急著把所有的思路整理成論文好嗎?!把手機切回2G、把網速限制在1k/s,如果我家網夠慢的話,也許我能趕在晚飯前完成。
諾貝爾,我來啦!
作者:石葉
來源:杉果遊戲
原地址:https://zhuanlan.zhihu.com/p/68727448
相關文章
- 【每日一題】743. 網路延遲時間每日一題
- 阿里雲 DTS 網路延遲為那般 ?阿里
- BUUCTF:穿越時空的思念
- 如何利用PostgreSQL的延遲複製實現災備SQL
- 新 Uber 司機端是如何克服網路延遲問題
- 網路延遲對事務的影響
- Fiddler(8)設定網路丟包和延遲
- 網路丟包,網路延遲,這款神器幫你搞定所有
- Flink 鏈路延遲測量
- 如何利用Redis實現延時處理Redis
- esp32筆記[17]-顯示網路延遲筆記
- 打破延遲,實時同步不再難!
- goldengate抽取程式延遲90小時Go
- 應用響應時延背後 深藏的網路時延
- go-zero 如何應對海量定時/延遲任務?Go
- TCP協議之網路延時TCP協議
- 網路時延的幾個概念
- 乙太網交換機中的網路延遲是什麼呢?
- [20150409]只讀表空間與延遲塊清除.txt
- 美國伺服器延遲高怎麼辦,如何解決延遲問題伺服器
- CCF之網路延時(樹形dp)
- 由於網路延遲造成邏輯鎖過期的問題
- RabbitMQ延遲訊息的延遲極限是多少?MQ
- 延時 (遲) 操作的 PHP 簡單實現PHP
- JMeter定時器設定延遲與同步JMeter定時器
- 下面是一個基於PowerShell的示例指令碼,定期檢測網路延遲並根據延遲的變化手動更新路由表。此示例透過使用 Test-Connection 命令檢測網路延遲,並根據延遲值來決定是否更新路由表。指令碼路由
- 如何用RabbitMQ實現延遲佇列MQ佇列
- 延遲繫結
- 網路網賭注單延遲 賬號凍結不給提款怎麼辦
- win10系統玩絕地求生吃雞遊戲網路延遲高如何解決Win10遊戲
- 一文熟知網路時延的概念
- 利用動畫延遲(animation-delay)實現複雜動畫動畫
- 定時器(setTimeout/setInterval)最小延遲的問題定時器
- 穿越:網路空間擬態防禦這些年是怎麼被“虐”的?
- 伺服器延遲問題如何解決伺服器
- win10電腦玩遊戲網路延遲高怎麼解決Win10遊戲
- 超低延遲傳輸網路架構在元宇宙場景的應用架構元宇宙
- 網路應用優化——時延與頻寬優化