Back

Lightless • Survival shooter

LIGHTLESS – 2D Top-Down Survival Horror Shooter

Role
Solo Developer | Designer | Programmer
Engine
Unity
Platform
PC (Web)
Play it on
Itch.io
Survive the dark with one light source

Introduction

LIGHTLESS is a 2D top-down survival horror shooter developed in Unity to explore the interplay between atmosphere, mechanics, and player psychology.

The project serves as a demonstration of my proficiency in Unity development, including AI behavior systems, lighting design, player controls, and audio-driven immersion.

The core objective of LIGHTLESS was to design a tension-driven experience where limited visibility, scarce resources, and unpredictable enemies create a sustained sense of vulnerability and suspense — fundamental traits of the survival horror genre.

Development Process

The development of LIGHTLESS followed an iterative and modular workflow, allowing experimentation with atmosphere and mechanics in parallel.

3.1 Early Prototyping

The first prototype focused on core controls — player movement, aiming, and shooting.

  • Implemented Unity’s 2D physics for movement and collision.
  • Added twin-stick control support for smooth aiming (keyboard/mouse or controller).
  • Integrated a basic lighting setup using Unity’s 2D Universal Render Pipeline (URP) and dynamic lights.

This phase established the essential feel of the player’s movement and vision, which dictated later design choices.

3.2 Core Systems

Once the player foundation was stable, I expanded development into the following systems:

  1. Player System - 360° aiming and shooting using raycasts or projectile physics. - Flashlight tied to the player’s facing direction, dynamically flickering to heighten anxiety. - Health and stamina systems encouraging cautious exploration.
  2. Enemy AI - Implemented a finite state machine (FSM) with patrol, chase, and attack states. - Enemies use raycast-based vision cones to detect the player through light and movemen - Sound-based attraction mechanic: gunshots or running can draw nearby enemies. - AI parameters (speed, aggression, vision range) adjustable via scriptable objects for fine-tuning.
  3. Lighting and Atmosphere - Dynamic 2D lights simulate claustrophobic spaces. - Global light intensity adjusts subtly based on player health or proximity to enemies. - Occasional light flickers and power failures simulate psychological unease.
  4. Audio System - Layered ambient soundscapes and procedural sound triggers (e.g., footsteps, breathing). - Directional 2D audio cues for approaching enemies. - Randomized sound events maintain tension even in quiet moments.
  5. Combat and Resource System - Limited ammo and reloading mechanics. - Damage feedback through screen tint and camera shake. - Lootable containers placed strategically to balance challenge and reward.

Technical Implementation

4.1 Architecture Overview

The project is organized around modular component scripts, enabling independent development and easy iteration.

SystemDescription
PlayerController.csHandles movement, rotation, shooting, stamina, and flashlight direction.
EnemyAI.csFinite state machine controlling patrol, chase, and attack behaviors.
GameManager.csOversees global events, pause state, and scene transitions.
AudioManager.csManages layered ambient tracks and sound effects.
LightingController.csAdjusts light intensity and flicker based on events.

This modular design allowed me to tweak systems independently, which was crucial for testing horror pacing.

4.2 Lighting System

LIGHTLESS relies heavily on Unity’s 2D lighting and post-processing stack.

  • Each enemy and environmental element interacts with dynamic light.
  • The player’s flashlight uses an animated intensity curve to simulate irregular battery behavior.
  • A fog overlay shader adds depth and obscures visibility at distance.

4.3 AI Behavior

The AI uses a state-based system structured around Unity’s Update() loop:

switch (currentState) { case Patrol: PatrolArea(); break; case Chase: ChasePlayer(); break; case Attack: AttackPlayer(); break; }

Transitions between states are triggered by:

  • Distance to the player.
  • Visibility (line of sight).
  • Sound events within a detection radius.

This system produces emergent, unpredictable encounters, increasing replayability and tension.

4.4 Optimization

Because multiple dynamic lights and AI agents can tax performance, several optimizations were employed:

  • Object pooling for projectiles and particle effects.
  • Distance-based deactivation for off-screen enemies.
  • Light culling masks to limit active illumination zones.
  • Minimal physics calculations via simplified colliders and kinematic movement.

These measures ensure smooth frame rates, even in dense or effect-heavy environments.

Challenges and Solutions

ChallengeDescriptionSolution
Performance Drop from Multiple LightsToo many overlapping 2D lights reduced framerate.Implemented light culling and adaptive light distance scaling.
Predictable AI BehaviorEnemies initially followed linear patterns.Added probabilistic state switching to create unpredictability.
Difficulty BalancingResource scarcity made some sections unfair.Introduced dynamic loot spawning based on player health and ammo.
Maintaining AtmosphereFrequent gunfire broke tension pacing.Introduced silent melee attacks and flashlight as secondary defense tool.

Each challenge led to meaningful refinements that deepened the core experience.

Testing and Iteration

Testing followed a playtest–feedback–adjust cycle focused on:

  • Player control feel – tuning acceleration, rotation speed, and aiming precision.
  • AI reaction times – adjusting sensory parameters for fair detection.
  • Atmospheric pacing – balancing dark quiet sections with intense encounters.

Feedback emphasized the strength of the light and sound interplay but suggested improving weapon feedback, which led to improved animations and sound layering.

Final Outcome

The final build of LIGHTLESS delivers:

  • A fully functional top-down survival horror system with dynamic AI and atmosphere.
  • Tense, emergent encounters driven by light, sound, and scarcity.
  • Optimized performance for stable gameplay at high resolutions.
  • Optimized performance for stable gameplay at high resolutions.

It successfully demonstrates how technical design and creative restraint can evoke psychological tension without relying on visual excess.

Insights and Lessons Learned

Developing LIGHTLESS provided valuable insights into both design and engineering:

  • Atmosphere is a System: Lighting, sound, and pacing must be treated as interacting systems, not separate layers.
  • AI Design Requires Imperfection: Slight randomness and delay make enemies feel more human and unpredictable.
  • Player Feedback is Emotional Feedback: Every animation, light flicker, or sound cue contributes to the player’s mental state.
  • Modularity Accelerates Creativity: Building loosely coupled systems enabled rapid experimentation without technical debt.

This project reinforced the importance of emergent design, where behavior and emotion arise naturally from rule-based systems.

Future Improvements

Planned or potential enhancements include:

  • Narrative Integration: Introduce environmental storytelling and a progression system.
  • Procedural Generation: Randomized map layouts for replayability.
  • AI Evolution: Enemies that adapt based on player behavior.
  • Inventory and Crafting: Deeper survival mechanics tied to exploration.
  • Dynamic Sound Simulation: Real-time reverb and occlusion for immersive audio.

These improvements would evolve LIGHTLESS from a mechanical prototype into a full-fledged, content-rich experience.

Conclusion

LIGHTLESS – 2D Top-Down Survival Horror Shooter stands as both a technical and artistic exploration of fear, resource tension, and atmosphere.

The project showcases my ability to:

  • Architect robust, modular gameplay systems.
  • Apply advanced lighting and AI techniques in Unity.
  • Iterate creatively through testing, feedback, and problem-solving.

Through LIGHTLESS, I deepened my understanding of how technical precision and creative restraint combine to craft emotionally resonant gameplay — an essential skill in modern game development.