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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

無數(shù)玩家童年的神作重新回歸,手機(jī)端多人聯(lián)機(jī),呼朋引伴一起重溫當(dāng)年的熱血大作。

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


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

移動同步

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

計算之后,根據(jù)當(dāng)前服務(wù)器計算的結(jié)果和客戶端上報的結(jié)果,進(jìn)行對比,即CheckCheat,看位置有沒有差異,客戶端有沒有作弊。如果有作弊,客戶端會向iP玩家發(fā)送一個AdjustOwner,進(jìn)行校正,校正可能會導(dǎo)致1P玩家有拉扯。
?


瞬發(fā)型同步模型和投射類同步模型
?


瞬發(fā)型同步模型中,需要達(dá)到的目標(biāo)是本地預(yù)表現(xiàn),QQ號購買響應(yīng)及時,體驗順暢。核心點(diǎn)是命中校驗和反外掛。

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


這是本地發(fā)射開火,但并不會真的發(fā)射子彈出來,服務(wù)器開始創(chuàng)建子彈,同時給兩端玩家進(jìn)行。假設(shè)他們一起開始,傷害是在DS進(jìn)行的,本地只是預(yù)表現(xiàn),不做檢測。目標(biāo)是犧牲局部實(shí)時性,與3P保持彈道一致,公平性優(yōu)先。核心點(diǎn)是延遲補(bǔ)償,平滑差值。

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

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

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


在C/S架構(gòu)中,DS收到的目標(biāo)是一個RTT前,敵人所在的位置,當(dāng)你扣下扳機(jī)時他已經(jīng)跑了。這個大部分原因是網(wǎng)絡(luò)延遲。

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

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。