About the game
Blast is a fast paced first person shooter. The game has both a single player campaign and multiplayer modes. Multiplayer can be played via both LAN and Steam. Blast features pickups, various traversal mechanics and AI. AI will fight against both enemy AI and enemy players and will run away if they feel they cannot win an encounter.
Blast was the first game I made entirely on my own at university. My aim was to learn how to set up AI and multiplayer. Since I worked on the game entirely on my own it’s safe to say I was in charge of everything. Due to time constraints the art style I worked with was rather stylised as this allowed for me to make art assets rather quickly and focus on the technical aspects of the game. Originally thinking multiplayer would be the biggest challenge I was pleased to find out that I picked up the logic rather quickly and made the framework with a server browser within a few days. Working on AI was really fun and challenging because I wanted to have rather smart AI that communicates with each other and can judge the outcome of a fight with a player.
I used this project to learn multiplayer and networking inside UE4. I created both LAN and online multiplayer, server creation and a server browser.
I learnt how to create synced game modes, how to replicate bullets, health and player movement.
BLAST also uses players’ Steam IDs for leaderboards, chat and player identification.
I learnt a lot about AI during this project. Each game mode has two teams of AI, one for each player team (blue and red).
The AI would fight AI and players of the opposite team. AI player kills would also contribute to the score.
AI in BLAST also try to determine the odds of survival in a fight. Each AI detects the number of friendly AI, enemy AI, friendly players and enemy players engaged in the fight and calculates a number based on all the variables. This number, alongside the AI’s health is compared to the AI’ threat threshold. If the number is greater than the threshold, the AI either berserks and has increased damage and accuracy or flees the fight.