看板 GameDesign 關於我們 聯絡資訊
: 推 yhn0tgb60:假如這個遊戲是做網路版的~~ 07/12 18:29 : → yhn0tgb60:而我每10秒判斷一次server是否要算電線連接判斷~~ 07/12 18:30 : → yhn0tgb60:結果玩家在這10秒中間就離線了....這不就掛了 = = 07/12 18:31 你這是另一個問題了。然後最簡單的解法有兩個(當然還有很多別的解法,我只 是提概念最直覺簡單的): 1. 這些判斷計算都是Server端自己在做,所以玩家Client沒連線時Server自己還是 在不斷更新,玩家連上去時都是看到最新的情況,沒有問題。 2. 計算是要依賴玩家連線去啟動、甚至是在Client端上計算的(雖然若只在Client 上處理就會有玩家可以輕鬆Hack的可能性)。在上面兩種情況下,我們只要記錄一下 玩家上一次處理是什麼時間,然後下一次他又連上來啟動了計算時,就計算時間差來 補處理中間沒算的部分。比如在1:10時算了一次,可是1:15玩家閃人了,所以1:20那 一次就沒算到。但是他1:35連回來了,在此時就可以一次把1:20跟1:30的依序計算補 回來。 當有多玩家同時玩且會互相影響的情況,1.的方法完全沒有差別,2.則是在「任 何」玩家連上來行動時,就把所有玩家之前累積沒處理掉的動作依時間順序處理掉。 只要時間序是正確的,就不會造成正確性的問題。2.的方法是很多那種簡單的CGI遊 戲使用的方法之一。 -- 「可是妳......不是天使嗎?」 「天使?」她緩緩的轉過頭來,用悲傷的表情。「天使,只不過是神創造出來的 不死玩偶。」 「而神,也只不過是詛咒下的偽善使者。」 --星.幻.夢的傳說 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.24.201.252 ※ 編輯: ddavid 來自: 114.24.201.252 (07/12 19:19)
yhn0tgb60:謝謝 ^^ 07/12 21:11