yes, completely agree ...
I want to expand a bit on this:
quote:
All you have to do is duplicate the logic - you set each member of the P2P session to simulate _two_ sets of player actions, their own and their 'suspect.
well, some people might argu against it because if the other peer gets disconnected who would be checking you, and most important your position, the solution would be depending on if you are using hybrid or p2p:
hybrid:
- Stuff needs to be saved on the server, to protect in the event a client in a pair goes awfully down(crash):
Thinking on that, clients would from time to time update their position (not soooo often, remember that is just
to have the data in the event of a crash in the other client). they would also save persistent data, but that should be more custom.
Stuff that involved non reversible desicions (when you choose skill points or the likes when you gain a
level). xp should be saved just like the position but with a lot GREATER difference of time ... items,well, it
depends on the taste, ... ok, the thing is that this stuff needs to be saved, and some of them needs to be
saved at different rates than others, and that would be dependant on the specific game, you can give general
recommendations, but they would fall short because of the great variety of designs ...
- if another client crashes down, sadly updating that for
the other player wont be gracefull, since to keep trusting that client, it would have to be asigned another client
to watch it, and the only trusted data would be that still on the server ... (well, minor deviations might be accepted)
- In the normal event of a player logging out, the server
would quickly assing other client, and use the data obtainned in that moment (when one logs out both would send data) to the server.
p2p:
- gracefully loggin off would be much like the one on the hybrid, but it would be directly with a third client.
- ungracefully loggin off(crash) ..., well I dont have a clue ... CheeseGrater??
Ok, that obsiously is high level, when you start going into details you need to think more on network latency, etc, etc ... but dont go in there, untill you really need to, it is easier to change a bit your well done high level design, that think on EVERYTHING right from the start, you would miss things anyway ...
[edited by - eglasius on May 29, 2003 5:38:48 PM][edited by - eglasius on May 29, 2003 5:39:48 PM]
Eglasius - I can see how the power flows within you, open your eyes and live in a new world.