I'm a hobbyist developer (and soon to be pro employed as well, yay!) and some part of my head every now and then looks for ways to reduce the need indies might have of renting servers to host multiplayer games.
now this is something I'm most likely not going to implement (or maybe I might), but still I'd be looking to give it a better shape.
this is meant for persistent multiplayer online games (think an MMO, but without the Massive, hence why I wrote only MO - ideally for games from 2 to 64 players), with an engine where the classic server-client multiplayer model is used (my engine of choice is UE3).
so the idea is to persistently save all of the players' characters in a webserver database, and then allow players to host their own games with automatic announcement into a server list. before the game starts the players select their saved persistent character and play a game on their own realm. since any created match would be broadcasted into the server list, players would be able to join existing matches and in theory (if there's always a good amount of servers in the server list) the whole thing could be rid of privately hosted game servers rented by the developer.
no low-ping servers? just start your own listen server (and tell your friends, or wait for other players to join). lan play? of course!
the whole idea isn't new really. it's similar to what Blizzard did with Diablo1. except in Diablo1 the saved character was stored in the player's PC. Diablo3 does a similar thing, except AFAIK matches aren't hosted by the players (or are they?)
so what advantages does it bring?
well for one perhaps it might reduce some load from the game server. if character stats are stored in the database and the players' client can communicate with it, the host server/player might not even need to know anything about the characters' stats or their items' stats. therefore the server would focus on the core gameplay and some load would taken off it.
now it does bring one problem: world persistence.
while characters are kept persistent, the world isn't. the effect would be just as in Diablo2 or Diablo3: you start a new match with your saved character but the world has been reset entirely to its initial state. all trace left from your previous game sessions (besides your stats and items) are the 'completed quests' in your log.
and now I must say I'm not a fan of static game worlds. nor a fan of MMO game worlds where you complete a quest and the world remains unchanged (you even still see a new horde of orcs coming to attack the town you just saved from... a horde the orcs, for which you got thanked and let go leaving everyone happy and in peace)
but saving the whole state of the world in an online database for every player sounds overkill (as opposed to saving a few hundred characters)
so this is where the idea needs more room for improvement. how to give the impression of a non-static world that doesn't reset every time you play, when there's potential room for thousands of game realms (as opposed to online-only, persistent, always on, pre-defined realms like any MMO)
of course then comes the problem of security of the webserver, but that's beyond the scope of this rant/post
also just to make it clear, I'm not only looking for ways to improve this idea in particular. I'm also looking for different opinions and alternatives as to how to potentially be able to create persistent online games without spending all the budget in complex MMO network code and renting of game servers
I just think there must be some way to make the multiplayer model evolve from the AAA-only, money-demanding scheme into a more indie-friendly system that takes advantage of existing resources (mainly, the resources a client player can provide)