日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《魂斗罗:归来》手游子弹中没中,没你想得那么简单!

發布時間:2024/8/26 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《魂斗罗:归来》手游子弹中没中,没你想得那么简单! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

無數玩家童年的神作重新回歸,手機端多人聯機,呼朋引伴一起重溫當年的熱血大作。

除了IP,劇情,對工程師而言,《魂斗羅:歸來》更要解決的聯機同步和命中同步等問題,簡單說,一顆子彈打沒打中,沒你想得那么簡單!
?


客戶端高級工程師聶鵬和田亞濤本周在《論道》開聊,小小子彈命中的大問題!

移動同步

最左邊是1P玩家的持續,中間是DS,右邊是3P玩家。玩家走路,會有一個MoveStep,MoveStep里包括了各種移動計算,操作以后它會把移動的包,即SendMove發到服務器,服務器會根據這個包進行MoveStep。

計算之后,根據當前服務器計算的結果和客戶端上報的結果,進行對比,即CheckCheat,看位置有沒有差異,客戶端有沒有作弊。如果有作弊,客戶端會向iP玩家發送一個AdjustOwner,進行校正,校正可能會導致1P玩家有拉扯。
?


瞬發型同步模型和投射類同步模型
?


瞬發型同步模型中,需要達到的目標是本地預表現,QQ號購買響應及時,體驗順暢。核心點是命中校驗和反外掛。

1P玩家發送射擊開始和結束事件,過程由DS計算并同步給3P玩家表現。本地檢測命中后預表現命中效果,需發送當前時刻的狀態序號給DS做命中判定。DS收到后回滾角色發射時刻信息,校驗彈量、射程、方向、位置、阻擋等信息。驗證通過,執行傷害并同步給所有客戶端。


這是本地發射開火,但并不會真的發射子彈出來,服務器開始創建子彈,同時給兩端玩家進行。假設他們一起開始,傷害是在DS進行的,本地只是預表現,不做檢測。目標是犧牲局部實時性,與3P保持彈道一致,公平性優先。核心點是延遲補償,平滑差值。

外網偶爾會反饋一些問題,比如命中無效、擊穿問題、彈量閃跳,這些都是非常影響體驗的。

命中無效就是打著沒傷害,第二就是會穿人,子彈會穿過去,還有就是在設計的時候,按著開槍的時候,彈量會閃跳。

命中無效:回滾250毫秒歷史事件
?


在C/S架構中,DS收到的目標是一個RTT前,敵人所在的位置,當你扣下扳機時他已經跑了。這個大部分原因是網絡延遲。

目前的解決方案是,回滾250ms的歷史事件,回滾到這個點,沒有取到信息,之前是會判定命中無效。如果大于250ms,還會增加一個檢查,看你是不是還在這個位置。如果你沒動,對方沒動或動了但在250ms之內,還是會產生傷害,只是傷害會產生延遲。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的《魂斗罗:归来》手游子弹中没中,没你想得那么简单!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。