Park Beyond
ShippedUE4 Gameplay Programmer
Limbic Studio & BlackSheep Studio
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
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
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