看板 GameDesign 關於我們 聯絡資訊
如題 小弟想做個兩人對戰的遊戲 內容類似桌球對打 雛形做出來了 但是碰到些問題,如 因網路延遲 造成兩方對球的判斷不一 可能甲方把球回擊後 藉伺服器把資料傳給乙方 但是因為有時間差 乙方的球已經顯示出界了, 是需要再同步球的位置嗎? 可是感覺顯示起來又會很突兀 剛剛在play商店發現一款對戰桌球, 感覺大致上解決了我上面問的問題, 想請問是如何做到的 手機排版 不好意思 謝謝各位 -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.90.105 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1426955897.A.C9F.html
cjcat2266: 整場遊戲在伺服器上進行,伺服器推送遊戲現況給雙方?03/22 01:03
這樣變成甲做回球動作>資料傳給伺服器>更新球 容易讓能打到的球變成沒打到
scars: 複雜一點就根據延遲狀況調整球速 球過去比較慢 過來比較快03/22 07:26
不太懂 是指讓兩方裝置看起來位置不同?(我這邊看比較快時,你看起來比較慢) ※ 編輯: f111222003 (42.67.31.105), 03/22/2015 08:36:41
KanoLoa: 意思是擊球的時候加個緩衝,另一端準備好接球了再給他03/22 09:10
KanoLoa: 再加個平滑預處理就會很順暢的感覺了03/22 09:10
KanoLoa: 缺點為網路不順時會整體變慢動作03/22 09:11
cowbaying: 你可以把球的動態用向量方程式來顯示03/22 11:42
cowbaying: 或者每個loop就送一次座標03/22 11:42
cowbaying: 更甚者 由伺服端統一sync球的位置也可以03/22 11:43
那能請問PC版大型線上遊戲 不知都是如何解決這種問題的呢? ※ 編輯: f111222003 (42.70.55.183), 03/23/2015 18:56:13
akilight: 簡單一點的作法就是server送向量方程+定期sync位置03/23 21:03
akilight: 玩家客戶端自己這邊判定複雜的碰撞等,server簡單判定03/23 21:04
akilight: 以上這種作法是WOW類型wsad移動會採取的方式03/23 21:04
akilight: 如果是滑鼠點擊移動,那通常都是用a*簡單判定路徑03/23 21:05
akilight: 再由server送路徑資料回來,這方法還會搭配區域切分03/23 21:05
akilight: 來減輕server的負擔03/23 21:05
謝謝各位大大的解說 多認識很多東西 我會在努力試試的! ※ 編輯: f111222003 (1.164.90.105), 03/24/2015 02:01:52
akilight: 不過以上MMO的作法其實不一定適合你現在做的東西 03/24 09:52
akilight: 主要是對於位子的容錯性、補償機制,MMO比較不在意即時 03/24 09:53
akilight: 的精準程度,其他客戶端看到的誤差容忍度比較大 03/24 09:54
akilight: 你比較需要的應該是找類似FPS之類的連線機制來看 03/24 10:00
akilight: https://www.youtube.com/watch?v=oZ7TQjWhtEw 像這個 03/24 10:00