Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Procedural Generation questions.

filmoretfilmoret Member EpicPosts: 4,906
Just wondering since they are doing PG of planet surfaces that are basically generated on demand by the PC.  Won't that make planet surface different for every user?  I always understood PG as the game engine itself generating worlds and then saving those generated worlds.  But it looks like Star Citizen is taking a different approach and letting the generating come from the PC instead.
Are you onto something or just on something?

Comments

  • GaendricGaendric Member UncommonPosts: 624
    Procedural doesn't mean random.
    It just means you generate based on formulas/calculations.
    If you use the same formulas and the same input values/seeds for every user, you get the same result for everyone.
    Just like 2+2 will give the result 4 on any calculator independently from each other.

    For instance, if you have a planet at a certain position, you can use the position to seed all the randomness for the generation and you will get a unique and different planet compared to planets in other positions, but this specific planet at this specific position will none the less be always exactly the same for every user.

  • waynejr2waynejr2 Member EpicPosts: 7,771
    filmoret said:
    Just wondering since they are doing PG of planet surfaces that are basically generated on demand by the PC.  Won't that make planet surface different for every user?  I always understood PG as the game engine itself generating worlds and then saving those generated worlds.  But it looks like Star Citizen is taking a different approach and letting the generating come from the PC instead.

    You should use google and read about pg.
    http://www.youhaventlived.com/qblog/2010/QBlog190810A.html  

    Epic Music:   https://www.youtube.com/watch?v=vAigCvelkhQ&list=PLo9FRw1AkDuQLEz7Gvvaz3ideB2NpFtT1

    https://archive.org/details/softwarelibrary_msdos?&sort=-downloads&page=1

    Kyleran:  "Now there's the real trick, learning to accept and enjoy a game for what it offers rather than pass on what might be a great playing experience because it lacks a few features you prefer."

    John Henry Newman: "A man would do nothing if he waited until he could do it so well that no one could find fault."

    FreddyNoNose:  "A good game needs no defense; a bad game has no defense." "Easily digested content is just as easily forgotten."

    LacedOpium: "So the question that begs to be asked is, if you are not interested in the game mechanics that define the MMORPG genre, then why are you playing an MMORPG?"




  • Turrican187Turrican187 Member UncommonPosts: 787
    Basically you cannot PG a Planet, you PG terrains of a certain size (with a seed depending on the noise you are using), bend them, and stitch them together. Once this is done you save the "planet" model for further modelling.

    When you have cake, it is not the cake that creates the most magnificent of experiences, but it is the emotions attached to it.
    The cake is a lie.

  • filmoretfilmoret Member EpicPosts: 4,906
    Basically you cannot PG a Planet, you PG terrains of a certain size (with a seed depending on the noise you are using), bend them, and stitch them together. Once this is done you save the "planet" model for further modelling.
    That was my understanding of how PG works.  You spawn random maps from PG.  Which was why it worked for gaming because you didn't have to build 100 maps you could just generate 100 maps with models you put in the pool.  I guess from what others are describing it has a twofold meaning.  Which makes no sense at all because if the map is no longer randomly generated then whats the point in PG.
    Are you onto something or just on something?
  • VrikaVrika Member LegendaryPosts: 7,993
    filmoret said:
     
    Which makes no sense at all because if the map is no longer randomly generated then whats the point in PG.
    The point is that it's faster and cheaper. If you make a large map with 1 million pieces of terrain and objects, and place all of them by hand, it can easily take a year to make.

    With procedural generation the computer can place those 1 million pieces for you in just a couple of minutes.
     
  • MaxBaconMaxBacon Member LegendaryPosts: 7,846
    Vrika said:
    The point is that it's faster and cheaper. If you make a large map with 1 million pieces of terrain and objects, and place all of them by hand, it can easily take a year to make.

    With procedural generation the computer can place those 1 million pieces for you in just a couple of minutes.

    Yup, making a whole land-able zone where you have to get the whole terrain going by hand as a way more costy effect on time and resources than using PG. 

    Like Arccorp, once we saw the first landing on it, the artists had to manually place all those buildings to make it feel like a massive city up to the horizon as you down from space to your landing pad. PG is the perfect filler for things like that.
  • laxielaxie Member RarePosts: 1,123
    filmoret said:
    Which makes no sense at all because if the map is no longer randomly generated then whats the point in PG.
    As others have said, the developer creates formulas.

    Let's say your formula for planet size is :    size = x * 1000
    Your second formula is for landing zone coords:    
    coordinateA = x + 100
    coordinateB = x - 100

    Each planet then, is assigned a unique seed.
    Planet A could have seed (x) 1. It would then, have a size of 1 * 1000 ( = 1000), and landing zone at [101,-99].
    Planet B could have seed 3. That would mean size 3000, landing zone at [103,-97].

    The formulas can then even be stored on the client, along with a list of seeds. You could make a fully single player game, where the planets are generated by each game separately, but always result in the same thing. Minecraft does that to generate worlds for example. If you want it to be different for each player, you don't provide a list of seeds, you only provide the formulas. The client then generates random numbers as seeds.

    In this case, you are only generating the size and landing location (and the formula if very stupid :tongue: ). But imagine if you wrote formulas for unique creatures, quests, faction names, or spaceships.

    There are two big benefits to this:
    1. You do not need to repeat world design tasks. Your world may have 10.000 rocks. You don't need to place them one by one anymore - you can just tell the system "This is roughly how I want the rocks to be placed, go place them." In the case of Star Citizen, you can't design the planet's surface entirely - it's just too big. So you use a formula to design it all for you, then go in to tweak the formula until it looks alright.
    2. You can add content easily. Without Procedural Generation, adding a second planet means doing roughly the same amount of work as when you were making the first. With Procedural Generation, you can pretty much just tell the system to make two planets instead of one. Something like No Man's Sky (or Elite Dangerous) can then claim to have "unlimited content". The game simply keeps adding more as you play.
    The downside is the fact that too much randomness can get boring, because players learn to "predict the formula". When you visit the 1000th planet in No Man's Sky, chances are it's going to be different in a similar way that the 501st planet was different to the 500th. In other words, the Procedural Generation output is different each time, but different in a predictable way (because the formula stays the same). 
  • adamlotus75adamlotus75 Member UncommonPosts: 387
    And all the above works because when you tell a computer to make a random number from a defined starting point (the seed), it will always make the same random numbers (it's pseudorandom).

    so it will randomly exactly recreate the same planet for each client / user.

    this is how Elite works, and was pioneered on the original Elite (48k spectrum holding 8 galaxies)
  • DKLondDKLond Member RarePosts: 2,273
    edited August 2016
    filmoret said:
    Basically you cannot PG a Planet, you PG terrains of a certain size (with a seed depending on the noise you are using), bend them, and stitch them together. Once this is done you save the "planet" model for further modelling.
    That was my understanding of how PG works.  You spawn random maps from PG.  Which was why it worked for gaming because you didn't have to build 100 maps you could just generate 100 maps with models you put in the pool.  I guess from what others are describing it has a twofold meaning.  Which makes no sense at all because if the map is no longer randomly generated then whats the point in PG.
    The point is that it's not random - which means people will be able to play together on the same surfaces. Surfaces that are distinct and interesting - with handcrafted content added as needed.
     
    You don't see the point in not having to actually create entire planetary surfaces by hand?
  • filmoretfilmoret Member EpicPosts: 4,906
    I was saying that the meaning changed somehow.  Back when it first came out it was used to create entire game worlds,  IE Elder scrolls.  Then that creation was saved and the players used it.  Now in a since instead of saying we used PG to produce a universe we are saying the PC is using it.  Its just a technical term that really should have been changed once something is finished.  Either way the world is saved and the players are using something that is already set.  Meaning it is no longer PG because its finished.
    Are you onto something or just on something?
Sign In or Register to comment.