This week I have added some finishing touches to my project ready for submission and have fixed some minor bugs which came up.
Finishing Touches
I have added some fire blueprints to the world. These consist of a fire particle system and a collider which will trigger a burning effect on anything that overlaps it – player or zombie. I have added these into the level to give more light at nighttime and create more of an atmosphere.
Final Bugs and Fixes
The bug where a captured building reinfests still exists in the game.
Zombies sometimes rapidly glitch when coming into contact with each other or some environment parts. I have not been able to find a fix for this so far. I suspect it is related to the AI Sense Perception as it seems to happen most often when it is updated.
There are some zombie spawn points which are badly placed in the building blueprint. This leads to zombies sometimes spawning inside walls and being unkillable, making the building unable to be captured.
Review, Regrets and What Went Well
Overall I am pleased with my own learning progress on this project and am proud of what I have managed to create in the given time.
As someone who had no experience with Unreal Engine or the blueprint system at the start of the year I feel I have grown in confidence greatly to the point where I can now implement basic systems very quickly and also have the knowledge to expand on them to meet project requirements.
One of my main regrets with this project is not getting the destructible door/window system working in the final version. This was working in earlier versions but because the AI had to be redone several times during the course of the project I ended up running out of time before getting this to work with the final AI. This was quite an important part of my initial plan for the game so I feel that it is a bit empty without it.
I am most proud of the character inventory and weapons system which consists of many features including consumable items which restore various stats, equippable and fully functioning guns which have specific ammo items and a handful of usable melee weapons. I would love to build further on this system by adding weapon durability, quality levels, modifications and options for further customisation including a camo system like that found in Call of Duty. I would also like to weave the weapon system in with a more advanced version of the crafting system so the player must progress through various unlocks in crafting in order to make weapon parts and more advanced weapons.
Although I think I could have done a lot better on this project I am happy with my achievements as a whole. If I had my time again I would do a few things differently:
- I spent a lot of time getting a workable environment. This is because some of my key mechanics were heavily based on the environment being done in a specific way. The destructible door/window system required buildings which were made in a modular way with fully explorable interiors. They also needed to have window gaps large enough for enemies to climb through. However, I could have made a much smaller slice of the environment to test this which would have freed up more of my time to get some of the main mechanics implemented instead. In future I will only spend enough time on the environment to create something which enables testing of my features. Any extra work on the environment will then be left until the end of the project when everything else has been done.
- I started off with an ambitious idea and a large scope. Although this really pushed me to achieve a lot in a short time it also resulted in many features feeling half finished. An example of this is the inventory system where some basic features, such as drag and drop and the ability to drop/destroy items, area missing altogether. This happened because, although I had a good idea of what I wanted to achieve, I failed to make a specific plan and stick to it. As a result I was constantly thinking of new little things I wanted to add and getting distracted from working on more significant areas of the game, such as the gameplay and game feel.
- I started testing too late and only got a small number of people to test. This led to one quite major bug which affects the intended gameplay a lot – the bug where captured buildings will reinfest. This was introduced quite late in development when non-capturable infested buildings were added. The infestation tick which increases infestation over time was moved to a parent blueprint of the capturable building class. This meant that the tick was only checking if the player was inside the building before reinfesting – not if the player owned it. I would fix this by adding an infestation function to the base building which could be overridden by the capturable building. This function would check if the player owner is valid before reinfesting.