[Procedural Level Designer] EucLib Alpha - Powered by Moxels

The goal of the tool is to enable users of unreal engine 4 to develop levels with ease. Be it with full procedural generation based on types and rules, or semi procedural where users generate something and then modify it, or just build naturally with tools to help users manage modular meshes.

EucLib is named EucLib because Euclid of Alexandria inspired me to develop a modular architectural system where users could generate all sorts of geometrical patterns. Right now for ease of development the generator is limited to a single maze type. I have many many different types of generators though, there are home generators, castle generators, city generators, maze generators, cave generators, dungeon generators, cellular automaton and more!

Right now the tool works as such, you build a set of tiles which are blueprints with static meshes. Each blueprint tile represents an area of the set, so for example i have a set of 7 base tiles, a full cube tile, floor tile, wall cap tile, wall corner tile, wall tile, wall T tile, and wall + tile.

My tiles for example are 400cm x 400cm x 400cm. Which is 13.1ft x 13.1ft x 13.1ft. A size of 300cm-400cm is great for 3D with use of Unreal provided assets as it will be in scale.
You should probably use their scale anyways as it makes most sense and physics will work well. For 2D i would figure out my player size and make a static mesh plane tile that size or larger depending on how you want the game to play. I prefer square tile sets, but you are more than welcome to use non square assets like an isometric-esq game with 64x32 tiles as an example, or just weird sized tiles if you wanted.

The tiles and sizing offset is set up inside of a MoxelSet.UASSET which has a name, both x and y offset, and an array of blueprint tile actors.
(no z offset for now as the tool is limited to a bi plane for ease of development, z plane will come in the future), (The order in which you add you tiles to the array of bp tiles should be in the exact order i specify as the auto tiling feature will now work other wise. I have ideas how to make your own tile orders but that won’t come for some time. It’s really not that big of a deal though.

The last thing you will need is a MoxelActorFactory with your MoxelSet referenced in the details of the bp. once inside your level, you can select the MoxelActoryFactory from with in the plugin window, select your generator type, modify rules and variables and either build normally with no auto tiling or with, your choice.

The most amazing thing about this plugin is not only does it make and help make levels for you and such but you can run something called Moxilization (disabled for now, soon to be enabled) which will convert all static meshes inside tile blueprints to an instanced static mesh instance across the entire level, so that there is only one mesh ever of one type everything is just an instance. which not only boosts performance, but you can even tell the MoxelActorFactory to premoxilize the entire factory before hand so that before it even spawns anything it will generate only instances, not blueprints.



EucLib_Demo Project - UE Version 4.8.3 - 10 mb
EucLib Alpha 0.0.1 - UE Version 4.8.3 - 7mb

Trello Board
EucLib’s Trello Board

Change List

  1. Error with distributed plugin name; Changed from Euclib to EucLib.
  2. Added a zip of the Demo Project with Plugin, meshes and materials.

Hey SaxonRah -

Would it be possible to get a Tile based city generator with various generation options that we manually override?

Just curious,

I need demo level and tile set.

Yes, It’s already programmed. :smiley:

Ah yeah that is right i forgot the project download thank you for reminding me.

This look awesome! Just one question about this: how the LODs and culling work when you create an unique instanced mesh for an entire city for example?

It should work as normal. This all happens within the editor, so there shouldn’t be any problem with lod or culling, as long as the meshes are built with em. Of course you could also run this kind of thing at runtime but i wouldn’t.

If I enter an odd number for columns and rows, I can create mazes. If I enter an even number for columns and rows, UE4 stops responding and I have to call up Task Manager to end the task. I found walls with doors and windows. How can I use them?

Very odd! Can you reproduce and send me a crash log please :slight_smile: ? <3

You can’t use them yet, well you can, if you change the wall to either one but that’s not what you want i don’t think. there is allot of disabled code atm like window door rules, so i can get a feel if it works on other systems. like the even number bug! Thank you for testing. i appreciate it.

I tried some even numbers but UE4 stops responding. Odd numbers don’t cause UE4 to stop responding. Where’s the crash log?

It’s weird because i get a crash log. Although it says no mini dump found. Odd.