Procedural props for mappers

AndosAndos Join Date: 2003-10-17 Member: 21742Members
edited September 2009 in Ideas and Suggestions
<div class="IPBDescription">Make trivial stuff easier</div>When I want to add some detail (read:models) to my map like railings, I have to stitch together my corridors to fit the "grid-size" of the model so I can snap together multiple parts. For example railing start, middle,middle,middle,end sections. This doesn't work for corridors with slopes unless I rotate the model or modify it in some way. This isn't very flexible if I change the slope or really need stuff to be a specific size without it looking awkward.
I propose a procedural object system generated with Lua scripting in the editor ("baked" into static VBO's at load-time for performance).

With dynamic props I could insert a railing and stretch it to any length and it automatically inserts evenly spaced support beams and so on. If it skew the object then the start and end could stay horizontal and then bend into the desired slope after a given length. Each dynamic prop then has a list over parameters that can be changed (as well as some world-space editing controls like points and blocks).
For example the railings could have two world-points the railing will span between and then a set of properties that modify the apperance and shape of the object. Like in this mockup:
<img src="http://www.andersriggelsen.dk/uploads/procedural_railing.png" border="0" class="linked-image" />

The Spore creature editor and model editor does this to some extend with the arrows and rotation tools you can use to modify the "prefab" properties.

This could be used for anything that is often used but should still vary enough so it doesn't look like you use the same model over and over again:
corridors, vents, pipes, train tracks, spiral stairs, domes of varying subdivisions, lab equipment of different sizes, pressure tanks, anything that can be procedurally generated at edit/load time.

You could hook this up with the 'Sign system' you proposed a very long time ago where you could modify the text on signs in the map-editor instead of making custom textures for every sign.
That way a sign would just be a procedurally generated prop with a text "control" on it. As you resize the sign it will wrap words correctly and all that. Flexibility ftw! :)

What do you think?

*edit* Cleared up some sentences.. (I was tired at the time of writing)

Comments

  • AlignAlign Remain Calm Join Date: 2002-11-02 Member: 5216Forum Moderators, Constellation
    Textures would be problematic.
  • homicidehomicide Join Date: 2003-11-10 Member: 22451Members
    Textures would be just as easy as generating the mesh. Sounds like a great idea well worth the time.
  • AndosAndos Join Date: 2003-10-17 Member: 21742Members
    Yes the textures will be just as easy. Since the script also generates UV coordinates it can even vary some things intentionally.
    Only thing is that each procedural script needs to document how the texture layout should be for it to look correctly.

    Btw, especially train tracks would benefit from this system. With a slider you could change the curvature of a section to make smooth turns, something you would only be able to if you made a custom model.
    Track junctions could also easily be made.
  • SewlekSewlek The programmer previously known as Schimmel Join Date: 2003-05-13 Member: 16247Members, NS2 Developer, NS2 Playtester, Squad Five Gold, Subnautica Developer
    some useful link to this topic: <a href="http://www.procedural.com/" target="_blank">http://www.procedural.com/</a>

    its about a city-engine thats generating a complete city in a procedural way, but you still hve full control about the whole result if you wish so. Its a really nice tool, at least looks so :)
  • edkrstedkrst Join Date: 2009-09-11 Member: 68748Members
  • MrRadicalEdMrRadicalEd Turrent Master Join Date: 2004-08-13 Member: 30601Members
    Please, Charlie, please please please.
  • KungFuDiscoMonkeyKungFuDiscoMonkey Creator of ns_altair 日本福岡県 Join Date: 2003-03-15 Member: 14555Members, NS1 Playtester, Reinforced - Onos
    While it would be nice to have these, I would prefer having the tools and game as it is, than let something like this hold things up.
  • homicidehomicide Join Date: 2003-11-10 Member: 22451Members
    Depending how many maps they plan on releasing such a feature could pay for itself. Once the framework was implemented it could easily be implemented for railings, control panels, lighting, floor panels, etc. Hell, every prop could benefit from procedural creation.
  • AndosAndos Join Date: 2003-10-17 Member: 21742Members
    I wouldn't mind whipping up some code to demonstrate how it could work :-)
  • NeoSniperNeoSniper Join Date: 2005-06-02 Member: 52976Members
    edited September 2009
    Sounds like a great idea for a future patch. Wouldn't hold back the game for that.

    EDIT:
    <!--quoteo(post=1726893:date=Sep 11 2009, 01:25 AM:name=Schimmel)--><div class='quotetop'>QUOTE (Schimmel @ Sep 11 2009, 01:25 AM) <a href="index.php?act=findpost&pid=1726893"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->some useful link to this topic: <a href="http://www.procedural.com/" target="_blank">http://www.procedural.com/</a><!--QuoteEnd--></div><!--QuoteEEnd-->
    the video that showed up on the front page was pretty awesome.
Sign In or Register to comment.