上一篇文章已經跟大家介紹了甚麼是幀同步,那今天這個文章我們要來談談另一個同步方式-狀態同步。
一. 狀態同步(State Synchronization)的原理
此種同步方法,與幀同步不同它是在伺服器端作運算,然後再將結果傳給其他玩家,在非RTS中畫面不同步其實是可以接受的,像是卡牌遊戲或是一些RPG遊戲,即便是稍微高於100ms也都是可行的,可以透過一些技術方法來作優化。
二. 狀態同步的優點
- 安全性較高:因為伺服器也會進行運算,所以多了伺服器校驗,能比較好的防止外掛。
- 比較好處理中途加入與中斷連線:因為伺服器有目前遊戲世界的狀態,當玩家重新模擬遊戲世界時,跟幀同步相比是相對容易很多的。
- 可適用跨平台連線:因為主要的計算都是在伺服器進行,不會有浮點數問題。
三. 狀態同步的缺點
- 因為封包需要放入所有的狀態,而不只是玩家的指令,因此他的封包大小相對較大。
- 因為數據都是遊戲世界的狀態,所以在製作遊戲回放時檔案相對較大。
- 伺服器會幫客戶端處理一部份的遊戲運算