Hi there! Currently I am working on a small top view 1 vs 1 / 4 vs 4 fighting game and I was wondering what would be the optimal setup for its networking. I already know I must use an Authoritative network setup but I am not too sure if I should use a P2P or Dedicated Servers architecture. (I know that dedicated servers are less prone to lag, but I am not sure if the maintenance price is worth the improvement, taking into account the low amount of players per match) I would like to know what you would suggest me for my game's networking. Cheers and thanks for your time!
The question should be asking is: Authoritative or Non-Authoritative architecture. Both of them can have "dedicated servers" as an option. Authoritative: Controls everything from processing player input to world/game logic (ai, stats and every other game mechanic). Non-Authoritative: Every player controls your own stuff like player state, position and interactions (applying damage and etc). The host only relays and synchronize data to other clients. Both methods can have a dedicated server option where you create a two separate applications, one that act as a server and one that act as a player. Also you can have it like Counter Strike did, one dedicated server application and one client that can also act as a server (useful for LAN parties without having to setup a dedicated server). Keep in mind that if you want to host a dedicated server for every match (like DOTA) the costs will be very high. On the other hand, you can host a lobby and have the players host the dedicated servers (like Counte Strike).