top of page
Search
  • Brendan McIntyre

Here comes the horde.



Since the last update there has been a lot of progress towards including content into the game. At this point I feel that I have got all the major content that I plan to have in the game added in at this point.


To begin talking about the changes that I have made, the first major change was changing the zombie's AI. Originally zombies would wonder around the map until they could see the player or the player shot them. This has now been changed so that zombies will always move towards the player. This was done as it created more of a challenge for the player with now larger groups of zombies moving towards the player. This design is also used quite regularly in zombie games, with games such as killing floor 2 and the resident evil games all using hordes of zombies when attacking the player.



The left part of the tree is where the moving randomly took place, which no longer gets used

Zombies will now flock to the player, creating sometimes large hordes that will follow the player


From here I set about adding in more content into the game. The first piece of content that I added were two new guns; the Sniper Rifle and the SMG. The sniper rifle is a long range weapon that the player can use to take out distance targets by scoping in. The sniper rifle also has a good base damage and a massive damage multiplier for headshots. This makes it an ideal choice for taking out single, high health zombies. The SMG is the opposite. It is a very short range, high rate of fire weapon. It is perfect for taking out large groups of zombies that have managed to get very close to the player.

The Sniper Rifle was certainly a bit of a challenge to working smoothly. The action of scoping in and out wasn't too hard to do, as it just involves changing the field of view of the camera. The issues came with managing the HUD, the crosshair and the map and making sure they were removed and appeared again. The map was especially difficult to working right, as it often wouldn't be able to be toggled after zooming. After playing around with toggling it in blueprints, the eventual solution was changing an variable in the HUD blueprint itself which stopped it from auto turning on.



Shooting using the sniper


The SMG was much simpler to add in. However, the big problem faced with adding in the SMG was the fact that it didn't come with any animation, sounds and visual effect. This was because it came from a different asset pack to the other guns, which didn't provide those extra assets. So i ended up having to use assets from first asset pack. The SMG now uses the muzzle effect from the pistol, the fire sound is a variant of a rifle firing sound and the empty mag sound is the same as the assault rifle. While this isn't ideal, these compromises still create the desire effects and don't look and sound out of place.



Firing the SMG

Red folder is there the SMG comes from. Blue folder is there the pistol, AR and sniper come from.


The next piece of content that I added was two new zombie types. The first one is the tough zombie. This zombie will have considerably more health (and reward) than the basic zombie, while it will probably move a similar movement speed or possibly a bit slower. This uses another model that I got from mixamo. The animations for the model are basically the same with some tweaks, but I had to download them and re import them again to make them fit the model. Once I had that working I then had to go through any blueprint code that cast to a basic zombie to then cast to the new tough zombie. To make everything look a bit neater, I decided to make my own nodes at places where I was doing the exact same thing but just casting from a different zombie. This mainly was in the gun firing and the wave spawning areas.



The model for the tough zombie

One example in the semi auto shooting how I had to cast to each zombie type when doing anything with the zombie


The other zombie that was created was the fast zombie. This zombie is a smaller zombie with less health that moves considerably faster than the other zombie types. This zombie uses the same model as the basic zombie, but the model has been scaled down by 0.75. Since it was the same model, I did not need to redownload any animations at this stage, but if i did want to change how the animations on this new zombie look, I would. Once again, the same process followed for making the zombie functional within the game.



The difference in size between the basic and fast zombies. Left zombie is the basic zombie, right is the fast zombie


To accommodate for the new zombies, I had to make some changes to the zombie wave spawner. While I could've left the spawner untouched, this would meant a horrible imbalance between waves (i.e one wave with tough zombies would've likely had only 10 zombies, but a wave with fast zombies would probably have like 300 and they would possibly be the same difficulty) and I have yet to make an enemy wave spawner that does spawn different types of enemies, so this is also something that I wanted to do. To achieve this, I made the spawner spawn zombies based on a ratio system. For example a 1:1:1 ratio will spawn one of each zombie, while a 2:1:5 will spawn two of the first zombie type, then one of the next zombie type then 5 of the final zombie type.



The new addition which spawns zombies based on a given ratio

This spawn code is copied three times as three different types of zombies can possibly be spawned


The final additions that I added was the inclusion of a perk and a set of armor that the player can buy. The perk gives the player an increase in stamina, allowing them to sprint for longer, which will certainly help getting away from the fast zombies during later levels. The armor gives player an extra layer of protection again zombie attacks. The armor has a certain amount of hit points, and if that drops to 0, the armor will be destroyed and player's will begin to lose health from zombie attacks. Armor also takes half the damage from zombies and auto heals every time the player respawns without needed money. While I could make it so that the player has to purchase repairs for the armor, I feel that this might make the gameplay even more tedious (as the player already has to purchase ammo).



The new shop window containing the perk and armor. An icon for the armor hasn't been created yet

The player getting damaged with armor on


The final noticeable change is the changes to the visuals on the map. Icons now appear on the map showing where each zombie is, and allows player's to easily identify which type of zombies have spawned. The player also has a new icon, which now changes angle to follow the player's direction.



The new icons on the map. The dark red is the fast zombies. The green arrow is the player.


For next week's progress, there won't be much in terms of new content for gameplay. The only addition I will make may come in the form of some additions to the zombie AI. I am thinking about having different zombie AI for later rounds, which will make the game for challenging for the player without jacking up the zombies health to ridiculous levels. The plan for now is to have these smarter AI to run at (or even strafe) towards the player if a zombie is killed nearby and possibly have zombies move towards other zombies should they find themselves alone (as well as anything else that is feasible within the timeframe). Otherwise I plan to start polishing up the menu's (and adding in a main menu and a "you died" menu) and beginning the process of balancing the game (although these may happen more the following week). At this point, i'm not sure I am going to include any C++ into the project. If I do get around to adding it, it will likely be something simple, like using it to move the player around or attempt as much as I can to convert the zombie spawning blueprint into C++. However, overall I am happy with how the game is progressing.

10 views0 comments

Recent Posts

See All
Post: Blog2_Post
bottom of page