Since the last development diary I have made quite a bit of progress. This includes adding field of vision, procedurally generated maps, hit effects and more.
To allow the player to know when they have hit a creature, or to know when they have been hit, I added a hit effect. The tile turns red then quickly fades. See the animated gif below.
When a monster is killed a corpse is left in its place. Corpses are represented by a red character ‘%’.
Maps are now procedurally generated. I implemented a procedural map generator using K-D Trees which are a special case of Binary Space Partitioning.
The map generator currently creates rooms and corridors. Doors, stairs, etc. will be added to the generator within the next few weeks.
Below are screenshots of maps created with the generator with increasing complexity:
The game supports Field of Vision for the player to make walls, creatures, and items visible if it is in there line of sight. This feature has been implemented using ray casting.
Ray casting is a method for calculating Field of Vision where rays are traced from the centre of a source square to a select number of destination squares.
Along with the FOV, I have added map ghosting to provide a faint outline previously seen walls to show where you have been.
Below are screenshots of both the FOV and Map Ghosting:
I have started working on the sound. At the moment only the creatures make a sound and that is when they die. There are 4 death sound effects and are chosen at random when a creature dies.
Next on the list it to look at items as well as weapons. As well as melee weapons, I want to have ranged and explosives, though most combat will use melee weapons. I will also be thinking about and working on music for the game.
That’s it for now. Check back soon for Developement Diary #3.