In this project, we were 3 programmers and 5 designers. The goal was to create a game with the theme "Conflict" in four weeks. In our group, there were two programmers who wanted to work with AI and one who wanted to work with the player character. When discussing what type of game we wanted to create, we had that in mind and decided to use Alien Swarm as a reference game and have a hint of Diablo as well. The idea of the game was a dungeon crawler where you need to get to the end of the level while fighting against swarms of enemies throughout the level. We decided to have four different enemies, so me and the other AI programmer worked on two each.
Introduction
The marksman is a skeleton that shoots projectiles at the player. In the group, we were talking about having one enemy that would be a bit smarter than the other enemies. We decided to have an enemy that shoots projectiles towards the player but is a bit more tactical. I had seen a tutorial that covered something similar to what I wanted to achieve a while ago. I looked it up, followed it and changed it to fit this project.
Functionality
I'm using Unreal Engines behavior tree to handle the decisions of the AI. It runs toward the player until it is in range.
Then it goes through EQS to find one of the best locations to take cover while being able to fire projectiles towards the player. If it doesn't find a location to take cover, it will shoot towards the player.
Introduction
The guardian is a giant skeleton that has a lot of health and hits harder than the other enemies. The idea was pretty straight-forward. We were talking about having a giant enemy with more health that had a gap-closing ability. They were meant to be few in number, but intimidating. I was thinking about either a dash or a jump as gap-closing. I thought that a jump would be more fitting for a giant enemy like this one and a teammate working on the other enemies agreed with me.
Functionality
Just like with the marksman, I'm using Unreal Engines behavior tree when it comes to decision-making. If the player is within range and the jump is off cooldown, it jumps towards the player. Otherwise, it will run towards the player and attack it in melee range.
Feel free to contact me on LinkedIn or via mail.