Some folks in the games forum of
http://forums.somethingawful.com (registration required) where talking about Spore and three of them emailed Will with questions about the game and he actually replied:
Hello,
While discussing your future game on some Internet forum, I had an idea about how to introduce limited multiplayer capabilities to your game. Well, it's not really multiplayer, more like a common sandbox.
The idea is to have the game being able to synchronize with a server, be it a master server hosted by Maxis/EA or a player run one. Latter option would be a plus, to allow private communities.
Since the whole Spore galaxy is very likely also just a procedural product, the server should generate a fix set of parameters, that'll be sent down to the client, should a player create a server-supported game. This implies that every client/game runs the same galaxy. The server also assigns each player a planet or star system he starts out with. Progress in the game session should be synced with the server on regular intervals.
If the player now gets to the interstellar level, the game requests the necessary information when flying around. Means if someone scrolls out, the server sends down the necessary information, not before. For instance on star region level, it sends information down which of the planets/stars in the region are player controlled (and any delta information, should a player have terraformed things), and basic information so the game can i.e. generate the SETI signal chatter like you've shown on the GDC demo. The same should apply when scrolling out to the galactic level, though it'll likely require less information, just enough to hint the player where to zoom in and look for other life. Optionally, there should be a server-side option, if turned on, just clearly marks player controlled planets, on both regional and galactic level, to ease finding people.
Now, if a player zooms into a player system, the server sends down the necessary info to generate the system, just as the other player sees it or formed it. More and more necessary info gets sent the more a player zooms in, like city info on planetary level, creature info when going down to the civ level, and so on.
The game would still run async, the player's client would just start generating planetary activity based on the parameters for visual reasons, it wouldn't affect the player's planet or reflect its real state in any way. A player controlled system would be in sort of a read-only mode to other players except the owner, as such just allowing things like watching it, and abducting species to create a copy of it. Optionally, as a server-side option, people could be allowed to drop their own species on another player's planet. When the owner continues his game, he'll be notified that player so-and-so dropped an alien species on his planet, and the game takes this in consideration.
Also, if a player terraforms a planet and/or drops objects or species of his on it, it'll automatically be marked as player-controlled and will be synchronized between the client and server.
A plus would be a small chat system for all active players.
Those were the ideas I had, to allow players to play on a common ground and watch what everyone else does without needing to actively search and install content. Yet it would likely be easy to implement, since it's all about exchanging and synchronizing information on an as-needed basis, most just difference data based on a master galaxy based on procedural generation.
I'm not sure whether this is feasible to the deadline, or if it requires an expansion to implement all this, or if something like this is already being implemented, but it'd be great if you'd consider any of these ideas.
Sincerely,
-Toiletbrush from Belgium
That's close to what we're planning to do in some ways. But if we do exactly that we lose several huge gameplay advantages.
-the ability to customize each players galaxy to how they like to play (conquest, diplomacy, colonization) -the ability to let each player be the "hero" (destroying everything in their path) -the ability to let time flow be relative to the player (how fast does everything develop)
You will be interacting with player designed worlds (though under NPC control). And your region of space will be downloaded on an as needed basis.
-Will
I emailed Will about bacterial infestations and robots, and he emailed back with this:
I don't think we are going to deal with things like bacterial infections in Spore.
On the other hand I do want robots. The current plan is to unlock robotic creature parts once you reach the UFO stage and then allow the player to create robots in the creature editor which can populate an environment just like creatures.
-Will
Aaron,
How mod-able Spore is will very much depend on the particular content involved. One thing that is crucial however is that every piece of content needs to be representable with a very compact genome. This implies that any enumerated parts (such as creature parts) that resolve into tokens in the genome need to carry a proxy solution if they are to be expandable at a later date.
For specific things you brought up:
Gravity - undetermined at this point, probably not.
Solar system layout - hopefully so (creating a system out of the initial proto-planetary disk)
Shape of Planets - Yes, there will be many geologic tools for this.
Manual creation of creatures - Yes, much more than we have shown so far.
All these functions will be available to the end-user.
-Will