2013-02-27 117 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,一种“防御”属性等等。 然后防御者会将受到的伤害发回给攻击者,这样两位球员都知道发生了什么。

我相信这是做到这一点的最佳方式。