top of page
Screenshot 2026-01-27 155956.png
Q_pD+5.png
 
Roles:

Lead Programmer

Systems Programmer

Scrum Master

Duration:

4 Weeks

Team Size:

9 People

Link to Project

Tools Used
Grå texturbakgrund
ISO_C++_Logo.svg.png
hd-unreal-engine-white-logo-icon-png-7017516949697958pnkct2kiz.png
Visual_Studio_Icon_2026.svg.png
image.png
png-transparent-jira-hd-logo-thumbnail_edited.png
image.png
cartoon-face-discord-logo-0ttqD7nB_t_edited.png

Acting as both Scrum Master and Lead Programmer for the 4-man code team, I created a robust C++ GameFlow Subsystem using a Finite State Machine. This project highlights my ability to bridge complex backend architecture with designer-friendly Blueprint tools while managing technical standards and debt for a 9-person multi-disciplinary group.

  • Challenges:

    • Implementing a global game state manager (Main Menu, Game-play, Pause, Game Over) that is decoupled from individual levels and easily accessible by designers.

    • Developing a data-driven event system for "paranormal hauntings" that allows for unique house behaviors using complex structs and enums.

    Actions:

    • Created a C++ Game Instance Subsystem utilizing a Finite State Machine (FSM) pattern with strict transition rules to ensure state safety.

    • Created a base State class derived from UObject to allow for modular, expendable game logic.

    • Bridged the C++ back-end with Blueprint-accessible functions, enabling designers to trigger state changes and check game status without code changes. 

    Results:

    • Achieved a clean, centralized system for UI management, ambience transitions, and level loading.

    • Reduced iteration time for designers by providing an intuitive, "black-box" subsystem for game flow control.

  • Engine Architecture:

    • Developed a persistent Game-Flow-Subsystem in C++ for global state management.

    Lead Programmer:

    • Managed technical debt, conducted code reviews, and unblocked the team by providing Perforce and Visual Studio IT support.

    Scrum Master:

    • Established Jira ticketing standards and led 4-week sprint planning sessions to maintain team velocity.

    Systems Design:

    • Created an Actor-based event system using custom structs to drive varied paranormal interactions in-game.

  • Balancing Roles:

    • This project taught me the complexity of dual-hatting as a Lead Programmer and Scrum Master. While I successfully implemented the core systems, I learned that dedicated technical leadership requires a fine balance between administrative Jira management and "hands-on" coding time.

    Technical Growth:

    • I gained significant experience in bridging C++ logic with Blueprint components, specifically in handing references within custom actor classes to create flexible, data-driven game-play systems.

    Team Collaboration:

    • Navigating the challenges of a 10-person team underscored the importance of clear version control (Perforce) protocols and consistent communication to avoid integration bottlenecks.

      • Modular State Logic: Implemented an abstract UFSM_GameFlow_Base class using BlueprintNativeEvent, allowing core logic to stay in C++ while giving designers the flexibility to extend functionality via Blueprints.

      • Persistent Subsystem: Leveraged the UGameInstanceSubsystem to ensure the state machine persists through level transitions and remains globally accessible.

      • State-Driven Automation: Automated critical tasks during state transitions, such as asynchronous level loading, UI widget management, and audio ambience switching through centralized events.

      • Defensive State Transitions: Engineered a transition validation system that enforces strict rules on state changes, preventing logical errors and ensuring system stability.

    • Developed a data-driven Paranormal Event System in C++ that utilized custom structs and enums to allow designers to author complex haunting sequences without further code intervention

bottom of page