Search Unity

Assets [RELEASED] Procedural Toolkit

Discussion in 'Works In Progress - Archive' started by SymbolSculptors, Apr 14, 2019.

  1. SymbolSculptors

    SymbolSculptors

    Joined:
    Jan 10, 2011
    Posts:
    7
    PTK1.png
    PTK_Marketing.png
    procGen1.png
    Now released! Asset store link below.
    Asset Store link:
    https://assetstore.unity.com/packages/tools/utilities/procedural-generation-toolkit-120168
    Documentation:
    https://static.wixstatic.com/ugd/b606ff_f45dcb76f454485e93617ac144b03d90.pdf
    Website for direct contact:
    https://www.fantasticmazes.com/

    Some notes:
    More videos coming soon, documentation has a basic start guide and some detailed information on the inner workings of how the system creates its random generation process.

    Also please note - this should be backwards compatible with earlier versions of unity, if using 5 still, you will have to move the editor folder to the root of your project. Other than that I don't think I've used anything that is 2017~8 dependant.

    What is Procedural Toolkit?
    Procedural Toolkit is a procedural generation toolkit/randomizer that will aid you in the construction of your next procedurally generated game. The product aims to make customizing modular procedural assets as easy as possible.
    Use your own assets to create beautifully customizable objects that you control through an easy to use workflow.

    Seed your random generation process through an efficient and quick seeded random generator - this ensures that across all devices your randomized objects will always stay the same no matter what.

    Replay your random generation process and restore the objects you create by simply entering in a value, create the same object over and over again, set limits on the objects you create and have full control over how you give life to the randomized scenes.

    The concept is that you define which connectors can spawn which prefabs and then the pooling system takes care of populating the data for use with the randomizer script. Any kind of mesh can be used - and the procedural generator allows for rotation and multiple compound colliders as well. The system was designed so that you don't have to create your objects inside of Unity as it uses naming conventions to populate the data in the code when the pool is created. (Meaning you can create your prefabs inside of maya, or blender or whatever program you want, as long as naming conventions are followed)

    You can use your own colliders to design an outline/template of the permutation you want to create as well. The generator will test against all objects in the scene relatively quickly and find the best possible fit for each permutation.




    test.gif

    test.gif
    compound_colliders.png
     
    Last edited: Apr 22, 2019
    GuitarBro likes this.
  2. SymbolSculptors

    SymbolSculptors

    Joined:
    Jan 10, 2011
    Posts:
    7
    A couple more things that can be done with the toolkit:


    View attachment 404446


    Update:
    Here is a mini demo scene showing some of the features that the project is capable of
    https://flamboyant.itch.io/game?secret=3pZ3EErOEBDBP6pWSo3ajwDFHA

    I've just been testing this on multiple devices (WebGL, mobile, etc) It seems as if the seeded random generator is holding up very well and generating the same permutations on various devices as expected. Hooray. Also performance seems to be decent as well.

    57558600_324972031540208_6762661427594395648_n.png
    Screenshot_2.png

    **Submitted for review! In the next few weeks Ill be making tutorial videos and creating some nice randomized objects with some popular asset store assets to show the capabilities of the project.
    Screenshot_7.png
    unityPD.png
    56935147_317166988972949_4681486710230482944_n.png
     
    Last edited: Apr 15, 2019
  3. SymbolSculptors

    SymbolSculptors

    Joined:
    Jan 10, 2011
    Posts:
    7
    Just wanted to let people know - its live! I may adjust the prices depending on featureset etc. but hooray.

    https://assetstore.unity.com/packages/tools/utilities/procedural-generation-toolkit-120168

    Theres also a 30+ page documentation somewhere that I do need to upload on how to use the thing. If anyone needs examples or has any questions on how it works, or comparisons, please let me know! Happy to answer.

    Documentation: https://static.wixstatic.com/ugd/b606ff_f45dcb76f454485e93617ac144b03d90.pdf

    Please note - there are no dependencies required for Procedural Toolkit, its designed to be as seamless as possible, you can import it into any of your projects and it should work as long as you adhere to the layering system. All thats required is for Collisions hit triggers, in physics to be turned on.

    I have tested on mobile, web and desktop and all platforms seem to do well depending on the number of objects you pool.
     
    Last edited: Apr 19, 2019
  4. SymbolSculptors

    SymbolSculptors

    Joined:
    Jan 10, 2011
    Posts:
    7
    Bit of a fun thing I'm working on at the moment using PTK - with a little modification this kind of behaviour is possible.

    LoopingBuilder.gif
    test3.gif

    some performance related things - I've got the generation process to as low memory usage as I possibly can. (There's still a list needed for checks, but this is as good as I can get I believe)
    Performance.png


    Currently working on:
    Dynamic pooling - finished prototyping
    Saving and loading - finished prototyping (related to the reverse feature. Prototype done)

    Saving and loading is a little bit different from restoring an object from a seed, with saving and loading you can restore objects that are "force" spawned into the world and attached to the randomize. Such as buildings or intractable modular parts as shown above.​
    Animating and more post processing hooks (for post spawning interactions)
     
    Last edited: Apr 21, 2019
  5. friuns3

    friuns3

    Joined:
    Oct 30, 2009
    Posts:
    307
    i have building exterior, can i feed to this script door locations and window locations so this can generate interior automaticly?