英雄聯盟是使用什麼技術實現戰鬥同步的?高手程式設計師求解

時間 2021-06-02 10:25:43

1樓:三毛一刀

英雄聯盟用的不是幀同步

moba有用幀同步的比如王者農藥。

不一致的問題在於你沒有實現一致性計算 ,而這個是幀同步的基礎隨機數邏輯順序浮點數問題物理計算都是要特殊處理的

不知道為什麼出不一致的問題也就是你對幀同步一無所知卡頓就要考慮伺服器分布封包策略本地預演計算等等。 加油好好找資料弄懂了幀同步再重新做一遍

2樓:

我不是來提供技術方案的,只是看提問者有些可憐!問乙個問題沒有乙個提供到點上,甚至胡說。除了mack的靠譜一些,我個人建議是除了mack提到的點可以看下思考下,其他的每乙個答案都不要去信去看,都是業餘的!

己所不欲勿施於人。

3樓:

資料不同步。。。。隨機數seed要伺服器發乙個一樣的呀。。。。

開發階段不同步了要打斷啊,報錯啊,有log啊查一下從哪一幀哪乙個地方開始不同步啊。。。。

網路延遲我就不知道啦,但是用幀同步並且保證資料同步應該還是不那麼困難的吧。

伺服器不是完全沒有邏輯啊,伺服器也要有一些關鍵邏輯驗證啊!不然所有客戶端一起開掛你不是涼了嗎

4樓:esileat

我不是搞moba的,但我玩過LOL而且我也是碼農,在玩的過程中我會以乙個碼農的思路去考慮它是怎麼實現的。首先遊戲裡有遊戲時間、延遲、FPS。預定時間出兵了這是客戶端能完成的不用發資料到伺服器對吧。

再設想一下如果有個英雄卡住了兵線,那該傳送到伺服器的有什麼?只有座標(座標包含了該包含的)。英雄模型、死規則客戶端都有。

玩家a控制英雄在那裡跳舞了那就往伺服器發個跳舞的指令就行了,b的視角範圍內有a存在的話伺服器再把那個跳舞的指令生成的時間發給b的客戶端計算該怎麼顯示。對線的時候座標一直變,伺服器接收再發到視角範圍內的客戶端。其他的自己腦補。

要實現同步最最重要的就是遊戲時間。遊戲時間同步了那些網路延遲的就會有卡頓的情況了。每一條指令都該包含時間!

重要的事情說八百遍。

外行觀點,輕噴。

5樓:檀十一郎

moba需要幀同步?

粗略地說,比如乙個人放技能,其客戶端傳送相關資訊到伺服器進行計算,伺服器再將計算結果傳送至其他相關客戶端,客戶端再將結果表達出來。那麼這個技能的影響在各客戶端的表達可以是不同步的,並不影響遊戲的公平性。

如果伺服器沒有邏輯,我斷言你的moba是失敗的。這個應該不需要解釋吧?

英雄聯盟懷舊服在技術上可以實現嗎?

南山隱士 知道s1s2當時lol的宣傳廣告是什麼嗎?dota原班人馬打造 這懷舊服不就是個dota老版嘛,而且裝備和人物都是照搬照抄的。如果真有玩家想體驗一下,直接到魔獸爭霸玩老圖lol就行了。 棠弦 當然可以實現,但是不是現在。而且拳頭很明顯不希望推出懷舊服,為什麼?你看魔獸世界懷舊服,魔獸世界的...

為什麼英雄聯盟212沒人使用

該使用者被強制改名 你的意思就是上路雙人 而上單在這個版本中戰士較為強勢,前期具備1V2的能力,微操一下還能1V3 但是你這個套路會極大削減上單獲取經驗的進度,如果僅僅是為了給buff還是選個艾翁好了。石甲蟲目前給的經驗最多,而上路又沒打野刀,經驗獲取大打折扣。上單的經驗比重是略大於金錢,那些猛男戰...

英雄聯盟新出的回放功能是如何實現的?

企鵝叔叔 跑個題。玩過WOW的搞過戰鬥記錄上傳的。特別是這個版本的WCL。你就知道戰鬥資料是個什麼東西了。你不僅僅可以看到戰鬥結束後什麼英雄總傷。你甚至可以選擇XX分鐘 XX分鐘時間段。以時間軸的形式看到所有人的技能輸出峰值。BUFF覆蓋階段。每一段傷害的具體資料 是否暴擊等等 包括生命值 法力怒氣...