Happy New Year! It’s been a while since I’ve posted. Writing devlog posts just kind of fell behind over the holidays, but work has continued.
Today I’m going to talk about the levels. Possession 1 had just one level generator. It worked pretty well, and made pretty good-looking caves, but there wasn’t much variation.
I’ve added some more randomness to the cave generator, so that sometimes it makes more open cave and sometimes more enclosed ones, but I’ve also added three more level generators. They all will receive some more tweaking as work continues, but here’s what they look like so far:
The “BSP Tree“:
The standard seen in most roguelikes, this generates a bunch of rooms and links them together with corridors.
Pretty self-explanatory. Generates a maze. To make it more interesting, I remove all the dead ends (except two, where I place the entrance and exit), and add some extra passages and rooms.
The “Drunk Walker”:
It needs a little more work to ensure that more of the level is open, but this builds random, more natural-looking tunnels across the level.
There’s more new stuff in levels besides changes in their shape, though. There are going to be special levels (the first of which is almost finished and will be the subject of a later post), as well as modifications that can be made to basic levels, such as adding rivers (of water, lava, blood, slime, etc.) and chasms, or covering the level in (flammable!) grass and trees:
I’ve also written the graphics code for tiles in the levels themselves. There are seperate tiles for walls depending on what other walls they connect to, and various floor tiles to make the level look more varied. You can also see a chasm on the left. Chasms can be crossed by flying creatures, but not by others, and you can knock your enemies into chasms if you have abilities that let you push them around!
Not all levels will look the same in graphics mode, either. Special levels will have special tilesets. For example, here’s the “graveyard” tileset from the first level:
All the environment graphics are pretty ugly, I know…I just made them quickly for testing, the final versions will look better.