Planet Seeds: How do they work?

Discussion in 'General Discussion' started by Katzeus, Jul 26, 2013.

Planet Seeds: How do they work?

Discussion in 'General Discussion' started by Katzeus, Jul 26, 2013.

  1. Katzeus

    Katzeus Wiki Administrator Forum Moderator

    [​IMG]

    I’ve noticed a few threads about planet seeds the last few weeks and it seems like there are more questions than answers about how planets are generated in the Starbound universe. I’m going to try to explain as best I can to alleviate some of the confusion. All this information is publically available; I’ll do my best to source everything with source/wiki links.

    "We went into the planet generation with one simple goal: no two planets should be the same." - Tiy

    Planets are procedurally generated. They, like everything else using the procedural generation engine, are assembled using a set of elements to define what the planet will be like. Some of the elements generated when a planet is ‘created’ are difficulty, gravity, biome type, terrain type, sub-biomes, dungeons, villages, weather, temperature and ore type. While these elements seem ‘random’ how they are generated is tied to the planets coordinates in the star chart. The generation engine has the ingredients for each planet and the coordinates are the recipe.

    What this means is that a planet in my game at X, Y is the exact same planet in every players game at those same coordinates. Here’s a quote from an AMA with Tiy in January…

    What this means is that coordinates determine how the planet will be generated in the exact same way every time. If I go to PLANET A for the first time it’s the same PLANET A every traveler will see when they first visit. When I build a house on that planet the game saves those changes, not the entire planet. The changes that each player makes to default planet states is what defines their universe, that way the game doesn’t have to save an entire planet map every time you visit, it only saves what edits you’ve made to the default state.

    Let me put it another way. If anyone has played WoW then they’ll understand that when you go into a fresh instance it’s the same for everyone. If you and your friends kill the first boss, then every time any of you go back that day that boss is still dead, the game is saving the difference with your character. It’s a “fresh instance” for someone who hasn’t been there, but when you go in the game says “This element is different” and adjusts how the instance is built. The Starbound universe tracks those differences and changes each character makes and applies them to each planets “default” state whenever they visit.

    Before people freak about the game being exploited for loot locations, read this quote from the same AMA…

    There are a few things that are still unclear. One is loot, the developers have said that they’re looking at randomizing loot per character so that people can’t just announce where all the treasure is and there’s some sense of uniqueness. Almost certainly things like dungeon locations, sub-biomes and monsters are going to be ‘universal’, meaning they’ll be the same for every instance of that planet in every player’s game.

    Don’t be concerned that this system means players will be limited in their exploration of the universe!!! There are a HUGE number of stars, each with a system of planets and those each having a variety of moons/asteroids that can all be explored. In addition there are ‘Sectors’ of space so Gamma Sector X (10000) Y (10000) is a different planet than Alpha Sector X (10000) Y (10000). The developers can keep adding sectors to expand the universe forever if need be, THERE WILL ALWAYS BE NEW PLANETS TO DISCOVER!

    EDIT: Omni sharded some math in this thread
    Sources:
    LiverFox, Aywren, Aeon and 30 others like this.
  2. idvoid

    idvoid Space Spelunker

    Interesting. thanks for the clarification
  3. Mianso

    Mianso Black Hole Surfer

    Holy shit. A thread worth discussing. I always had a few question about this, I'll post those tomorrow. Good job man.
    Aladiia, Core, Serenity and 1 other person like this.
  4. LordPants

    LordPants Astral Cartographer

    Interesting, thanks for the clarification! :iswydt:
  5. FluffyRabbit

    FluffyRabbit Subatomic Cosmonaut

    Great explanation!
  6. TheLoanArranger

    TheLoanArranger Ketchup Robot

    What happens if I dig up a planet's seed and plant it on another planet?
  7. Tokanya

    Tokanya Orbital Explorer

    I've seen a few wikis and your're pretty neat
    up to date and informative

    plus Twitch and Twitter in the same page is very nice
    Katzeus likes this.
  8. Katzeus

    Katzeus Wiki Administrator Forum Moderator

    Thank you very much! :geek:
  9. RACTA

    RACTA Space Penguin Leader

    Well, this is quite interesting. Had few questions about world generation and this thread removes one or two of them.
  10. DrPhibes

    DrPhibes Scruffy Nerf-Herder

    So, it's a miracle?
    Serenity likes this.
  11. RACTA

    RACTA Space Penguin Leader


    Can't say for sure, but this is a miracle that concretely Chucklefish and it's amazing guys came up with the concept of this game (And that they develop it) and not the EA or Activation on the fashion wave of 2D, sandbox RPG games (If it's even possible).

    It would be a shame if concept of something amazing like this (Or anything else) would be sold to company that is incapable of making the game as it designed by original owners. (EA games and Star Wars Battlefront 3. I just have no hope in this sequel their recent games.)
  12. Ricky Rouse

    Ricky Rouse Zero Gravity Genie

    I was always sort-of confused by this. Thanks for the amount of detail and effort used to clear this up, I can safely say I ACTUALLY get it now.
  13. Serenity

    Serenity Cosmos Killer

    The title reminde me of, "Magnets how do they work" - Insane clown posse
    DrPhibes likes this.
  14. Bacon

    Bacon Cosmos Killer

    There is more info you could put in the thread.

    Like how the Seeds interact with Updates (like Minecraft), that will cause the X coordinates to don't generate the same thing it did in an older version.

    For me the Loot and Special Stuff should not be always generated in some exact way, or unique stuff can be easy exploited and the game spoiled, just with search for coordinates and find all the good stuff in minutes, cheating the game. Thats' why such things can't be that easy.
    yellowmonkeys, LordPants and Katzeus like this.
  15. zothaq

    zothaq Zero Gravity Genie

    Very informative, thank you.
    I think I already have a coordinate picked out.
  16. Katzeus

    Katzeus Wiki Administrator Forum Moderator

    Actual reference, glad someone picked that up!
    DrPhibes and Serenity like this.
  17. RizzRustbolt

    RizzRustbolt Existential Complex

    Hybrids!

    Water Planet seed + Fire planet = Steam Planet!
  18. SpiroExDeus

    SpiroExDeus Zero Gravity Genie

    So.. Planets are seeded by location. I guess the next thing I'm wondering about is how they're laid out in the beginning game.

    I'm envisaging a few, key, storyline planet locations in order to keep some consistency and then randomly spawning other planets in other, random, locations to fill out the new universe.

    So say we have X,Y coordinates from 0,0 to 10000,10000 in Alpha, Beta and Gamma That's 300 million potential planets. So would sharing details of a particular planet be of any use if there's that many potential planets in the game?

    Of course it's possible that each universe is procedurally generated (a seed for producing seeds) and that limitations on where suns can be placed and where planets can be placed in relation to them will drastically reduce the amount of potential planets but even so I reckon they'd still be in the millions.
  19. SpiroExDeus

    SpiroExDeus Zero Gravity Genie

    :facepalm: I'm hoping you're joking here but in case you're not.

    A seed is not an entity in the game, a seed is a number from which procedural generation is grown. Seeds are used in:
    Pseudo Random number generation
    Fractals
    Encryption

    So you have a (relatively) simple equation and a seed number (in this case taken from the planet's coordinates) from which grows your procedurally generated information which is then used to build the planet.
  20. FrangoST

    FrangoST Orbital Explorer

    But say I don't input seeds manually on the game system, I think that the SHOWN explorable planets on each starmap for each person shouldn't (obviously) show all the coordinates, thus it would give a sense of uniqueness about each person's universe as long as you don't input manually the seed... I just can't see it being nice to everyone open their starmaps and it's all the same for everyone when the game is almost entirely procedurally generated...

    So I really wish that the engine will pick random explorable bodys for each player save and then you can input the seeds to access someone else's planet and so on...
    yellowmonkeys likes this.

Share This Page