itch.io is community of indie game creators and players

Devlogs

devlog :)

SLEEPLESS
A browser game made in HTML5

Devlog – “SLEEPLESS” (4-Day Development Log)

A first-person sleep paralysis horror game

Day 1 — Idea Struggles & First Steps

Today I finally sat down and tried to actually start this jam project.
I made the main menu before I even knew what the game was supposed to be, because I was completely stuck on the idea. I almost went with a simple escape room concept before deciding against it.

Then the idea hit:
A first-person POV sleep paralysis horror game.
You’re lying in bed at midnight, staring into a dark doorway. You can’t move. Something is out there.

Even though the idea finally clicked, I didn’t know whether I wanted the game to be scary, story-heavy, or purely atmospheric. But I decided to just start building something instead of wasting time wondering.

What I got done:

  • Fade-in screen effect

  • Basic dialogue system

  • Placeholder background and monster sprite

  • A working in-game clock

The biggest issue today?
The clock label was rendering above my fade transition, even though the transition was set to a higher Z-index. It made the opening scene look terrible.

After a lot of frustration, the fix was simple:
→ Put the fade overlay inside a CanvasLayer placed above everything.

That instantly solved the problem.

After that, I lost all motivation and procrastinated. So that was Day 1.

Day 2 — Panic Mechanics, Monster Logic & Jumpscares

Today I actually started turning this into a playable game.

I added:

  • The panic bar (main mechanic)

  • Wrong-key panic spikes

  • The blink mechanic (which i later scrapped)

  • The jumpscare

The jumpscare fought me the entire day.

The sound refused to play. No matter what I did, it stayed silent.

The fix ended up being something I never expected:

await get_tree().process_frame jumpscare_sound.play() 

Godot needed one frame after making the node visible before it would play audio.

I also added:

  • Screen shake

  • Heartbeat audio

  • Hiding UI during the scare

  • Resetting panic to zero

First time the full scare sequence actually worked was the first time the game felt real.

But unfortunately, I had to completely get rid of the blink mechanic as it interfered with the key-pressing for the actual gameplay. I didn't want to waste more time on trying to make a loop-around, so I moved on.

Day 3 — 12-Hour Clock, Difficulty Curve, Day Transition, and Endings

Today was a big systems day.

1. 12-Hour Clock Fix

I rewrote the clock so it uses 12-hour format instead of 24-hour.
AM/PM conversion, zero padding, everything.

2. Difficulty Curve

I discovered the game already got harder naturally (panic thresholds rising over time), and then leaned into it by increasing:

  • Monster speed

  • Panic gain

3. The 6 AM Morning Ending

This was the most complicated thing so far.

At 5 AM:

  • Gameplay freezes

  • Monster disappears

  • All sounds fade

  • Screen fades to black

  • Background switches from night to day

  • A short morning dialogue plays

  • Then you get returned to the main menu

But the transition was a nightmare:

  • No fade

  • Background wouldn’t switch

  • Dialogue didn’t appear

  • Even worse… the the screen shook like crazy during the day transition, and I think i got about a million headaches trying to fix it

Fixes:

  • Make sure transition overlay is in its own CanvasLayer

  • Hide monster before fading

  • Disconnect leftover signals

  • Use proper tween callbacks

Finally, it worked smoothly.

4. Typewriter Dialogue

I replaced instant text with a typewriter effect so the ending narration feels cinematic.

Today felt like finishing the core structure of the entire game.

Day 4 — Secret Ending, Tutorial Rewrite & Final Polishing

Today was all polish and special endings.

1. Secret Ending (Tutorial Counter)

I made a hidden ending where if the player stays in the tutorial panel for 60+ seconds, they unlock a secret “failed to act” ending.

The timer originally didn’t work because it only triggered if the player never clicked Next.
I rewrote it so it checks whether the panel is visible, even if buttons are clicked.

After rewriting the logic, the secret ending finally triggers correctly.

2. Tutorial Dialogue Rewrite

You lost the original tutorial text, so I recreated it to match the tone:

  • Someone guiding you through sleep paralysis

  • Slightly cryptic, but not a menacing narrator

The new version gives the intro much more personality.

3. Jumpscare Improvements

I improved the scare by adding:

  • Faster shake

  • Stronger audio

  • Frame-freeze effect

  • One distorted sprite frame

5. Bug Fixing

Fixed:

  • Dialogue triggering too late

  • Overlay appearing behind UI

  • Multiple duplicate signal connections

  • Monster still appearing during transitions

  • Clock running during cutscenes

And.. done! The work was finally over, just to create a simple game. But, it may be too hard.. oops...

Files

  • index.zip 15 MB
    29 days ago
Download SLEEPLESS
Leave a comment