Hi all, I've been exploring and tinkering with HPL3's capabilities as far as things getting procedurally generated at runtime, and I think I've just about cracked how it works. So to demonstrate this, what better way than to build a miniature voxel engine?
In the above images, those aren't entities that have been pre-placed in the level editor and rearranged. The only things that exist in the level editor are the plane for the player to stand on (you can see it on the left there) and a technical entity used when creating the voxels. Everything else has been instantiated and added to the map purely from script.
So far, this is just generating the voxels for showing. It has to do it semi-intelligently, only generating the faces that are visible (touch the air) so as to not generate literally hundreds to possibly thousands more entities than is necessary. The voxels themselves can't be interacted with, but the hard part was generating them in the first place, so adding interaction would be as simple as adding relevant callbacks to the generated entities.
Now of course, while making a fully-fledged voxel engine would most definitely be possible within HPL3, but the main purpose of this exercise was to demonstrate that procedural generation is possible. Using this knowledge, it would be then possible to make maps that are procedurally generated, similar to games like Vanish or Dreadhalls.
And wouldn't that be cool?