Proceed at your own peril!


Well, not much to post, really. These days have been slow regarding development. In projects like these (where random generation is concerned), a layer of difficulty is added because placing objects around the level is tricky, like posted here.

I’ve decided, for simplicity, to just place the beginning and end spots in opposite corners of the level/dungeon.

This is a sample of the results (red square is the player, blue square, is the exit):

Fairly simple, and easy to implement.

Something I forgot to write about was a bit of level optimization. I don’t think that random “dots” of cells are left in the middle of a section, without another cell nearby either on the top, bottom, left or right. Diagonals are excluded on purpose.

Here is an example:

Before optimization

And after

 

A seemingly busy dungeon becomes a bit more open, with a few rooms here and there instead of mostly pathways and a very complicated map structure. I particularly like it, and coding wise, not at all difficult, because all the functionality to implement it is already part of GameMaker. It’s a win-win scenario for me.

Next up, there’s a lot of work to be done because the level “populace” needs to be placed, but this is where the random part takes over and there’s little else the programmer can do.

Randomization has these predicaments, but one can impose some rules to limit the values (throwing some randomization out the window) or just believe in the One True Random and let him take over. I’ll do just that (for now).

Also, fog of war or not? I like a bit of mystery in my dungeons, but knowing AT LEAST the layout of the dungeon is nice (enemies/collectables not appearing, obviously).

Maybe I’ll add this as an option. Customization isn’t always bad. I’ll have think about this further. Either way, it shall be a fun exercise.

Also, I’ll have to decide how big the level shall be and if it will be a single screen experience.

See you soon!

Leave a comment

Log in with your itch.io account to leave a comment.