Indie Horror
A systems-driven survival horror title in active development. My focus is on **AI navigation/behavior**, **vehicle traversal mechanics** (player-steerable boat), and **player control/interaction physics**—building tension through believable systems rather than scripted moments.
UI implementation prototype for grid-based navigation and threat awareness.
What I built
- Enemy AI & Navigation: grid/mesh–based pathfinding, patrol/seek/flare states, perception cones, hearing triggers, and dynamic re-pathing around moving obstacles.
- Boat Traversal Mechanics: steer/accelerate/brake model with water drag, turn radius, drift and wake effects; environment reacts (buoys, docks, debris) via physics constraints and triggers.
- Player Controller & Interactions: responsive ground/water locomotion, stamina & stumble responses, pickup/use systems, physics-driven doors, drawers, and valves with tuned damping.
UI Design
I designed and implemented all in-game UI systems, focusing on clarity/atmosphere, pacing, and tension in a grid-based survival experience. The UI was built directly in-engine and iterated through playtesting to ensure information was readable, intentional, and never overwhelming.
- Implemented in-game UI layouts and interactive elements directly in-engine and designed UI flow to support player navigation, awareness, and decision-making
- Collaborated with gameplay systems to ensure UI clarity without breaking immersion
- Iterated on UI layout and interactions based on playtesting and usability feedback
AI Design
The enemy operates as a search-and-intercept threat on the same grid as the player. Each turn, it updates its intent based on what it last sensed (sound/line-of-sight), then commits to a route that pressures likely escape paths instead of beelining in a predictable way. This creates “near misses” and forces the player to plan several moves ahead.
- Search behavior: patrol → investigate → hunt states with memory of last known location and “suspicion” levels.
- Fair pressure: the enemy commits per turn like the player, so it feels readable while still dangerous.
- Tension tuning: adjustable senses, reaction delay, and route selection to control difficulty and pacing.
Traversal & Turn-Based Tension
Movement is grid-based and time-pressured: each turn has a short planning window, and your path must be committed before the timer expires. The core tension comes from making smart, strategic moves—choosing safe routes, avoiding dead ends, and not “greeding” for progress—because a single bad turn can put you directly in the enemy’s search pattern.
- Route planning: you plan moves to reach objectives and “finish the night” while managing risk per turn.
- Information & misdirection: visibility and audio cues influence decisions—sometimes the safest move is to reposition, not advance.
- Systems-driven outcomes: the environment supports meaningful choices (chokepoints, safe lanes, traps/obstacles), so survival feels earned.
Interaction & Feel
Goal is to have an older school look and feel with the ps1 style render, shaders, and low poly assests. The interactions aim to be eerie and meaningful with clues that seem random aim to steer the character in the direction of the underlying story.
Tech Stack
- Engine: Unity (C#) / (prototype-friendly physics & navmesh)
- AI: finite-state architecture with perception queries; debug overlays
- Tools: editor gizmos for patrol graphs, spawn tuning, encounter scripting
- Builds: profile-driven iteration to balance frame budget vs. tension beats
Notes
Most visuals and level content intentionally omitted pre-release. I’m happy to discuss game design in more detail on request.