I've been mulling over how one would go about creating a P2P system (like BitTorrent is for files) for playing multiplayer games. The idea is to remove the traditional server from the multiplayer architecture. I understand that some sort of server may be necessary for initiating the communications and sending world updates etc, but I'm interested into how you would reduce the load and bandwidth pressures on the server.
By the way, this goes for any size game, from a two player checkers game right up to a FPS with 30+ players.
Am I crazy?
I've been thinking about the same thing. I've got a long-time prejudice that distributed systems ought to be distributed, with no need for a central controller. The issue with an MMO or similar game is that every player should be able to see the same "world". You end up with an issue similar to Einstein-ian Relativity and "simultaneity" -- the farther apart you are, the more your view of the world differs.
In general, the solution is that you have to be able to propagate information to other clients in your immediate neighborhood -- in the in-gamer space, not necessarily physical space -- fast enough that updates appear simultaneous to all the local players.
I suspect the answer is to have a "server" or world-model per player, rather than representing the players as vectors in a world server.