Night of the Living Bubble

Can you survive the Night

Can you survive the Night

Header Image
Header Image

Skills

Game Programming

Techincal Artist

Location

Atlanta.GA

Year

2025-2026

Info

"From a 48-hour Global Game Jam prototype to a Best in Georgia 2025 finalist. Currently in full-scale development for a Steam release, this project is a masterclass in evolving a viral concept into a polished FPS."

Description

Lead Programmer | First-Person Shooter

What began as a 48-hour Global Game Jam prototype evolved into a polished, festival-ready FPS. As Lead Programmer, I architected the games foundation, transitioning a experimental concept into a scalable production-ready framework featured at SIEGE Indie Fest and DreamHack Atlanta.

Technical Contributions

  • Fluid Multi-Input Systems: Engineered a responsive player controller featuring sprint/exhaustion mechanics and a diverse toolset (Grapple, Blower, Flamethrower). Developed a unified input wrapper to ensure seamless parity between Keyboard/Mouse and Controller.

  • Dynamic Enemy Ecosystem: Programmed a diverse AI roster including Swarmers, Explosive Attackers, and Spawners. Focused on balancing high-intensity combat with performance, utilizing optimized sensing and behavior logic to maintain steady framerates during large encounters.

  • Architecture & Systems Design: Developed robust game frameworks including persistent Save/Load systems, level-specific stat tracking, and modular spawner logic. Leveraged Blueprint Interfaces and Custom Structs to minimize class dependencies and ensure a decoupled, "clean" codebase.

  • Immersive UI/UX: Built a dynamic HUD featuring contextual reticles, real-time cooldown tracking, and integrated cinematic video loading screens to maintain player immersion during transitions.

  • Optimization-First Development: Streamlined Blueprint overhead and AI logic to ensure scalability. By creating reusable, data-driven systems, I empowered the art and design teams to iterate on content rapidly without requiring constant technical oversight.

The Bottom Line

Through iterative problem-solving and a focus on clean data structures, I translated a "jam" vision into a polished Steam-bound experience. My work bridged the gap between technical constraints and creative ambition, resulting in a performance-optimized game capable of handling dense, chaotic gameplay on varied hardware.

Image of Wooden Enemies
Fairground Loading Screen
Minatour Boss
Interface coding 1
Interface coding 2
Flamethrower Code

Technical Insight: Architecting for Scalability

One of my most significant milestones during the development of Night of the Living Bubble was pivoting our communication strategy from Hard Casting to a decoupled, Interface-driven architecture.

The Challenge: The "Spaghetti" Bottleneck

Early in production, our Blueprints relied heavily on direct casting and hard references. As the project grew, this created a "tangled" hierarchy where loading a single enemy actor would inadvertently pull massive player or UI assets into memory. This not only bloated our memory footprint but also led to fragile codechanging a single variable in one system could cause a ripple effect of compiler errors across the entire project.

The Solution: Modular Communication Framework

To resolve this, I architected a modular communication layer using Blueprint Interfaces (BPI). Instead of the Player Pawn asking, "Are you specifically 'BP_Bubbleguy_C'?", the system now simply sends a "Take Damage" or "Interact" message to any actor.

This transition provided three critical advantages:

  • Memory Optimization: By removing hard class references, I significantly reduced the "Reference Tree," lowering memory overhead and improving load times.

  • Design Fluidity: Designers could create new interactive objects or enemy variants and have them respond to player actions instantly, provided they implemented the shared Interface.

  • System Stability: Decoupling the codebase meant that the Player, AI, and UI systems could be iterated on in isolation without breaking the global game state.

The Takeaway

This experience shifted my perspective on development: performance is a core design principle, not a post-production chore. By prioritizing clean data flow and decoupled logic, I didn't just optimize the gameI empowered my team to experiment and create without technical bottlenecks.

More projects

Create a free website with Framer, the website builder loved by startups, designers and agencies.