470 Sprint 2
This sprint was a strange one; I had to do my absolute best to work out a system for enemies and an attack system at the last minute. I felt like I could've done better in sections; you can see in the gifs below that there's two major issues with enemy movement. Knockback on enemies looks ugly; it's just a backwards motion. I didn't want to use the Unity physics system because it sucks and encourages everything around it to break. However, for purely aesthetic purposes, it may be what I have to use. Transform.Translate just doesn't cut it.
Enemy movement in general is something I wish I could've improved. As of right now, it's just so boring. They fall into a single file line, swarm into the nearest target, and then move onto the next one. While I could perhaps cope with the look of it resembling a pack of locusts descending on a field, I just can't sit with it in this state. I hope I get an opportunity to return to it in time to make it look better. Darktide/Vermintide was a major influence on this game and the swarms of enemies are a sight to behold. It truly looks like a mob of bloodthirsty maniacs taking every possible entrance to choke and smother their prey. The cold, artificial, movement of the default navmesh just doesn't cut it for me.
With enemies needing to be killed, and objectives and players needing to be killed, I created an events based system for death. The game can keep track of everything that dies, and lets the appropriate things know about it. Already the in-game events are a tangled web; this means I would likely be better off moving to an event bus instead of hooking up everything manually. It's irritating and even with the undeveloped systems we have now, it's starting to get confusing. I can do better, I have the capabilities for it.
Enemies, Players, and Objectives all rely on the same system for taking damage. I also went ahead and tested enemies having different attack speeds and damage values. Raiders swing fast and with light damage, designed explicitly to drain turtlers who would rely on blocking. Knights swing heavy and slow, punishing people who don't space themselves. Archers harass (or, they would; I've yet to employ an appropriate attack radius for them), and Footmen create a wall of meat that become overwhelming in numbers and create situations which allow Knights and Raiders to do their thing without interruption.
Further along, I had created scriptable objects for each different type of enemy. This allows for rapid prototyping of their most basic stats. They move differently, attack differently, and attack at different speeds. This should be iterated on further into development. Not only do we require more advanced attacks, we need to see enemies become more different overall. I fear as of right now our enemies are not distinctive enough. We have no really unique threats to the players life.I spent an inordinate amount of time agonizing over trap placement before realizing I was putting the cart before the horse. After burning entirely too much time trying to create traps without an inventory, I buckled down and created a proper inventory system from first principles. It distinguishes between objects, slots them into the first available space, and then they can be used. I employed object oriented principles to create a template for items, but I feel as if it's far too bulky. We end up using two different scripts; one for the pickup, which provides the item, and then there is the item as it exists in the inventory itself. The inventory is managed by its own script, which updates the UI with changes and removes items from the inventory as they're used. More development time is needed to reach the complexity required, where items can be dropped, toggled, previewed, and so on.
Overall, I was rather disappointed with my work this sprint. I know I can do better and the sloppiness as I try to implement new ideas feels bad. I think I can work on making something truly effective, but seeing all these rough prototypes and knowing I have to move on from them leaves a painful feeling in my gut. After all, the fix that lasts the longest is a temporary one.
.gif)


.gif)
.gif)
.gif)

Comments
Post a Comment