top of page
James Burke

Unreal Group Project: 'Invasion'

Updated: Nov 25, 2020

[15/09/20: minor changes have been made to the project since its documentation- detailed below]

Description

For our second year, we moved on from Unity to learn Unreal Engine 4. This time around we were working in groups, and made use of source control as a tool to help with that. I was the lead, and took on the responsibility for anything in the game related to mechanics, logic, game structure, as well as ensuring good implementation of animations. Other members were tasked with story design, asset gathering (materials, animations, audio), level design, aspects of testing, etc. We worked together to form general ideas, as well as having discussions on the general structure of the game.


In our game, the player must survive flesh-hungry zombie hoards. This is followed by the player ending up infiltrating a secret, underground setting patrolled by what looks to be possessed infantry. The player can approach the level as they prefer - through brute force, or by calculated stealth. This game demonstrates the following:

  • First-person shooter mechanics (shooting, ammo as a commodity, reloading, aiming down sights, crouching, sprinting, player-model based perspective)

  • Multiple enemy types with unique AI (achieved through State Machines, AI Controllers, Blackboards and Behaviour Trees)

  • Melee-based enemy with chasing AI

  • Range-based enemy AI with capabilities to patrol set points, shoot the player when they see them, and attempt to find the player before returning to patrolling

  • Multiple levels

  • Nav-mesh

  • Timer-based gameplay

  • GUI (HUD, main, pause, death, level completion, settings)

  • Points/score

  • SFX

  • Animations (blendspaces, animation blueprints)

  • Gameplay with increasing difficulty

  • Gameplay with multiple approaches for completion (as well as recognition for the chosen approach)

  • Conditions for level completion

  • Health system (taking/giving damage, health recovery mechanics)

These were fully achieved through the use of UE4's visual scripting language called Blueprints. We intended to use C++ for certain parts, but to save time we chose blueprints which worked perfectly fine on a small game such as this one. I am currently much more inclined towards C++, as I have been sharpening my ability to use it over the summer.


Showcase

This is the latest packaged version of the game.

Attached here is the full documentation for this group project, going through the aspects of design, implementation, etc. You will find many snippets and explanations of the blueprints here. The document is made easy to navigate through its headers.

For assessment submission, I made a video to show the gameplay. In this video, I go into detail, describing each aspect of the game - most of it is covered!

Afterthoughts

Learning Unreal Engine after Unity was interesting. For me, while I find Unity charming, Unreal is what I prefer and have stuck with since. Since this project, I have learned to be better at using C++ with Unreal and plan on getting a good balance of blueprints and C++ in my future projects.


A quick note on progression; this project is a step up from my Unity project. It has more advanced AI, animations, gameplay, sound engineering, and more advanced mechanics overall.

Updates

15/09/20 - Project Packaged, Minor Zombie AI Tweak, Difficulty Adjustment (Level 1), Collision Fixes

  • I have packaged the project into an executable application! I didn't do this months ago because it wasn't necessary and there were packaging errors, which I have decided to resolve for the sake of being able to share the game on this blog. It was a quick fix, but wasn't clear for me months prior.

  • Zombies are better at chasing now. Zombie AI has been updated to not rely on the visibility of the player. This addresses the issue, which can be seen in the video, of zombies idling - even when in clear sight. Only the behaviour tree has been updated to achieve this change.

  • As a result of the zombie AI tweak, the difficulty has ramped up considerably. Adjustments have been made relating to the maximum zombies allowed to be on the level at a time, as well as speed adjustments made- zombies spawned on the final wave are faster (because the zombie spawn cap made it too easy)

  • Collision fixes on a couple obstacles - previously the player would be able to stand on top of these and win by doing nothing.

Comentários


bottom of page