[問題] 請益 MMOG 系統架構設計概念

看板GameDesign (遊戲設計)作者 (這就是人生啊)時間17年前 (2007/12/16 14:21), 編輯推噓3(305)
留言8則, 3人參與, 最新討論串1/2 (看更多)
各位好,我想請教 MMO 開發在伺服器和客戶端的系統設計概念, 目前我自己也有寫一套,但跟目前線上遊戲作比較, 在人物狀態更新上相形之下遜色很多,會頓... 我來說說我的作法: =============================== 客戶端:使用 RTP 傳送資料 1.設定 TIMER 在 MsgProc 中固定每 33毫秒(frame rate 30/sec) 發送自己的狀態到伺服器。 2.在「程式主體」中接收使用者輸入改變自己狀態,和上一個迴圈的狀態比較, 有改變且時間相隔 33毫秒以上,則發送自己的狀態到伺服器。隨後再更新其他 玩家的狀態,更新的方法是依據上一次接收到的狀態預測這次的位置和狀態 (我不曉得這一步更新其他玩家是不是有畫蛇添足...)。 =============================== 伺服器端:使用 TCP 傳送資料 1.接收到玩家送來的 RTP 封包,更新這位玩家在伺服器中的狀態, 然後廣播給其他玩家。 2.程式主體中每個迴圈每 100毫秒發送每個玩家狀態給其他在線的玩家。 =============================== 伺服器端我有嘗試改用 RTP 傳送資料封包,但對於動態浮動 IP 的客戶端, 會接收不到... 我的問題是,一般 MMOG 伺服器端和客戶端在更新人物資料時 有什麼機制?UDP?Multi-Thread? 請指教。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 134.208.3.138

12/16 16:14, , 1F
甚麼平台? windows可以用iocp去做
12/16 16:14, 1F

12/16 16:14, , 2F
如果你不停在更新資訊 可以使用udp 反正遺失一兩個封包
12/16 16:14, 2F

12/16 16:16, , 3F
也無所謂
12/16 16:16, 3F

12/16 17:28, , 4F
嗯 那不知有沒有介紹系統開發的文章或是書呢?
12/16 17:28, 4F

12/16 17:29, , 5F
我比較想知道的是開發流程..
12/16 17:29, 5F

12/17 16:03, , 6F
不過最近我測試UDP遇到一個問題,NAT內的PC收不到..
12/17 16:03, 6F

12/17 18:23, , 7F
NAT要打洞
12/17 18:23, 7F

12/18 16:40, , 8F
NAT收不到很正常 你要開port給client或client自己來要了
12/18 16:40, 8F
文章代碼(AID): #17PCFarN (GameDesign)
文章代碼(AID): #17PCFarN (GameDesign)