GameDev 2019 Week 9: Upgrades
Tower Upgrades04.03.2019 - 12:28
I finished the blogpost for the last week by lunch and felt very motivated so I started right away with the next week. When I changed the building system from just towers to use a more general building system to improve how traps are implemented I never fully finished the traps, so I worked on that and traps can now apply on hit effects like towers, e.g. the flame traps now applies burning. I also changed traps to be only able to hit ground mobs, because having a flying mob triggering a trap on the ground doesn't make a whole lot of sense. Another system that was partially broken by the building system change were auras, so I fixed the application of auras too and while I was at it also worked on deleting auras, which was not working before. Now, whenever a tower that spreads an aura is deleted the aura gets properly removed from all of the towers that were affected by it and I also noticed a game crashing bug that could occur rarely when deleting a tower. In the evening I created icons for all aura types and then used the new icons and the on hit effect icons to update the building button hovers to display all effects the tower has.
One area of the game that was still particularly lacking was the diversity of projectiles. So far there was just one projectile and one method of it moving. To rectify that situation I made an arrow model in Blender and created a new class in my engine to support 3D projectiles. Then I added the arrow projectile to the game and made sure the are always rotated in the direction they are flying. To finish the day I added a - yet incomplete - wave browser and pause menu into the game. The wave browser will display details for every wave like whether the mobs are flying or not, how fast they are or how much gold the reward.
I started today by creating icons for flying and boss waves to be used later in the wave browser. Then I started with this weeks blogpost title - tower upgrades. It turned out to be a bit more complicated that I initially thought. I thought all I had to do was to update the stats of the tower with the stats of the upgraded blueprint, but I missed the fact that I would also want to be able to change the auras or on hit effects of the tower when upgrading it, so it took a bit more time until upgrading all these features worked. A Tower can now have up to 3 different upgrades, which also can be specified in the blueprint files for easy changes and expansion. Then at about 0am I felt like creating a vine trap model.
Yesterday I only implemented the game logic side of tower upgrades, so today I had to work on the visual side. If the upgraded tower uses a different model it will now be changed when the tower is upgraded and if the tower is selected when upgraded the outline will also update to the new model. If the tower detail window is open during the upgrade it will be updated too. Then I added the vine trap into the game, it will stun the mob that steps on it. In the evening I improved the wave browser, it will now show more information and also use the flying and boss wave icons when appropriate.
Continuing with the projectile diversity improvement I added the projectile type, route and speed to the tower blueprint files, so it is now possible to specify the projectile details for every tower. The projectiles will move depending on their route and are rendered according to their type, either as 3D models or as 2D billboards. Then I added a binary saving loading function to my particle system, which has also the option to include the texture data in the file. This improves the loading time and if the texture is included also removes any file system path issues.
Didn't get anything done today. Wednesday night the internet went down, and unfortunately it's fairly common that the internet goes down for a few hours, so I didn't deal with it on Thursday, but it didn't come back, so I had to call the hotline, and according to them it's most likely a hardware defect and they want to send out a technician, who of course won't come on the weekend, so there's no internet for the whole weekend, which is obviously very annoying... I'm not really sure about the hardware defect thought, the router shows the same error messages in its log as it does when the internet is down and comes back after a few hours, and unlike a real hardware defect 1 or 2 years ago, the local network works fine and I can still access the router, I guess we'll see about that on monday. ( Edit on monday: The internet works again, the router was indeed fine, but the amplifier was broken. )
In the morning I made an animated slime model and added it into the game. It's a lot simpler than the squirrel or the bird, but I like how it turned out, it looks really cute and derpy when it hops around:
by Christian - 04.03.2019 - 12:28