Progress Sharing 3

for version Alpha 10

Finally, I have started and implemented into DoE a procedural geometry!


SO What is procedural geometry?
Until now game was only randomized floor during generation and with small randomization  on certain elements. That was until one week ago. Now, walls are also randomized, their geometry randomized, and generated before each level. Since game is 3D, 3D objects are used for walls, and all those walls are created by game algorithm. For now the geometry is only simply randomized, but I have some few nasty ideas how that will be even more nice feature. As I am aware of, there is no single game that generates 3D geometry of dungeon on the fly.

There were some broken experiments also, while I was implementing a 3DPG (3D procedural geometry, let me be the father of the name ^ _ ^ ). 

Like this one:



Even failed experiments like this, brought a nice touch to walls, and those failed experiments will be introduced as features to the game.

You can head to media section on this site to check results of 3DPG. Algorithm also applies different texture on all walls.

On a first try, even if it worked, a geometry generation took 12-13sec, which was really unacceptable. Waiting between each level just to generate 3D geometry is a sure way for uninstalling the game. After few iteration of optimization, generation of walls is brought down under 1sec. On a first start game needs 6-7 sec to load textures, game data, and generate first level, and after that each level is generated in 2-3 sec. With 3D geometry randomized on each level. That is the way on how devs need to handle level changes. Nowadays, we've used to wait minutes while games load, and that seem to be a standard for AAA games. Well, that is not the way it should be handled.

How everything is generated? 3D generation on whole is around 4000 lines of code, with all helper functions. Algorithm subdivides a simple cube into 2-5 pieces (which can be increased into more pieces, but will generate more complex geometry with more triangles - slowing whole game), then extrude and depress pieces based on simple random formula. After basic 3D form generation, bounding box is calculated, then applied one planar mapping on all vertices which applies texture on a whole wall. On a final process each extruded block get one shadow quad casting on a block under. Then algorithm creates T junctions, cross junctions, corners and all variations of walls, deform them as in process explained above, texture them and apply shadows.

I found some time to finish one missing enemy, a snake. Now most of the enemies on first 5 levels are done.

Also first batch of graphics for skills is done.


Graphical changes

In last few months we have been working hardly to bring HD version to Alpha 10.  As mentioned above geometry of complete level is proceduralky generated, and floor is also randomized. Aside walls and tiles a whole batch of enemies is finished with complete animation. 

Here are few of the enemies that have been finished in last few months:




You can encounter these monsters down to depth 10. Not all monsters are listed here, like for example a fire skeletons that look really neat:

You can check those animated monsters at https://gfycat.com/@darkgnostic




Comments (0)