Part 10 of the GameDev.net Tower Defense Challenge:
With only a few hours left before July 7th is over by UTC -12 time, I've completed what I could for this challenge.
You can download and try out the game by visiting my project page:
I've had to trim down a lot of what I wanted, but I was still able to meet the bare minimum requirements. I have 20 waves, with the final wave being a boss one. Each wave will have one or more of a type of elemental creature. Also, every wave will increase with health making it important to maze properly and use the proper towers.
Things I wanted to do but didn't have enough time:
2. More sounds, and a better music track
3. Better wave setup
4. Difficulty options
5. Cleaner movement for the rock creatures in open areas (They will move only 4 ways, so if there is an open spot they will move in the shortest path, but like an L, not diagonal as movement is based on 4 way grid pathfinding.)
6. More upgrade options such as faster speed, range, and effects. (I had these features coded in at tower level, but I don't have the time to program the creatures to respond to them right now.)
7. Tower multi-shot - Right now all towers are on a timer for when they can re-shoot, this prevents the mini-gun effect, but I only put in 1 shot slot per tower. This means even after the timer to shot again is past, the bullet has to be destroyed before the tower can shoot again. I didn't have time to optimize my collision checks so this was my starting point, but if I had time I would put in a 5+ shot capacity or something per tower. With over 500 tower spots (range zones) and up to 60 creatures on the map, and 500 shots, that is already 30000 possible checks for creatures in zones, and another 30000 for shots (if every possible tower slot was built, and shooting). I already know how to optimize it pretty easily, I just don't have the time right now.
Some of the big issues I had was just work and life getting in the way. I ended up leaving this project to the very end which makes it hard because any little bug or hiccup can delay you hours or days depending on the scope. One issue I had was my IDE was throwing major errors and crashing a lot, then SFML was stuttering heavily with camera view usage but I've fixed that as per my other blog post about it. Sadly I didn't have enough time to properly balance the game, and this was a big part I missed, but it was either finish the challenge or not finish it while playing around with balancing.
Another little issue I had is sometimes the rock creatures would jitter a bit when moving if the camera was putting them at the center of my pc screen by panning. It was happening in the centre line of my screen and I think I fixed with with VSYNC. I'm using a fixed time step with variable rendering and all movement and panning is smooth due to linear interpolation, but who knows, on other games I get this issue at times on the mid point.
My biggest time drain was that I programmed the game from the ground up without any engine, only using a library (SFML), and coding away. I could've completed this faster otherwise but I really enjoy creating things from nothing.
Keep in mind the balancing might be horrid considering I spent all of my time on programming.
Thanks for reading! This concludes my 10 part blog for this challenge.