I'm working on a game that is primarily going to be a single-player space trading and exploration sim. I want to eventually add multiplayer features, and, seeing how complicated it looks, I'm wondering if I can just add it later, or if I need to implement it from the start of the project.
My basic concept is that each player has their own randomly generated galaxy with about 8-10 explorable star systems, their own space station to manage and upgrade, their own fleet of ships to pilot or captain, and a dynamic and persistent supply/demand economy.
As for the multiplayer part, I want each player to have an option to enable/disable online mode. While online mode is enabled, I want the game to constantly be searching for other "galaxies". If a another galaxy is found, the player can travel there to meet another player or raid his convoys. Also, as long as online mode is enabled, the player's own galaxy will be open to unannounced visits from other players who may or may not be friendly. When visiting another galaxy, the player may exchange friend codes, which will save their galaxy to a favorites list and allow future visits and communication. If possible, I would like to include an option to connect an email address to the game, so messages can be sent and received the next time the player visits their space station while online. I also want LAN capabilities, so players on a local network can play together without an internet connection.
Develop games in your browser. Powerful, performant & highly capable.
The setup you desire for the multiplayer part requires an online database which stores:
-A Players' Galaxy coordinates with system coordinates (unique references)
-Player game state (gets updated when someone attacked, and is loaded when the player returns)
This to support the online mode when the player is offline; so other online players can find it.
Also, depending on the type of game play you want, if you want real time interaction with other players, you will require the scirra multiplayer plugin (or others) which generally pertain a vastly different approach to game mechanics then regular single player mode.
Make a couple smaller multiplayer games mechanics to get a grasp of the differences it will entail.
As for database, I would recommend PHP/MySql by means of Ajax.