Consider a setup where game clients:
- have quite small computing resources (mobile devices, smartphones)
- are all connected to a common router (LAN, hotspot etc)
The users want to play a multiplayer game, without an external server.
One solution is to host an authoritative server on one phone, which in this case would be also a client. Considering point 1 this solution is not acceptable, since the phone's computing resources are not sufficient.
So, I want to design a peer-to-peer architecture that will distribute the game's simulation load among the clients. Because of point 2 the system needn't be complex with regards to optimization; the latency will be very low. Each client can be an authoritative source of data about himself and his immediate environment (for example bullets.)
What would be the best approach to designing such an architecture? Are there any known examples of such a LAN-level peer-to-peer protocol?
Notes:
Some of the problems are addressed herehere, but the concepts listed there are too high-level for me.
Security
I know that not having one authoritative server is a security issue, but it is not relevant in this case as I'm willing to trust the clients.
Edit:
I forgot to mention: it will be a rather fast-paced game (a shooter).
Also, I have already read about networking architectures at Gaffer on Games.