I was able to spend about 7 hours coding last night, which was very productive. I implemented the following updates:
- Weapons and projectile code is now generalized so that it can be used by both the player and the enemies.
- Level generation code is pretty much finalized. There are now over 360 basic room layout schemes and each of these has quite a few random elements, so the rooms should be varied enough that you can play the game many times without ever seeing the same room.
- Added a grenade ability. Grenades can be thrown and they bounce off walls using basic physics for motion and friction. They explode after 2 seconds of game time has passed, dealing devastating damage to enemies in the blast radius.
- Added a knife ability. This allows the player to attack enemies in adjacent tiles. It makes up for its short range with a relatively fast cooldown time.
- Added a submachine gun ability. The SMG first 4 bullets in rapid succession, but with poor accuracy. It is less useful at long ranges – the pistol is better in those situations, whereas the SMG is better for close quarters combat.
It took far too long to get these all working. I’m now left with not much time remaining for completing this project, and in order to make the game that I had originally envisioned, I still need to finish the following tasks:
- Create a greater variety of enemies with different abilities, speeds, and timing characteristics for their AI state machines.
- Make a difficulty progression for level generation using various enemy types.
- Create better hallway logic for more interesting level layout, and place the player in an interesting starting spot.
- More abilities!
Sadly, there are also about 35 features remaining on my development wishlist that I will probably not have time to implement in the game. I ranked all of my development tasks in order of importance, and if I really want to get this project finished, I will probably have to drop anything that isn’t absolutely necessary.
As a result of the time crunch, I don’t anticipate having much time left for gameplay balancing and bug hunting/fixing. I guess this is the price I pay for trying to cram so many ideas into my very first game, especially when trying to do it in 7 days!
It will be a mad dash to the finish line, and I don’t expect to get much sleep tonight, if any.