Hey
for my open world RPG project I'm planing a multiplayer component primary for LAN sessions (but maybe could also run on server in the www) and currently struggling on finding the right protocol and so the right structure of the network code for it. The game is a real time first person RPG where each player will handle his own character and save games on his local maschine so there is no need for any databases or (less) plausibility checks because its not primary a network game but should have the ability to build small parties of 2 to 3 players.
I read the FAQ and know how to setup network environments (udp/ tcp) on different models (peer-to-peer, client/server) but just need some adice arround the topic especialy for my game concept. I have had two different variants in mind:
TCP Server
A central TCP server any player is connecting to (even hosting player) that will handle whole gameplay and tell each client what happened. Pro on here is the facts that I would now when a client disconnects, try to cheat and could handle the whole game safely without double checks. Con would be to handle all gameplay inside the server
UDP hive mind
A de-centralized hive mind concept in what each player knows his own gameplay and tells each other player in the network what he is doing at the moment, what changed ... . Pro on here is that you do not need a huge server just some udp messages telling everyone else current game state. Con is except the fact that cheating may be happen that anything needs to be double checked, does enemy X attacking me and player Y at the same time, who gets loot and what happened in some RPG I played some time ago having different store inventory.
So now my qestion, what do you think about that toppic, which concept would you prefer or have you any other ideas, situations I did not thought about?