PROJECT
BARNYARD
Group Project
Timeline: 4 Weeks
Team Size: 11 Members
Roles: Systems Design
PROJECT OVERVIEW
For this project, we're designing a game based on the theme "Ecosystem," where players defend their barn from invading aliens. The core inspiration comes from the Love, Death & Robots episode "Suits," in which farmers protect their crops from alien invaders using mech suits. Our twist on the theme emphasizes defending the farm's ecosystem by using various structures and defensive tactics to fend off the alien invasion.
As part of the development team, I am responsible for systems design, focusing on creating a building system that allows players to strategically place turrets, traps, and other structures to defend the barn. Additionally, I’m in charge of implementing the logic for all the structures, ensuring that the defensive systems actively engage and combat the alien threats as they approach the farm in a wave-based system.
BUILDING SYSTEM

OVERVIEW
I was responsible for designing and prototyping a building system that allowed players to place various structures such as traps, turrets, mines, and spring traps during gameplay. The goal was to create a flexible, modular system that could easily accommodate different types of deployable structures, enhancing player strategy and interactivity within the game.
APPROACH
-
Initial Prototype:
-
The first step was prototyping the turret placement system. I focused on creating a basic framework by using line trace on the ground on event tick that allowed players to place turrets within the game environment during gameplay.
-
-
Modular System Design:
-
To expand beyond just turrets and make the system more modular, I designed a solution using a base Actor component. This base component contained the core functionality of the line trace, which could then be inherited by various child classes for different structures like traps, mines, and spring traps.
-
-
Class Inheritance:
-
Each structure type (turrets, traps, etc.) was created as a child class inheriting from the base Actor component. This design allowed the child classes to share common functionality like placement logic while retaining the flexibility to implement unique behaviors, such as triggering a turret's attack or a trap’s activation.
-
-
Optimization:
-
With help from programmers, we managed to improve the modularity of the system by restructuring all the buildings by setting each preview mesh and actor class into an array and getting their references via an integer variable. This made the system more versatile and easier to scale, ensuring future modifications or additions to structure types could be seamlessly integrated.
-
Old Prototype
FUNCTIONALITIES
-
Structure Placement:
-
Players can place defensive structures, such as turrets, traps, mines, and spring traps, in designated areas around the barn to protect against alien waves.
-
-
Preview Mesh for Structure Placement:
-
While placing structures, players can preview the mesh of the selected structure in real-time, allowing them to see exactly where the building will be placed, improving accuracy and strategic positioning.
-
Current Iteration of building system
SYSTEM DESIGN
OVERVIEW
In this project, I implemented the mechanics for turrets, mines, and spring traps as part of the defense system to help players protect their barn from alien invaders. Each system serves a unique defensive role, providing players with a range of strategies for delaying, damaging, or eliminating enemies.
FUNCTIONALITIES
-
Turrets
-
Objective: Develop autonomous turrets that track and shoot enemies within range, providing active defense for the player's base.
-
Key Features:
-
AI Targeting System: Utilizes AI perception to detect and lock onto enemies that enter the turret's firing range.
-
Rotational Movement: The turret gun rotates smoothly to follow and target moving enemies.
-
Projectile and Firing Mechanism: Automatically fires projectiles at detected enemies, implementing a damage system to reduce enemy health.
-
-
-
Mines
-
Objective: Implement proximity-triggered mines that explode when enemies approach, adding area-based traps to the defense strategy.
-
Key Features:
-
Proximity Detection: Uses a sphere collision system to detect when enemies are within range, triggering the explosion.
-
Explosion Effects: The explosion is rendered using Niagara particle effects to provide visual feedback.
-
Radial Force: Applies a radial force upon explosion, pushing enemies away to create a small comedic effect while dealing damage.
-
-
-
Spring Trap
-
Objective: Use spring traps to push enemies into the air and kill them providing a small comedic relief to the game.
-
Key Features:
-
Radial Force: A radial force is applied upwards to any enemy that steps onto the spring trap
-
Death Box: Placing a kill box above the trees so enemies flung into the air by the spring trap are killed instantly so that the AI pathfinding does not get bugged when they sometimes get stuck above the trees.
-
-




Structure functionalities