Have been messing around with terrain generation for MC2. I am developing a world "seeding" mechanism, in which a unique seed will generate the exact same world terrain + biome placement every single time. In this way, not only can players share world seeds that they enjoy, but the game also does not have to internally store it's topography information, allowing for much smaller save file sizes given the potential "infinite" size of MC2 planet maps.
This is just a sample MC2 red planet with some ice patches, a few tiles of which are actually liquid surface water.
Anyway, I still have some work to do on terrain/biome generation, but if I can get it to always create the same thing every time with a given seed, it will cut down massively on the amount of data needed for save games, not to mention the amount of data which needs to be transferred from server to clients, as it would be a lot easier for the server to simply transfer a single seed string VS a bunch of compiled terrain data.
I still need to decide if lower-level terrain features, such as natural resource placements/rocks/trees/etc will also be determined by the seed, or if those would vary by game. I can't really let the client generate those based on the seed, since they will always be changing. For instance, trees can spread or be cut down, resources can be consumed, etc.
I have thought of other technical considerations as well. For example, if MC2 v1.0.0 ships with a Red Planet that has 5 available biomes, and then the v1.1.0 update comes along and adds 4 new biomes, the game seed may end up assigning incorrect biomes to different places. For example, if chunk x:y is designated as a winter tundra biome, but the new update changes the number of biomes, the generator may get confused and change chunk x:y into a canyon or something.
One solution would be to keep a record in the game file of all assigned biome locations, although the downside is the added data being stored in the game file. Another solution is to keep a list of available biomes in the game file that is stored when the game is created, and if new biomes are added, they will not be available on existing maps.
Anyway, these are the technical parts of MC2 I am working on before I even get into adding an interface, buildings, or rovers!