[請益] real-time遊戲延遲問題

作者: f111222003 (lai1003)   2015-03-22 00:38:15
如題
小弟想做個兩人對戰的遊戲
內容類似桌球對打 雛形做出來了
但是碰到些問題,如 因網路延遲 造成兩方對球的判斷不一
可能甲方把球回擊後 藉伺服器把資料傳給乙方
但是因為有時間差 乙方的球已經顯示出界了,
是需要再同步球的位置嗎? 可是感覺顯示起來又會很突兀
剛剛在play商店發現一款對戰桌球,
感覺大致上解決了我上面問的問題,
想請問是如何做到的
手機排版 不好意思 謝謝各位
作者: cjcat2266 (CJ Cat)   2015-03-22 01:03:00
整場遊戲在伺服器上進行,伺服器推送遊戲現況給雙方?
作者: scars (scars)   2015-03-22 07:26:00
複雜一點就根據延遲狀況調整球速 球過去比較慢 過來比較快
作者: KanoLoa (卡)   2015-03-22 09:10:00
意思是擊球的時候加個緩衝,另一端準備好接球了再給他再加個平滑預處理就會很順暢的感覺了缺點為網路不順時會整體變慢動作
作者: cowbaying (是在靠北喔)   2015-03-22 11:42:00
你可以把球的動態用向量方程式來顯示或者每個loop就送一次座標更甚者 由伺服端統一sync球的位置也可以
作者: akilight (OWeeeeeeeee~)   2015-03-23 21:03:00
簡單一點的作法就是server送向量方程+定期sync位置玩家客戶端自己這邊判定複雜的碰撞等,server簡單判定以上這種作法是WOW類型wsad移動會採取的方式如果是滑鼠點擊移動,那通常都是用a*簡單判定路徑再由server送路徑資料回來,這方法還會搭配區域切分來減輕server的負擔不過以上MMO的作法其實不一定適合你現在做的東西主要是對於位子的容錯性、補償機制,MMO比較不在意即時的精準程度,其他客戶端看到的誤差容忍度比較大你比較需要的應該是找類似FPS之類的連線機制來看https://www.youtube.com/watch?v=oZ7TQjWhtEw 像這個

Links booklink

Contact Us: admin [ a t ] ucptt.com