[RELEASED] Procedural Generation Grid

Automate and Speed up your level design process by many times!
Generate countless customized levels procedurally with single click!
Define generation logics without coding to paint modular walls, fences or props!
You can assign any objects to grid presets and spawn them with proceural logics.

Procedural Generation Grid gives you tones of possibilities to automate level creation.
You can easily create presets for any modular setup and give yourself more time to create very polished game levels, or generate whole levels procedurally up to your needs.

System is working fast and you can prepare your logics preset with realtime preview.
You can choose to automatically generate light probes, reflection probes or trigger collision for generated area.

System gives a lot of freedom and you can use it to create things like modular walls, connected fences, house interiors, whole buildings, pavements, roads etc.

It’s working on grid with scale defined by you, so you can fit it to your floor/ceiling/walls objects scale, define logics which will automatically create stairs etc.

This plugin can be really great for games with interior environments which needs many randomly placed props.

In addition package comes with random spawn plugins to easily setup spawning small props like books, cups, piles of boxes, bottles on tables/cupboards, spawned with collision detection and fitting to colliders surface. Another additional thing is procedural pipes generator plugin to setup random segmented modules from start point to target end point.

After beta this plugins will be available as separated packages to buy but still will be included in this package.

If you have some coding skills you can easily create your rule nodes and use it with Procedural Generation Grid. Package comes with a lot of rule nodes with source code and in update versions there will be even more of them to make creating spawn logics quicker!

Beta Version will follow user requests which can be suggested on the Discord Server.
Plans are to make plugin be able to generate buildings with many floor levels (already is but in a limited way in conditions of ease for use like that) high level of control for developers, more examples and probably another logics-node system for designing multiple areas to generate like villages, biom areas, more complicated buildings etc.
There also is need for additional plugins like Object Stamper and Pipe Generator included with PGG to be polished before beta ends.
After Beta price will jump up.

Asset Store Page Here

Release Video:

Quick Overview:

Tutorials Playlist:

5 Likes

This looks great! I had to buy it. It’s going to be massively helpful for my projects.

This looks very useful, but I have a question. Is it possible to make it work with walls that are not at a 90° angle?

Is it possible to create a procedural dungeon instance which consist of procedurally generated rooms. But among those rooms I want at least:

  • 1 Room to have Key object inside it
  • 1 Room to have Boss object inside it (that requires Key to enter)
  • X amount of Rooms to have Treasure chests

Is such thing doable with this asset? Is the procedural generation can be executed during the runtime?
Thanks!

It’s grid, so if you want to create uneven shapes then it’s limited, you can do some workarounds for some effects but totally uneven structures can’t be generated, but If you want for example to curve diagonal corner walls then it’s not so difficult here.

There is included exact example in demos :wink: Check release video at 0:45 for quick preview of that.
(Defining if for example boss room should be far from finish door etc. is working, but needs some polishing in beta)
Dungeon example is also generating next level continuously, when you reach end area, new seed dungeon generates in playmode.

2 Likes

So if it, for example, takes 3 tiles for an angled wall to transition from one tile edge to the next, would it be possible for the logic to create this transition if I have 3 objects pre-angled and just needed to be placed in sequence?

Something like that, you might need to create spawning logics to check for example if tile on the right and below are walls, remove them and place here your bigger wall model.
There is included example of placing walls on grid, then replace two wall models with prepared one diagonal wall, you can see it on this screen https://assetstorev1-prd-cdn.unity3d.com/package-screenshot/54b6ec3c-1dbf-4c7e-9f3e-ea742b0a48af.webp
Modules just need to meet logical rules to create it.
Some unique cases might be hard to implement (using pgg rules - no coding) but not impossible.

@FimpossibleCreations As long as it’s possible to do it I’m happy. Thanks.

Regarding this, I’m always checking out other assets like this and the recurring issue I have with them is that they tend to create this samey blocky layout. If you could make a simple way to bend corridors along a smooth spline, without having to do custom parts, then this asset would be perfect I think.

Nice idea, I think in future I will experiment with this since it’s painful to do curved walls even in modelling software :eyes:
Remember that this system works best when modules have same width/depth size, but you can override it similar way we discussed, so place 1x1 size objects then replace them with bigger one (2x/4x size) if conditions are met.

1 Like

@FimpossibleCreations Very nice, thanks. I will fiddle around with this and see what neat things I can do.

I’ve been playing around abit with the Mini City Generator, now to make it less lonely, how would I fill those gaps/empty spaces with another set of FieldSetup (that has trees, rocks, foliages).

What approach should I look at?

I will be working on feature for next update, something like “Outline with” so you can make areas around filled with something and also fill like rest of the rectangle area around with another FieldSetup, maybe rocks or so
Example how it might look from our discord user :wink:
https://imgur.com/NrN3KPF

4 Likes

Just updated to beta version 1.0.2:

  • New Generators Feature: Now generated rooms/areas can be outlined with any field setup using “Outline Fill” option in the “Additional Options” tab

  • New Generators Feature: Now generated area can be covered with any field setup using “Fill Rectangle” option in the “Additional Options” tab
    Above features are NOT available for the BuildingPlanGenerator

  • New Node: “Transforming/Noise/” - Perlin Noise Offset and - Rotation/Scale Perlin Noise Offset

  • New Node: “Modelling/” - Set Random Mesh Material

  • Some node moved to the different bookmark (node: IfRotated moved to /Placement)

  • Some nodes moved to Transforming/Legacy bookmark (nodes: WorldOffset, DirectOffset, Rotate, Scale)
    Their features can be replaced by single node “Move-Rotate-Scale” or “Get Position-Rotation-Scale”

  • Changed default core asset rules for ClearWall modificator

  • Some nodes will take a bit less space in the inpsector window

Fixes:

  • Fixed BuildingPlanGenerator corridor doorway command to choose right command from the field setup
  • Fixed some issue with generating doorways with BuildingPlanGenerator
3 Likes

It does seem to work, but do you have any idea why it’s still leaving some gaps in the middle? :stuck_out_tongue: All of the grid in my FS has cell size of 1

Ouh my bad, you can fix it simply by moving code line “GeneratorsCheckers.Add…” to inside “if (setted)” braces
(MiniCityGenerator.cs)
7374137--899228--upload_2021-7-30_11-22-1.png

2 Likes

This looks great, very excited to try this- do you know whether it will play nicely with map magic 2? Thinking it would be great to have procedural terrains with villages or castles placed at runtime by MM2 and then generated by this tool?

It should be possible to make this two packages work together already, in future I will provide examples for use with other packages like Map Magic, but for now there are many other important features to complete :wink:

3 Likes

Hey Guys,

I got 3 errors using Unity 2021.1.15f1.

Assets\FImpossible Creations\Plugins - Level Design\Object Stamper\ObjectStampEmitter.cs(416,125): error CS1010: Newline in constant

Assets\FImpossible Creations\Plugins - Level Design\Object Stamper\ObjectStampEmitter.cs(416,186): error CS1003: Syntax error, ‘,’ expected

Assets\FImpossible Creations\Plugins - Level Design\Object Stamper\ObjectStampEmitter.cs(417,52): error CS1026: ) expected

I found problem from this code in flie “ObjectStampEmitter.cs”, is this perhaps caused by special characters?

EditorGUILayout.LabelField(Get.PrefabsSet.RotationRanges.x + "� to " + Get.PrefabsSet.RotationRanges.y + "�", EditorStyles.centeredGreyMiniLabel, GUILayout.Width(80));

Oh noo it still occurs :frowning: Unity C# file is just not handling degrees sign “°” on some machines and replacing it with � and gives errors, I think I will replace it with “o”. You can do the same and it will be fixed

Thanks for the reply!
I changed the characters and it works fine.

I have another problem, the game scene I use PGG to generate is rather large, it generates a lot of floor and wall prefabs, which has a big impact on performance.

Does PGG provide a tool to merge meshes?
Or can I just get the edge information of the floor grid and generate a polygon dynamically?