Procedural generation question

Discussion in 'Backers Lounge (Read-only)' started by theseeker2, February 11, 2013.

  1. theseeker2

    theseeker2 Well-Known Member

    Messages:
    1,613
    Likes Received:
    469
    Let's say I get a GREAT procedurally generated planet... Would there be a way to save it or replicate it on another machine (like minecraft world seeds)? It's not really a huge feature, but it would be convenient.
  2. KNight

    KNight Post Master General

    Messages:
    7,681
    Likes Received:
    3,268
    Neutrino has talked about doing a seed system, but I don't think it was confirmed rock solid yet.

    Mike
  3. theseeker2

    theseeker2 Well-Known Member

    Messages:
    1,613
    Likes Received:
    469
    I think this game is going to be amazing, there are suggestions on these forums about features from minecraft, EVE online, even starcraft... PA is going to be a supergame, with so many good features. I still hope there is a way to save/recreate planets and/or solar systems.
  4. Pawz

    Pawz Active Member

    Messages:
    951
    Likes Received:
    161
    Yes, Neutrino confirmed in the latest livestream that there will be a map editor - what's the point if you can't give your map to someone else?

    You'll be able to make your map and distribute it.
  5. Raevn

    Raevn Moderator Alumni

    Messages:
    4,226
    Likes Received:
    4,324
    The map editor in-game appears to allow procedural generation, not necessarily fine tune "painting" of terrain found in traditional editors. However, it was mentioned that a mesh for a "planet" could be loaded from an external source. This is great news as it not only means you can created custom planets, but it implies there's far less restrictions than normal map editors (why stick to spheres, for example - who wants to fight on a Mobius Strip? :D )
  6. ooshr32

    ooshr32 Active Member

    Messages:
    749
    Likes Received:
    141
    You may be able to load up a Mobius strip map but that doesn't necessarily mean the game will handle it gracefully and play out correctly.
    One can hope how ever...
  7. Raevn

    Raevn Moderator Alumni

    Messages:
    4,226
    Likes Received:
    4,324
    According to the blog post on mavorsrants.com, this shouldn't be a problem:

    "First off we create a base planet mesh. In our case this is a sphere mesh that we create using code. However, this base mesh could really be any shape you want and this mesh could potentially be modeled in a 3d package as there is a way to specify these directly. This gives a nice back door to creating planets outside of my pipeline and getting them into the game for modders. In addition you can have multiple base meshes if you want to."

    And for navigation:

    "The general idea here is that the mesh that's output from the geometry generation process becomes something we call a Nav Mesh. Now think back to the fact that the output of our process is manifold and you can see how we have a very nice closed surface to walk around on and do collision detection with. The nav mesh is a true 3d data structure that allows multiple layers, caves, overhands and whatever other geometry we want to create as long as it's manifold."

    --http://www.mavorsrants.com/2013/02/planetary-annihilation-engine.html
  8. ooshr32

    ooshr32 Active Member

    Messages:
    749
    Likes Received:
    141
    I've read all that too, but as I said, loading a model is only part of the problem.

    I could put a mobius strip in to any number of FPS right now but that doesn't mean I could run about its never-ending surface with impunity
    I'd just be able to jump on top of any of the (relatively) horizontal surfaces then fall off the sides.

    It is the rest of the engine that defines and controls the interactions with that model.

    Units will most likely have max gradients they can tackle, which means we need to define what is "up", and on our regular spheroid worlds that is in relation to the central point.
    The central point of a mobius strip is in free space, so that definition of "up" won't have the desired effect, units will behave much like a player-character in my FPS example, only able to cling to the outer surfaces and never the inner ones.

    Lets combat that by allowing units to tackle any gradient (incl. negative ones) and just "stick" to a surface.

    Now back on boring old ball worlds a unit could drive around the inside of a loop, which might be cool until one stops halfway around up-side-down, and it becomes absurd in most cases.

    So the engine would have to be made flexible enough to support special cases like this, where it can redefine what is "up", and depending on how you do it your mobius strip may may just end up behaving like a torus.
  9. Raevn

    Raevn Moderator Alumni

    Messages:
    4,226
    Likes Received:
    4,324
    The thing about nav meshs is you can add and remove nodes - if you wanted units to always stick to a surface, including upside down, you let them (easily achieved with normals to determine "up"), otherwise for that section of the terrain, you remove the nav nodes and the units can't go there.

    I imagine the tricky part would be aircraft.

    FPS's don't do this by design - they assume the level will be horizontal.
  10. supremevoid

    supremevoid Member

    Messages:
    340
    Likes Received:
    0
    Neutrino said that you can generate Planets,save them and then share them with the community or edit them.
  11. ooshr32

    ooshr32 Active Member

    Messages:
    749
    Likes Received:
    141
    AFAIK the nav mesh is an output of the geometry, and not constructed separately, because it must be re-generated on-the-fly when terrain deforms.

    So my point remains that the engine would have to be written to explicitly support a mobius strip that performs in the desired fashion. It won't just come along for the ride with support the loading of arbitrary meshes as worlds in the same way it would for a cube.
  12. Raevn

    Raevn Moderator Alumni

    Messages:
    4,226
    Likes Received:
    4,324
    Good point, I'd forgotten about that.

Share This Page