Oh, Bugger!
Technical & System Designer
Oh, Bugger! is a first-person shooter where players are swarmed by enemy groups and must keep pushing forward to survive. Think classic boomer shooter meets horde game: the pace of DOOM with the crowd pressure of Space Marine 2.
Every system is designed to reward aggression and punish hesitation. Resources, AI behavior, and player abilities all funnel the player toward one answer: keep moving.
My Contribution
As Technical & System Designer I owned enemy AI from design through implementation, built all core player systems, and drove optimization across 16 weeks with a 21-person team. My work covered prototyping, documentation, cross-discipline alignment, and QA.
Design Pillars
Push Forward
All systems reward and motivate the player to keep attacking and moving forward.
Order to Chaos
Powerful abilities let players neutralize chaotic, crowded encounters in seconds.
Group Management
A crowd system that splits enemies into squads with a designated leader, cutting pathfinding cost by 90% while making encounters feel coordinated and threatening.
How It Works
The first spawned enemy becomes a leader with collisions disabled. A Group Actor tracks the leader and up to 10 followers. Leaders navigate to the player via NavMesh; followers simply chase their leader, eliminating redundant pathfinding calls across the whole group.
Pathfinding is staggered across leaders to prevent CPU spikes. On leader death, the next valid follower in the array is promoted automatically. On any death, the Group Actor decrements its count and destroys itself when the group is gone.
Iteration
Smaller attack groups and collision tweaks were both tested first. Smaller groups improved coordination but hurt the "Order to Chaos" pillar. Disabling collisions entirely worked but stripped player visibility. The final approach combined the best of both: disabled collisions on leaders only, maintaining performance and keeping enemies readable.
Alternatives Considered
Better internal coordination and enemies got stuck less often. But enemy mass still created the same pathfinding cost and the tighter grouping undercut the "Order to Chaos" pillar by making encounters feel trivial to neutralize.
Fastest to implement, the strongest performance gain, and enemies never got stuck. But players lost all ability to visually track individual enemies in a packed group. Readability collapsed.
Enemies scan their surroundings to spatially orient relative to each other, creating organic swarming. Works beautifully at low counts. At 40+ enemies constantly scanning, the CPU overhead tanks the whole system.
Attack Management
A token-based permission system that caps simultaneous attackers, creating fair, readable combat without i-frames or complex coordination logic.
How It Works
Enemies call RequestAttackToken() via an interface before attacking. If tokens are available, the count decrements and the enemy proceeds. If not, it waits. Tokens return automatically on attack completion or enemy death, closing edge cases where enemies die mid-swing.
Three designer-controlled variables handle everything: MaxTokens (how many simultaneous attacks), AttackCost (tokens per attack type), and AttackCooldown (breathing room between attacks). Balancing the combat feel takes seconds, not days.
Why Not I-Frames?
I-frames are the standard solution: a brief window of invulnerability after each hit prevents back-to-back damage. But i-frames require art and sound support to signal to the player that they are temporarily safe, and they create artificial pauses that break combat rhythm. The token system achieves the same result (never more than 3 attackers at once) but the pacing feels organic because it comes from AI decision-making rather than player state.
Player Ability: Stomp
A high-impact AoE ability that lets players erase crowd pressure in seconds, creating a power-fantasy moment at the intersection of physics, environment, and feedback.
How It Works
On input, the player becomes briefly invulnerable while a vector lerp lifts them upward. A physics-driven launch node slams them down. On impact, a multi-sphere trace scales the AoE radius with fall distance (clamped), triggering Chaos Field System destruction on any eligible objects within range.
Damage communicates through an interface. Feedback layers stack: shockwave VFX shows the AoE boundary, a heavy bass impact SFX lands the weight, screen shake amplifies the moment. The ability feels powerful because every channel confirms it at the same instant.
Destructible Objects
A Chaos-driven blueprint tool that lets level designers place physics-destructible props with fully exposed break and explosion controls, no code required.
How It Works
Geometry collections are created in editor. A Field System trigger spawns on player collision or damage events, applying InternalStrain and ExternalStrain forces with customizable explosion magnitude via ForceMagnitude.
The blueprint exposes an explosion magnitude float, a shatter type enum, a strain curve, and an SFX selector directly in the Details panel. Level designers get a documented how-to, meaning new destructibles go live without a programmer in the loop.
Credits Screen Game WIP
A physics-driven credits experience that replaces passive scrolling with interactive name plates, turning the team presentation into its own moment of play.
Players interact with the team's name plates through physics-based collisions, creating passive exposure and genuine engagement with credits instead of an immediate skip. Currently in prototype stage with a distinct art style diverging from the main game.