Skip to content
Home » Newsletter #19

Newsletter #19

Welcome to newsletter # 19!

It has been a busy few weeks and I have much to report!


Last few weeks:

I completed the work of changing the upper floor mini map meshes to dynamic meshes so I could cut pieces out for the corner buildings. Everything is working great as you can see example below with the buildings in the corners appearing on mini map

One of the major goals I accomplished the last few weeks was creating a custom module for Unreal called MetaGrid which is a grid for both floors in each room that holds all the meta data. Meta Data is just information about the environment such as attachment points for cameras, patrol points for guards, and attachment points for lights. This data will allow me to populate each room with different challenges depending on the needs of the level generator

The MetaGrid module also needed functions to rotate a MetaGrid and overwrite one MetaGrid with another so I wrote those functions as well. This let me define MetaGrid data for the upper floors and buildings then overwrite the empty room with the new data. It also allows me to “See” what is in the level already so I can place things like doors, bridges, stairs, and inner buildings in the appropriate places. It took quite a bit of figuring and coding to get it all working but it has really paid off and I’m super excited to see the levels and challenges that get generated. Even with just the empty rooms I can see all the fun possibilities! Below are some samples of the MetaData I defined for buildings and upper floors

One thing that made this take a little longer then expected was creating custom controllers to edit the MetaGrid data. There was sparse documentation on creating custom tools and few tutorials so I had to cobble together a working editor from a number of different sources. If I have time I’ll probably make a tutorial on that later to help fill that void a bit.

The TLDR of my two major issues are you can see custom tool points in blueprint view but the controls to (translate/rotate/scale) don’t show up unless you drag the blueprint into a level, and if you have a const input parms from the functions DrawVisualization() or GetWidgetLocation() you need to make a pointer for anything you want to edit and just point it to your hard reference

Eg) FMetaGrid MetaGrid; // Don’t try to write to this directly (const error)

FMetaGrid* MetaGridPtr; // Add this to .h and just have it point to the MetaGrid above

MetaGridPtr = &MetaGrid; // by putting this in your component init function

The last thing I worked on was getting corner buildings randomly added to each room and generating different roofs depending on if it was 1 story or 2 stories. This is working really well, and all that is left is the middle floor on a 2 story building then the next step is making buildings in the center of the room

Push to store page release continues:

With MetaGrid finished and the corners done I’ll be moving on to procedurally add all the other elements of each room such as the stairs, bridges, doors, furniture, traps, sensors, guards and so much more! So stay tuned for the next update to see full levels being generated in all their digital glory!

That is all for this update!

Tony D
Cronoforge Studios Inc