Park Beyond

Shipped

UE4 Gameplay Programmer

Limbic Studio & BlackSheep Studio

2021 - June 202360 people
Unreal Engine 4C++Visual Studio 2019Perforce

Overview

Park Beyond was my longest project to date, spanning 2 years of development. As a Gameplay Programmer, I contributed to various systems that make the game tick, from financial tracking to structure placement mechanics. One of my proudest achievements was the Templated Node System, which empowered level designers to create complex game rules without writing code. This system significantly improved iteration time and allowed for more creative freedom in level design.

Key Contributions

  • Templated node system for level design flexibility
  • Optimized floating text system with pooling
  • In-game financial tracking system
  • Structure placement mechanics for flat rides

Technical Systems

Templated Node System

Modular system empowering level designers with flexibility in setting game rules and conditions without coding.

  • Condition Nodes: encapsulate criteria like '5 rides built in park'
  • Action Nodes: trigger designated actions (open UI, end game)
  • Support for boolean, float, int parameter types
  • Designer-friendly customization without direct coding

System Architecture

Game Event
Condition Node
Condition Node
Action Node
Action Node
trigger->cond1trigger->cond2cond1->action1(true)cond2->action2(true)

Floating Text Pool System

Memory-efficient floating text display using object pooling instead of create/destroy patterns.

  • Pool array stores inactive text instances by default
  • Reactivate unused text when new display required
  • Deactivate and hide when no longer needed
  • Significant memory reduction through recycling

System Architecture

Text Pool Array
Display Request
Activate Text
On-Screen Display
Deactivate
pool->requestrequest->activateactivate->displaydisplay->deactivate(timeout)

Financial Tracking System

In-game economy system logging expenses, salaries, and income over configurable time windows.

  • Rotating array maintains fixed window of recent transactions
  • Configurable history length by player
  • Tracks expenses, salaries, and income separately
  • Performance-optimized financial overview

Structure Placement

Placement mechanics for structures like flat rides using polymorphic placement system.

  • Simplified preview for location selection
  • ApplyPlacement with polymorphism for different placement types
  • Init function sets up animations, states, configuration
  • Distinguishes spawned, designer-placed, and player-placed objects