Posted December 17, 2025 by No BS
#Scare System
When we talk about AI in games, we don’t really mean artificial intelligence.
What we mean is behavior — carefully authored illusions designed to feel intelligent, unpredictable, and scary.
For this horror project, the goal isn’t to build a perfect thinking machine.
It’s to control tension, pacing, and player psychology while making the enemy feel aware and alive.
So instead of going full GenAI or overengineering with systems that aren’t needed yet, I’m building a modular, director-driven enemy behavior system that fakes intelligence convincingly.
Below is a breakdown of how the current system works.
At the top of the system is the Director.
The Director doesn’t move the enemy or trigger scares directly.
Instead, it controls pacing and tension:
Prevents constant jumpscares
Manages buildup → peak → release cycles
Decides when the enemy is allowed to act
Ensures the player gets breathing room after intense moments
Every action the enemy wants to perform goes through the Director first.
If the tension budget allows it, the action happens.
If not, it’s denied or delayed.
This keeps the experience scary without becoming exhausting.
The Agent is the enemy itself.
Rather than hardcoded logic, the enemy is built from Action ScriptableObjects:
Move
Teleport
Appear
Chase
Vanish
Fake-outs (feints)
Each action has:
An intensity curve that defines when it’s allowed (based on tension)
Parameter curves (speed, distance, duration)
Authorable values for fine tuning
This makes behavior feel dynamic without randomness chaos.
The agent can intentionally lie to the player:
Start a chase, then vanish
Appear from one direction, reappear from another
Trigger movement sounds without visual confirmation
The goal is to make players question what they saw, not just react to it.
The player constantly emits information.
These are handled through Emitters, such as:
Idle Emitters – standing still for too long
Area Emitters – entering or staying in risky zones
Trigger Emitters – interacting with objects
Mic Emitters – making noise
Emitters don’t force actions.
They simply inform the system that the player did something.
The agent asks the Director:
“Can I respond to this?”
If the budget allows, the enemy reacts.
If not, the system waits — creating delayed fear and unpredictability.
Scares are handled separately from core behavior.
The Scare System:
Randomly selects from authored scare events
Triggers visual, audio, or movement-based scares
Avoids repeating patterns
Is gated by the Director to prevent spam
Scares can include:
Sudden appearances
Lunges toward the player
Disappearing when looked at
Environmental sounds and movement
The key idea:
Scares should feel earned, not constant.
This system is:
Modular
ScriptableObject-driven
State-machine based
Easy to tune via playtesting
Behavior Trees or GOAP may come later, but right now the rule is:
If it’s not needed, don’t do it.
The illusion matters more than the complexity.
This is still early, and a lot will change as playtesting continues — but the foundation is already flexible enough to grow without breaking.
A fully customizable mode where players can tweak:
Time of day
Number of notes to collect
Enemy aggression and behavior tuning
Designed for both accessibility and challenge runs.
A dedicated VR mode is planned:
Reworked pacing for VR comfort
Adjusted scare timings
Presence-first enemy behavior
Fear hits differently in VR — and the system is being built with that in mind.
More dev logs soon as the systems evolve.
Thanks for reading, testing, and supporting a solo dev trying to scare you responsibly.