Skip to content

Nekuzaky/FacilityOmega

Repository files navigation

FACILITY OMEGA

"You thought you were Dr. Elias Crane. You're just the vector."

⚠️ Experimental project. This game was built to test how far an AI can go on a full Unity project — code, narrative, systems, architecture — with minimal human intervention. The result is raw, imperfect, and sometimes broken. That's the point.

Facility Omega is a 3D top-down survival horror game generated 100% by AI — code, audio, visuals and narrative included. No external assets. Everything is procedural.

This is not an AAA game. It was never meant to be. It's an experiment: how far can you push an LLM to build something playable, coherent, and (vaguely) scary? The answer sits somewhere between "further than expected" and "not quite there yet".

Unity 6 URP Version License


Synopsis

Deep beneath the streets of Paris, 400 meters underground, lies Installation Omega — a secret military laboratory whose mission was to synthesize a neural control agent derived from a mutant fungus: SUBSTANCE-X.

You play Dr. Elias Crane, project lead. Or at least, that's what you believe.

The twist: You are Subject-47 — the first human infected by SUBSTANCE-X, which modeled itself on Crane's memory structure. You believe you're human. SUBSTANCE-X is using you as a vector to reach the surface.


Quick Start

Generate the scene (1 click)

  1. Open Unity 6 with URP
  2. Menu: FacilityOmega > Build > Generate Game Scene
  3. Press Play

Setup Wizard

To configure an existing scene: Tools > FacilityOmega > Setup Wizard

The wizard automatically sets up:

  • System singletons (ScreenshakeSystem, HitStopSystem, SaveSystem, DynamicDifficulty)
  • Player (FootstepSystem, AudioSource)
  • UI Canvas (PauseMenu, CompassUI, ContextualTutorial)
  • Enemies (patrols + auto-waypoints, cooperative pairs)
  • Secret zones (SecretZone + trigger collider)
  • Full scene validation

Controls

Key Action
W A S D / ↑ ↓ ← → Move
Shift Sprint (drains stamina)
Ctrl / C Crouch (stealth, reduced noise)
F Flashlight on/off
E Interact (doors, items, terminals, lockers)
G Deploy sound lure
Escape Pause

Gameplay Systems

Sanity

Sanity (0–100) is the core of the horror system. The lower it drops, the more the world distorts around you.

Threshold Effect
100–60% Light vignette, subtle chromatic aberration
60–30% Lens distortion, camera drift
30–15% Pulsing distortion, heavy film grain
15–0% Glitch flicker, violent camera shake, Shadow Entity spawn

Sanity drains from: darkness, seeing an enemy, traumatic logs, Director of Mycelium aura, SUBSTANCE-X surges.

Sanity restores from: safe zones, checkpoints, shadow zones (ShadowSafeZone).


Stealth & Detection

Every enemy has a detection gauge visible above their head:

Color State
🟢 Green Patrolling / Unaware
🟡 Amber Suspicious
🔴 Red Detected — chasing

The gauge fills gradually — breaking line of sight in time cancels detection.

Shadow zones (ShadowSafeZone): reduce enemy vision range by 45%.


v0.4.0 Systems

System Description
ScreenshakeSystem 5 named profiles (BossAttack, Explosion, FootstepHeavy, ImpactLight, SubstanceCloud) with AnimationCurve decay
HitStopSystem Freeze Time.timeScale for 2–4 frames on impacts
FootstepSystem Surface-based sounds (Metal/Concrete/Water/Grating), adaptive volume per stance
EnemyPatrol Inspector waypoints, random idle behavior, AlertNearby()
CooperativePursuit Pursuer/Interceptor pair — interceptor predicts player position
PauseMenu Escape toggle, AudioMixer sliders, glitch FX on open
SaveSystem 3 JSON slots in persistentDataPath, AutoSave()
CompassUI Directional icons for sounds >8 units, 3s fade
ContextualTutorial One-shot PlayerPrefs hints, TMP bottom-screen label
SecretZone Reveal after 3s presence, exclusive SUBSTANCE-X log, rare item
DynamicDifficulty −20% enemy range after 3 deaths / −35% after 5 deaths per zone

Sound Lures

[G] — Attracts all nearby enemies. The Guardian is immune (temporary distraction only). Lures last 10 seconds. Restock in golden lockers.

Static Radio

[E] on the radio — Directional radar for nearby enemies. Disrupts the Director of Mycelium (no-teleport zone 20s within 6m radius).


Enemies

VESTIGE — Stage 1

Pale grey-green | Slow | Linear patrol | Repeats names of loved ones. Distracted by lures.

PARASITE — Stage 2

Chitinous purple-black | Fast | Flanker | Circles around the player. Highly noise-sensitive.

GUARDIAN — Final stage

Dark mutated flesh | Very slow | Lure-immune | Cannot be stopped — only avoided.

SHADOW — Hallucination

Blue-black | Spawns at sanity < 40% | Only exists in your mind — but it still hurts.

THE DIRECTOR OF MYCELIUM — Boss

Void black + green particles | Zone 03 + Reactor

Teleports between fixed anchors. 3 phases based on player sanity (interval 20–30s → 5–10s). Aura: −70% flashlight range, −20 sanity/sec. Weakness: static radio.


The 3 Endings

Ending Condition Outcome
A — SACRIFICE Exit door A, Zone 03 You die. The world is saved.
B — PROPAGATION Exit door B without antidote SUBSTANCE-X reaches Paris.
C — ANTIDOTE (secret) 3 antidote parts collected Cure. True victory.

Zone Map

[SPAWN] Z01 QUARANTINE ──── keycarded door ────▶ Z02 LABORATORIES
                                                        │
                                            ┌───────────┼───────────┐
                                          MORGUE   CONTROL ROOM     │
                                                        │
                                            Z03 CORE ───┘
                                                  │
                                            OMEGA REACTOR
                                                  │
                                            EXIT DOOR
Secret room Access Interest
MORGUE West wall Z02 6 lockers, log_009 (identity reveal)
CONTROL ROOM Corridor Z02↔Z03 3 terminals, installation map
OMEGA REACTOR East wall Z03 SUBSTANCE-X origin, boss anchor

Code Architecture

Assets/_Project/FacilityOmega/Scripts/
├── Core/
│   ├── FacilityBootstrap.cs        — System initialization
│   ├── FacilityColors.cs           — Canonical color palette
│   ├── FacilityGameManager.cs      — Global state machine
│   ├── HitStopSystem.cs            — timeScale freeze on impacts
│   ├── NoiseSystem.cs              — Movement noise → enemy detection
│   ├── SanitySystem.cs             — Sanity [0–100] + events
│   └── ScreenshakeSystem.cs        — 5 shake profiles with decay curve
│
├── Player/
│   ├── PlayerController3D.cs       — WASD movement + stance + stamina
│   ├── PlayerCamera3D.cs           — Overhead top-down camera, instant snap
│   ├── PlayerHealth3D.cs           — HP + temporary invincibility
│   ├── PlayerInteraction3D.cs      — [E] detection via SphereCast
│   ├── PlayerInventory3D.cs        — Keycards, logs, antidote
│   ├── FlashlightSystem.cs         — Battery, toggle [F]
│   ├── FootstepSystem.cs           — Surface sounds + adaptive volume
│   └── StaminaSystem.cs            — Sprint stamina + panting
│
├── Enemies/
│   ├── EnemyBase3D.cs              — Base AI: patrol/alert/chase/attack
│   ├── VestigeEnemy.cs             — Stage 1
│   ├── ParasiteEnemy.cs            — Stage 2
│   ├── GuardianEnemy.cs            — Final stage
│   ├── ShadowEntity.cs             — Hallucination
│   ├── CoreEntity.cs               — Boss: teleportation + aura
│   ├── EnemyPatrol.cs              — Waypoints + random idle + AlertNearby()
│   ├── CooperativePursuit.cs       — Pursuer/Interceptor pair
│   └── DetectionGauge.cs           — World-space gauge above enemies
│
├── Systems/
│   ├── SaveSystem.cs               — 3 JSON slots in persistentDataPath
│   └── DynamicDifficulty.cs        — −20%/−35% enemy range per zone
│
├── Level/
│   └── SecretZone.cs               — 3s reveal + exclusive log + rare item
│
├── Gameplay/
│   ├── SoundLureSystem.cs          — Sound lure [G]
│   ├── StaticRadio.cs              — Directional enemy radar
│   ├── OrderedSwitchPuzzle.cs      — Sequence puzzle
│   ├── MemoryEchoZone.cs           — Ghostly replay zones
│   └── SubstanceCloud.cs           — SUBSTANCE-X cloud
│
├── UI/
│   ├── FacilityHUD.cs              — Main HUD
│   ├── PauseMenu.cs                — Pause + AudioMixer + glitch FX
│   ├── CompassUI.cs                — Directional sound icons
│   ├── ContextualTutorial.cs       — One-shot TMP hints
│   ├── FacilityPauseMenu.cs        — Advanced pause menu
│   ├── FacilityDeathScreen.cs      — Death screen
│   └── FacilityEndingScreen.cs     — Ending cinematic
│
└── Editor/
    ├── FacilitySceneBuilder.cs     — Generates full scene in 1 click
    ├── FacilityGameplayBuilder.cs  — Mechanics, secret rooms, boss
    ├── FacilityAutoLaunch.cs       — Auto-launches scene in Play Mode
    └── FacilityOmegaSetupWizard.cs — Configuration wizard (Tools menu)

100% Procedural Audio

No external audio files. All sounds generated mathematically by ProceduralAudioSynth.cs:

Sound Method
Industrial drone Additive synthesis 55 Hz
Heartbeat Exponential envelope, speeds up near enemies
Whispers Filtered formants + white noise
Static burst Filtered white noise
Distant moan Modulated low frequency

Color Palette

Zone / Element Color Hex
Zone 01 Quarantine Emergency crimson #D90D0D
Zone 02 Laboratories Cold steel blue #628BE6
Zone 03 Core Deep void crimson #800000
SUBSTANCE-X Bioluminescent green #0DF226
Omega Reactor Teal-green #00D98A
Terminal UI Phosphor green #00FF33

Changelog

See CHANGELOG.md for the full history.

Version Highlights
v0.4.0 ScreenshakeSystem, HitStopSystem, FootstepSystem, EnemyPatrol, CooperativePursuit, PauseMenu, SaveSystem, CompassUI, ContextualTutorial, SecretZone, DynamicDifficulty, Setup Wizard
v0.3.0 SUBSTANCE-X narrative, 3 endings, RoomBuilder Editor, NoiseSystem, LightFlicker
v0.2.0 PlayerController, EnemyVision, Sector 7, audio manager
v0.1.0 Unity 6 URP scaffold, GameManager, project structure

Contributing

See CONTRIBUTING.md for code conventions and commit style.


Credits & Contributors

Role Contributor
🎮 Game Director / Human Nekuzaky
💻 Development — code, architecture, systems Claude Sonnet (Anthropic)
🧠 Reflection — design decisions, game design ChatGPT / GPT-4o (OpenAI)
🔍 Research — documentation, Unity references Perplexity AI
🔬 Analysis — code review, narrative coherence Gemini (Google)

On authorship: Nekuzaky directed the project. Four AIs collaborated, each in their own lane — Claude built, ChatGPT thought, Perplexity researched, Gemini reviewed. Whether that makes this a team effort or a very expensive argument between language models is left as an exercise for the reader.


License

MIT — Copyright © 2026 Nekuzaky


"The AI that made this game didn't do it to scare you. It did it to show you what it's capable of. Just like SUBSTANCE-X."

About

⚠️ Experimental project. This game was designed to test how far an AI can go on its own with a complete Unity project—code, narrative, systems, architecture. The result is raw, imperfect, sometimes wonky. That's the point.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors