P2P synchronization: can a player update fields of other players?
Posted
by
CherryQu
on Game Development
See other posts from Game Development
or by CherryQu
Published on 2012-09-01T06:31:12Z
Indexed on
2012/09/01
9:50 UTC
Read the original article
Hit count: 538
I know that synchronization is a huge topic, so I have minimized the problem to this example case.
Let's say, Alice and Bob are playing a P2P game, fighting against each other. If Alice hits Bob, how should I do the network component to make Bob's HP decrease?
I can think of two approaches:
- Alice perform a Bob.HP--, then send Bob's reduced HP to Bob.
- Alice send a "I just hit Bob" signal to Bob. Bob checks it, and reduce its own HP, then send his new HP to everyone including Alice.
I think the second approach is better because I don't think a player in a P2P game should be able to modify other players' private fields. Otherwise cheating would be too easy, right?
My philosophy is that in a P2P game especially, a player's attributes and all attributes of its belonging objects should only be updated by the player himself. However, I can't prove that this is right. Could someone give me some evidence? Thanks :)
© Game Development or respective owner