FNAAHS — Five Nights at Agoura High School

Game Design Document v0.2


Overview

Genre Survival Horror
Platform Web Browser (HTML/JS, image-based)
Perspective Static first-person — office desk POV
Win Condition Survive each night from ~10:00 PM to 8:30 AM
Lose Condition Caught by a teacher (see Kill Conditions)

Premise

You fell asleep in Mr. Oakman's office and got locked in the school overnight. Survive Monday through Friday. Each night gets harder. On Friday, nightmare versions of all teachers are active.


Menu Screen

Main Menu Layout

The main menu is displayed over a still photograph of the school at night — dark, empty hallways lit only by flickering fluorescent lights.

Menu Options:

Atmosphere:

Night Select Screen

Displays five doors labeled MON / TUE / WED / THU / FRI.

How To Play Screen

Displayed as a sticky note on a desk, handwritten-style font. Two pages, swipe or click to advance.

Page 1 — The Basics:

You're stuck in Oakman's office until 8:30 AM.
Watch the cameras. Manage your power.
Close the door if someone gets close.
The flashlight helps you check the room.
If Mr. Keys locks on — call Jeff. Immediately.

Page 2 — The Rules:

Don't stare at Oakmaster too long.
Don't let Lepesto see you watching him.
If Escobar gets in, answer her quiz. The Spanish is fake. Add O to everything.
Killacky doesn't show up on cameras. She's just there. Or she isn't.
Jeff saves you once. Once.

Game Over Screen

Win Screen (Per Night)


Characters

Teachers (Antagonists)


Mrs. Killacky — The Unseen

Mechanic: Never appears moving on any camera. Simply materializes in Oakman's office without warning. No approach animation. She is just suddenly there.

Kill: Appears in the office — instant death. Screen goes dark. No jumpscare. Just gone.

Counter: None. Pure paranoia. Check the office view often.

Unlocks: Wednesday (Night 3)

Voice Lines & Audio:

File Trigger
killacky_roll.mp3 Plays softly when Killacky is "in transit" — player cannot see her but she is moving
killacky_voiceline1.mp3 Plays when player has been looking at cameras too long without checking the office
killacky_voiceline2.mp3 Plays when Killacky was in the office but player was NOT looking — near miss
killacky_voiceline3.mp3 Plays randomly during her active window as ambient dread
killacky_eat.mp3 Game over sound — plays when Killacky kills the player

Suggested voice line content: unsettling ambient sounds, faint humming, or a single quiet word. No loud jumpscares — her horror is silence.

Game Over Screen — Killacky:


Oakmaster (Mr. Oakman) — The Wanderer

Mechanic: Roams the school hallways. Visible on cameras. Says "Gentlemen" when spotted. If the player watches him on camera for too long, he locks eyes with the camera and charges toward the office at alarming speed.

Kill: Reaches the office door and breaks in.

Counter: Close the door before he arrives. Don't stare.

Unlocks: Monday (Night 1) — always first.

Voice Lines & Audio:

File Trigger
gentlemen.mp3 Plays each time Oakmaster appears on a camera
oakmaster_charge1.mp3 Plays when he begins charging toward the office
oakmaster_charge2.mp3 Alternate charge line — plays if charge line already used recently
oakmaster_door.mp3 Plays when he reaches the office door
oakmaster_gameover.mp3 Game over sting when he kills the player

Suggested voice line content: "Gentlemen." delivered with increasing urgency each time. Charge line could be a loud echoing "GENTLEMEN!" down the hallway.

Game Over Screen — Oakmaster:


Mr. McCreamy — The Blinder

Mechanic: Wanders hallways and "splurges" on cameras, covering the lens and temporarily disabling them. Does NOT kill directly. Forces the player blind on affected cameras, enabling other teachers to move untracked.

Kill: Does not kill. Enables other teachers by removing visibility.

Counter: Switch to unaffected cameras. Wait for cameras to clear.

Unlocks: Tuesday (Night 2)

Voice Lines & Audio:

File Trigger
cream.mp3 Plays when McCreamy covers a camera — the sound of the camera being blocked
static.mp3 Plays on a blinded camera while it remains covered
mccreamy_roam1.mp3 Ambient sound when McCreamy is active and moving
mccreamy_roam2.mp3 Alternate ambient roam sound
mccreamy_clear.mp3 Plays when a blinded camera clears

Suggested voice line content: McCreamy does not speak. His sounds are environmental — wet, unsettling, abstract.


Mrs. Escobar — The Quiz Master

Mechanic: Spanish teacher. Extremely strict. If she reaches the office, she does NOT kill immediately. Instead she forces a Spanish Quiz Minigame. Fail = death. Pass = she leaves... for now.

Kill: Fail the quiz within the time limit.

Quiz Rules:

Counter: Close the door before she reaches you.

Unlocks: Thursday (Night 4)

Voice Lines & Audio:

File Trigger
quiz_start.mp3 Plays when Escobar reaches the office and quiz screen appears
escobar_approach1.mp3 Plays when Escobar is one camera node away from the office
escobar_approach2.mp3 Alternate approach line
escobar_correct.mp3 Short positive sting when player answers correctly
escobar_wrong.mp3 Game over sting when player answers wrong or times out
escobar_leave.mp3 Plays when Escobar leaves after a passed quiz
escobar_roam1.mp3 Ambient sound while Escobar is active and patrolling

Suggested voice line content: clipped, strict teacher tone. Approach lines like "I hope you studied." Game over line: a disappointed sigh.

Game Over Screen — Escobar:


Mr. Keys — The Stalker

Mechanic: If Mr. Keys sees the player on camera, he locks on permanently. He walks slowly and steadily toward the office. Cannot be shaken. Closing the door does NOT stop him — he opens it. Cannot be distracted.

He repeats:

Kill: Reaches the player. Whispers "Stay after class" up close. Screen fades. GAME OVER.

Counter: Jeff (one-time use only — see Jeff entry).

Unlocks: Wednesday (Night 3)

Voice Lines & Audio:

File Trigger
youre_my_favorite.mp3 Plays on loop while Keys is locked on and approaching
stay_after_class.mp3 Plays when Keys is close to the office / at the door
keys_lockon.mp3 Short sting that plays the moment Keys locks on to the player
keys_door.mp3 Sound of Keys opening the door
keys_gameover.mp3 Whispered game over line — "Stay after class..."
keys_roam1.mp3 Ambient sound while Keys is active but not yet locked on
keys_roam2.mp3 Alternate roam sound

Suggested voice line content: calm, unsettlingly cheerful tone throughout. The horror is in the pleasantness.

Game Over Screen — Mr. Keys:


Staff (Protagonist)


Lepesto — The Alerter

Mechanic: Wanders the school as a staff member. Generally harmless. However, if the player lingers on his camera and he makes direct eye contact with the camera lens, he alerts all currently active teachers, causing a temporary speed surge.

Kill: Does not kill directly. Triggers teacher surge.

Counter: Look away from his camera before he makes eye contact (~3 second threshold, shorter on Friday).

Unlocks: Tuesday (Night 2)

Voice Lines & Audio:

File Trigger
lepesto_roam1.mp3 Ambient sound as Lepesto wanders
lepesto_roam2.mp3 Alternate ambient roam
lepesto_alert.mp3 Plays the moment Lepesto makes eye contact and triggers the surge
lepesto_suspicious.mp3 Plays ~1 second before eye contact threshold — brief warning

Suggested voice line content: Lepesto doesn't know he's being watched. Alert line could be him calling out to a teacher by name down the hallway.


Jeff (Golf Cart Jeff) — The Hero

Mechanic: Jeff patrols the school grounds on his golf cart. One-time use per night. When activated, Jeff arrives, the player hops in, and is relocated to a different room (classroom).

Effect: Permanently cancels Mr. Keys' lock-on for the rest of that night. The ONLY counter to Mr. Keys.

Trade-off: The new room has the same cameras but two doors instead of one — double the power drain.

Unlocks: Available every night from the start.

Voice Lines & Audio:

File Trigger
jeff_cart.mp3 Plays when Jeff is called and arriving
jeff_save1.mp3 Jeff line when he picks up the player — "Hop in, kid." or similar
jeff_save2.mp3 Alternate save line
jeff_patrol.mp3 Subtle ambient sound when Jeff is visible on Cam 7 (parking lot)
jeff_used.mp3 Short sad trombone or ambient sting when Jeff button is unavailable

Suggested voice line content: Jeff is friendly, casual, unbothered. He's seen things. He doesn't ask questions.

Jeff Save Sequence:


Player Tools

Security Cameras

Door

Flashlight

Jeff Button


Night Progression (Monday – Friday)

Night 1 — Monday

Night 2 — Tuesday

Night 3 — Wednesday

Night 4 — Thursday

Night 5 — Friday (Nightmare)


Rooms & Camera Layout

Starting Room: Oakman's Office

Fallback Room: Classroom (via Jeff)

Camera Locations

Cam Location
CAM 1Main hallway — north (outside office door)
CAM 2Main hallway — south
CAM 3East corridor
CAM 4West corridor
CAM 5Cafeteria
CAM 6Stairwell
CAM 7Parking lot / exterior (Jeff's patrol zone)
CAM 8Classroom hallway (relevant after Jeff move)

Game Over Conditions

Character Kill Condition
Killacky Appears in the office — instant, no warning
Oakmaster Reaches door after being stared at on camera
McCreamy Does not kill directly
Escobar Player fails or times out on Spanish quiz
Mr. Keys Reaches player after lock-on (no Jeff used)
Lepesto Does not kill directly (triggers teacher surge)

File Structure

/FNAAHS/
  index.html              ← Entry point, loads game
  game.js                 ← Core game logic
  ui.js                   ← UI updates, camera switching
  teachers.js             ← Teacher AI / state machines
  audio.js                ← Sound management
  style.css               ← Layout and overlays

/FNAAHS/characters/
  oakmaster.png               ← Oakmaster on camera (static)
  oakmaster_charge.png        ← Oakmaster charging (close-up)
  mccreamy.png                ← McCreamy on camera
  mccreamy_splurge.png        ← McCreamy covering camera
  escobar.png                 ← Escobar on camera
  escobar_quiz.png            ← Escobar quiz screen close-up
  keys.png                    ← Keys on camera
  keys_close.png              ← Keys approaching (hallway)
  keys_gameover.png           ← Keys game over close-up
  lepesto.png                 ← Lepesto on camera
  jeff.png                    ← Jeff on golf cart (Cam 7)
  jeff_save.png               ← Jeff save transition screen
  killacky_gameover.png       ← Killacky in office (game over only)

/FNAAHS/backgrounds/
  office.png                  ← Player default room (Oakman's)
  classroom.png               ← Fallback room after Jeff move
  menu_bg.png                 ← Main menu background (school at night)
  cam1_hallway_n.png
  cam2_hallway_s.png
  cam3_east.png
  cam4_west.png
  cam5_cafeteria.png
  cam6_stairwell.png
  cam7_parking.png
  cam8_classroom_hall.png

/FNAAHS/ui/
  camera_panel.png            ← Camera switcher overlay
  door_button.png             ← Door close button
  jeff_button.png             ← Jeff call button
  jeff_button_used.png        ← Jeff button greyed out state
  power_bar.png               ← Power indicator
  flashlight_overlay.png      ← Flashlight circle effect
  howtoplay_page1.png         ← How to play sticky note page 1
  howtoplay_page2.png         ← How to play sticky note page 2

/FNAAHS/audio/
  — OAKMASTER —
  gentlemen.mp3               ← Oakmaster spotted on camera
  oakmaster_charge1.mp3       ← Oakmaster begins charging
  ...
  (Full Audio List Truncated for display)

Coding Overview (HTML/JS)

Core Loop

Teacher State Machine

Each teacher has its own state machine:

IDLE → MOVING → PROXIMATE → ATTACKING

Camera System

Door System

Power System

Jeff Save

jeffUsed = false  // reset each night

// On activation:
// 1. Play jeff_cart.mp3
// 2. Show jeff_save.png transition screen
// 3. Play jeff_save1.mp3 or jeff_save2.mp3
// 4. Set currentRoom = "classroom"
// 5. Enable second door
// 6. Cancel Keys LOCKED_ON state
// 7. Set jeffUsed = true — disable button

Escobar Quiz Minigame

Lepesto Eye Contact

// If player views Lepesto's camera:
//   start eyeContactTimer
//   threshold = ~3000ms (Night 1-4), ~1500ms (Night 5)
//   play lepesto_suspicious.mp3 at ~1000ms as warning
//   on threshold: play lepesto_alert.mp3, trigger teacherSurge()
//   teacherSurge() increases all teacher speeds for 10 ticks

Killacky

// Every X seconds (random interval):
//   roll killacky appearance chance
//   if player IS viewing office or desk: GAME OVER
//   if player is NOT viewing office:
//     she was there but left — flicker office cam
//     play killacky_voiceline2.mp3
// Frequency and chance increase on Night 5

Win Condition


Night Intro Dialogue (Phone Guy)

Monday:

"Hey, uh... welcome to your first night. So you're stuck in Mr. Oakman's office. Not ideal. He wanders. A lot. Just... don't stare at him too long on the cameras. He doesn't like that. Anyway. Good luck."

Tuesday:

"Okay so, Mr. McCreamy is also around now. He gets on the cameras. You'll know when it happens. Also Lepesto is doing his rounds. He's harmless unless he sees you looking at him. Then he tells everyone. So. Don't do that."

Wednesday:

"So. Um. Mrs. Killacky. Yeah. We don't really know how she moves. Or if she moves. She's just... sometimes there. Also Mr. Keys is active tonight. If he sees you, just call Jeff. Don't wait. Call Jeff immediately."

Thursday:

"Mrs. Escobar is patrolling tonight. If she gets in, she will quiz you. The Spanish is not real Spanish. You just add O to things. Run is runo. Jump is jumpo. You'll figure it out. Probably. Keep the door closed."

Friday:

"...I'm not going to sugarcoat it. Everyone is faster tonight. Killacky is worse. Keys is worse. The power drains like crazy. You have Jeff. Use him smart. Survive until 8:30. The bell will save you. Good luck."

FNAAHS GDD v0.2 — last updated Night 5