Training Stream - Procedural Room Generation - Jan. 6th, 2015

Heya n00854180t,

To the scale: I think I may have hard coded some math in the digger that assumes 100 unit tiles; look for anything that * or / against 100, or a Tile Size like variable that may not be getting its value set from outside (set those to 500 by default). Also the controller has some serious assumptions in it. I’ll have a moment to look at everything mentioned in thread post GDC2015, and then update the download =)

To the 2nd bit, to really get it functioning as an Actor in the Level Editor, you’ll need to combine at least 5 Actors: Quadtree, GridData, AABB, the wall collision, and the floor collision; and work all of their functionality into a Construction script. The problem is that construction scripts don’t allow for spawning of Actors. So you’d have to do things like store a number of box components that represent the AABB Actors, then include any functions needed from those Blueprints, and re-work calls, etc… The fact things are disappearing after you use your Bluetility and use Play seems like a bug, because all of that data should stick into Play (longer version: the construction script isn’t run again during Play in Editor/Simulate, the Actors are simply copied to the Play in Editor/Simulate world, so the state from the level editor should persist into play).

It’s totally doable. In fact, with the new scriptable components in 4.7, I think would be even easier to do. It could become a series of functions that could be called from either the game to generate a new map or from the construction script… I’ll have to look into that.

Actually, I need to just sit down and update it to the latest and greatest in everything. As it stands now, it’s setup in a number of ways due to the evolution of the Engine while I was working on it. There are old workarounds for things like Blueprint corruption, link breaking, lack of direct Blueprint Communications, Instanced Static Mesh components that drop collision, etc… that are totally unnecessary now.