Inspiration

I’ve been building a small browser-based 2D platformer inspired by games that play with player trust.

The core mechanic is simple: reach the exit door.

The twist is that the level isn’t honest.

Some platforms look completely static but slide away after a short delay. Some spikes activate only when you commit to a jump. Certain sections introduce temporary anti-gravity to flip movement expectations.

Instead of making everything chaotic, I focused on psychological timing:

Platforms don’t move immediately

There’s a small delay to build confidence

Most platforms behave normally so players develop trust

Then a few “betrayal” elements break that trust

Technically, this is built using HTML, CSS, and JavaScript (Canvas). One of my main challenges was:

Designing a modular trap system that can trigger on proximity, timer, or collision

Preventing physics glitches when platforms move after player contact

Making the game fully responsive for both desktop and mobile

Implementing touch controls without breaking desktop keyboard input

Handling gravity reversal cleanly without collision bugs

Mobile responsiveness turned out to be harder than expected. I had to rethink fixed pixel sizing and restructure scaling logic so gameplay remained consistent across screen sizes.

I’m currently experimenting with:

Controlled randomness in trap activation

Subtle animation cues before movement

Improving death feedback without making it frustrating

Better visual language so deception feels clever instead of unfair

I’d really appreciate feedback from other devs on:

Balancing “fair deception” vs frustration

Structuring scalable trap systems

Best practices for responsive canvas-based games

Gravity reversal implementation without physics side effects

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for LEVEL DEVIL

Built With

  • browser-based
  • css3
  • deployment
  • git
  • github
  • html5
  • html5-canvas-api
  • javascript-(es6)
  • responsive-web-design
  • touch-events-api
Share this project:

Updates