FIT2096 Assignment 2 2021

Transformations in 3D Space - Simple Agent Navigation (15%)


Due: Week 9, Friday 7th of May, 11:55 pm

Platform: Unreal Engine 4


Task

In this assignment you will use the Unreal game engine to create a simple game where a player must navigate through a level while avoiding Agent enemies. The Agents navigate through game level using waypoint navigation.


Game Project

Use the 1st person game project.


Game Level/Map

The game level will be made from a simple plane scaled to the required size with a suitable tiled Material applied. Obstacles (simple mesh Shapes) will be placed throughout the level. See Figure 1 Level Layout Design for an example of how your game level could be laid out.

NOTE: The level layout in the diagram is an example only. You should not copy its layout for your own level, rather you should use your own creativity for your level and agent paths.


Camera

The assignment will use the 1st person camera for the player.


The Player

The player must spawn into the level and navigate their way through the map to the Player Goal. If the player collides with an Agent before reaching the Player Goal, they must respawn back at the Player Start.


Simple Agents

You will create simple Agents that spawn in the level and patrol along a predefined path.

• Coding

o The core functionality of the agents must be coded in C++. Variables can be exposed as a Blueprint class.

• Agents model

o Use any of the 3D Models provided in the Unreal Starter Content

o The forward direction of the Agent must be shown using an arrow component

• Waypoint Navigation

o Your agents must use a set of waypoints to navigate their way through the game level.

Each waypoint contains a location (x,y,z) in the game level.

The agent should spawn at the first waypoint, rotate to face the next waypoint and move to that waypoint.

When the agent reaches the waypoint it should rotate to face the next waypoint and move to it.

The agents should patrol along the path until the end of the game.

Waypoints will be hard coded and stored in an array

You will have at least 2 paths your agents will patrol in the level

Your paths should form a loop that your agents can follow repeatedly

• Spawn rate/number

o How often the Agent spawns

o The maximum number of Agents spawned

• Speed, Size

o You must have two different types of agents denoted by different coloured Materials.

They should travel at different speeds.

Each type of agent should have a different scale value with larger Agents moving slower, while smaller agents moving faster.


Input/Control

The input and control must be coded using C++.

Your application must implement the following controls:

• ‘q’ – Start

o Starts the game

• ‘p’ – Pause

o Pauses the game 

• ‘r’ – Reset

o Resets the game back to its initial state so it can be run again


Marking Rubric