幀同步遊戲如何處理物理引擎BOX2D的浮點數

時間 2021-06-02 04:49:23

1樓:馬遙

做聯機高頻率同步的小遊戲,目前還是乙個大坑。

題目描述所說的「修正所有浮點數」基本不可能。先說可能的解決方案:

1、避免使用BOX2D這種物理引擎,把物體之間的互動簡化,角色自己寫控制器,場景物體也寫成互動運動的邏輯,避免物理引擎的計算。

2、幀同步+狀態同步。

定期方式:幀同步不變,在此基礎上,1~N秒進行一次狀態同步,以主機(某個客戶端)的狀態資料為準。(以伺服器狀態為準也可以,但是一般小遊戲並沒有完整的伺服器端狀態)

這種思路目的是隔一段時間強行把多人拽到同乙個狀態,如果偏差過大或者時序處理不好,從機的體驗會很差。但是應該能解決問題,很多小遊戲採用了類似的策略。

綜合方式:另一種變體就是不重要的事件用幀同步,很重要的事情用事件同步,最終也能保證一致性。

幀同步+狀態同步的策略,從純技術角度看很不優雅,感覺是補丁套補丁。但是其實比較適合於題主描述的問題,可以考慮試試看。(具體實現方法是依遊戲而定的)

2樓:lingzerg

至於同步的粒度和方式,要看你對遊戲細節的要求

不過這個也看怎麼做了,我之前看cf在18年u3d大會上的演講

他們用的好像是狀態同步但是用各種機制保證了結果的正確性,而且他們因為有載具,也有類似你的物理需求

如何處理學習和遊戲間的關係?

蔣平 這裡挑選我最喜歡的 刺客信條 系枚舉例,我於其中收穫頗豐。第一部化身阿泰爾於第三次十字軍東征期間,遊歷於耶路撒冷和大馬士革 第二部變身艾吉奧在文藝復興時期,攀爬在變革中心佛羅倫斯 第三部兄弟會中艾吉奧熟稔為大師,緊接前作翻飛於義大利的羅馬 第四部啟示錄艾吉奧老當益壯追隨阿泰爾腳步深入奧斯曼帝國...

遊戲使用的物理引擎是如何能夠模擬出現實的情景變化?

Janisa 上面那位說的有點詳細了,我就通俗概況說下 遊戲某個物體在遊戲開始了,遊戲物理場景會建立針對這個物體乙個物理物件引用指向它 根據該物體形狀和剛體物理屬性建立 該物理物件實時模擬物理計算,最終算出位置和朝向交給渲染程序實時改變該物體的位置和朝向。 鄧明華 搜尋 物理引擎 的關鍵字的時候發現...

如何處理遊戲中新老玩家的矛盾(排新矛盾)?

1,限定物品最好像雙11一樣,隔一年給個機會。2,新手禮包隨版本更新。4,載入介面提示新玩家小技巧 5,搞周累計氪金板好過搞永久累計板。6,增進新增好友的機會 只熟悉劍三,就用劍三舉例 傳統就是新門派特別強,不需要老玩家的技術基礎,就能玩的很不錯,同時出了新門派就更新裝備,老玩家的裝備,技術,最重要...