top of page

Alien Wars​

Project: Alien Wars

​

Engine: Unreal engine 4

Platform: Windows PC

Role: Visual Scripter

 

Description: Top down third person co-op shooter. This project was created for the advanced engines & scripting module at university the aim is to have multiple different game modes in a top down shooter game prototype. 

 

Responsibilities

​​

  • AI design & implementation

  • Multiplayer (local) functionality

  • Game modes & managers

  • Spawning elements dynamically

  • Automation and efficient code

  • Implementation of game loops

  • Clean scripting (utilising interfaces, functions & dispatchers)

​

The video includes more of a breakdown of mechanics.

Role Breakdown

​

Scripting (blueprint): This project was my first leap into learning game modes, AI, managers and multiplayer while keeping to good blueprinting practices such as using interfaces, event dispatchers, functions, inheritance and separation of concerns (such as managers). This prototype was created to help excel my skills in these fields and not to focus on moment to moment gameplay design. The design flowcharts for the gamemodes can be seen below. I ensured to setup local multiplayer through split screen which could be changed through a menu dependant on the amount of players that would be within the game. My role included understanding how to use the same play space for different game archetypes and how much code can be re-used to increase efficiency across different modes. This included understanding how to dynamically spawn elements, different AI behaviour trees, team set up, etc.

​

AI Design & Implementation: When designing my AI I followed a flow chart system that can be seen below. I attempted to plan out every decision the AI would make (as though it was a player) and have the AI react appropriately. I found implementing AI to be the most challenging element while also being the part I enjoyed the most. I started by creating a base AI behaviour tree that all AI would use as a foundation as all would need to find opponents of enemy team, attack the enemy with lowest health, or find a location to move to if no enemy is perceived. From here I then built the separate behaviour trees for each game mode from there. This included finding enemy team players, finding capture points, holding capture points, attacking enemy team members that hold capture points, etc.. This process used behaviour trees, blackboards, AI controllers, custom tasks, decorators and services. As well as having the correct AI spawn and carry out the correct actions.

bottom of page