2013-02-27 113 views
0

我想用Skiller將我的遊戲帶給多人遊戲。多人遊戲方面發生在與寵物小精靈同樣風格的戰鬥中,在這場戰鬥中,怪物利用玩家選擇的動作進行戰鬥。 Skiller使用在用戶之間發送的字符串來傳達移動。對於多人遊戲,我應該:基於回合的多人遊戲:製作/驗證動作

(1)只發送移動名稱,並讓兩個玩家的客戶計算結果(傷害)。 (2)讓客戶計算結果併發送。

(3)發送移動名字,並有兩個客戶端計算的結果,並把他們送到覈對對方

(4)一個更好的選擇,我不知道

[編輯]在在戰鬥開始時,消息會來回傳遞,以便玩家的所有客戶都擁有關於怪物(健康值,攻擊值,狀態)的所有信息,以便每個人都可以計算基於移動所造成的傷害。

如果我在移動完成後驗證結果,如果他們得到不同的結果會發生什麼?這是有道理的,但我不確定我想要做什麼,如果它回來不同。

+0

如果您確實想要驗證這些動作,請使用選項3.相互檢查將確保遊戲在兩個客戶端上處於相同狀態。使用選項1,如果有人被修改,他們可能會看到不同的結果,但不知道。 – Geobits 2013-02-28 13:44:09

+0

請將您的回答作爲回答而不是評論,以便它可以被評分/接受。 – willmer 2013-02-28 14:49:29

+0

這並不是一條堅強而快速的規則,所以它對我來說不像一個*答案*。老實說,我認爲投票結果是主觀的,因爲這個問題沒有人回答,許多遊戲都以很多方式進行。 – Geobits 2013-02-28 14:53:06

回答

0

如果攻擊者發起了移動,那麼防禦者(被攻擊的那個人)會計算出造成的傷害。

爲了保持這個口袋妖怪的例子,只有防禦者應該計算損傷的原因是攻擊者不需要從防禦者那裏接收很多信息,例如Max health,一種「防禦」屬性等等。 然後防禦者會將受到的傷害發回給攻擊者,這樣兩位球員都知道發生了什麼。

我相信這是做到這一點的最佳方式。