top of page

Role: Solo Developer
Engine: Unreal Engine
Year: 2022

About:
Welcome to Globobot Inc. Your job is to test out our state of the art first-person simulation arena against countless waves of robot enemies. Grab an All-Purpose Multi-Gun and let's get to work.

The main focus of this project was to implement and utilise atomics to create a fair and balanced gameplay system.


Player's are tasked to survive continuous waves of zombies that increase in difficulty with the use of 6 weapon variants which can be upgraded along with the character statistics.

During the course of the project, I primarily worked with:

  • Atomics

  • Blueprint Visual Scripting

  • Gameplay Mechanics

  • Enemy AI

  • Level Design

  • Asset Creation

  • Sound

  • UI Design

What I learnt during this project:

  • Introduction to data tables to store atomics

  • Developed AI skills

  • Enhanced technical knowledge towards wave-based and upgrade systems

Gameplay Video

Zomborg Banner.png

Let's Get Technical

Data Tables

Atomics are stored within various data tables, these data tables cover statistics for the gun variants, player, upgrades, enemies and wave system.
Example of Gun statistics
These statistics are then "broken" from the data table to be used throughout various blueprint functions
"Gun Break" function used to gather gun atomics from data table
(Right Mouse Button + Drag to Navigation) (Ctrl + Mouse Wheel to Zoom)
 
Example of "Gun Break" function used for ammo drain functionality
(Right Mouse Button + Drag to Navigation) (Ctrl + Mouse Wheel to Zoom)
 

Upgrades

Upgrades can be applied to each weapon variant to upgrade it's damage, ammo consumption and cooldown rate. Player upgrades are also available to increase their health, stamina and health regeneration speed.

Each upgrade variable is
stored within a data table used to alter the current statistics when purchased with the appropriate amount of points gained through gameplay.
Damage Data Table
(Right Mouse Button + Drag to Navigation) (Ctrl + Mouse Wheel to Zoom)
 
Function to get atomics from Gun Damage Update Data Table
 
Upgrade function when damage upgrade attempts to be purchased
 
(Right Mouse Button + Drag to Navigation) (Ctrl + Mouse Wheel to Zoom)
 

Enemies

There are a total of 4 different enemy types
Z0M813
Zombie
Facts:
  • Spawns every round
  • 100 health points
  • Slow Moving
  • Melee attacking
  • Will prioritize attacking upgrade station
    If damaged by the player, they will focus on attacking the player
  • Speed increases per wave
R3FR35H
Refresh
Facts:
  • Spawns every 2 rounds
  • 150 health points
  • Fast Moving
  • Melee attacking
  • Will prioritize attacking the player
  • Health regenerates overtime
8RUT3
Brute
Facts:
  • Spawns every 5 rounds
  • 1000 health points
  • Slow Moving
  • Melee attacking
  • 4x larger than previous enemy types
  • Will prioritize attacking the upgrade station
  • Will attack player once upgrade station is disabled
W45P
Wasp
Facts:
  • Spawns every round past wave 6
  • 125 health points
  • Slow Moving
  • Ranged lazer attack
  • Flying enemy
  • Will prioritize attacking the player

Wave System

Various wave-based formulas were comprised to understand the wave progression for enemy spawn rate and Survival Bonus.

After each wave, along with the points the player has gained from killing enemies they will be given a sun of points as a ‘Survival Bonus’ which is totalled by a simple calculation


(75(Wave Number)) = Survival Bonus
(Right Mouse Button + Drag to Navigation) (Ctrl + Mouse Wheel to Zoom)
 
Each enemy type has its own formula for its spawn rate

Z0M813:
((Wave Number*3)+5) = Z0M813s to Spawn (With a limit of 25 spawned at once)
(Right Mouse Button + Drag to Navigation) (Ctrl + Mouse Wheel to Zoom)
 
R3FR35H:
(Wave Number=Even Number) if true (Wave Number/2) = R3FR35Hs to Spawn (With a limit of 10 spawned at once)
(Right Mouse Button + Drag to Navigation) (Ctrl + Mouse Wheel to Zoom)
 
8RUT3:
(Wave Number=multiple of 5) if true (Wave Number/5) = 8RUT3’s to Spawn (With a limit of 3 spawned at once)
(Right Mouse Button + Drag to Navigation) (Ctrl + Mouse Wheel to Zoom)
 
W45P:
(Wave Number ≥6) if true (Wave Number-5) = W45P’s to Spawn (With a limit of 8 spawned at once)
(Right Mouse Button + Drag to Navigation) (Ctrl + Mouse Wheel to Zoom)
 
bottom of page