Generic placeholder image Intra
Dim the Lights

Controls

  • WASD / ZQSD / Arrow keys - Moving
  • Space key / Left Mouse Click - Action
  • Left Mouse Down - Looking right/left
  • M - Toogle Music and/or SFX

Screenshots


...
...
...
...

INTRA

Lost in a strange garden, you only have one solution: find the exit.
Each stage of this exploration will bring you deeper inside a dark world and make you face your true nature.

Are you ready to survive?

Behind the game

This game started as a technical experimentation. I was trying to reproduce the famous SNES mode 7, aiming at creating a Mario Kart-like game. Wishing for optimization, I read some theory and tutorials. I was permanently coming across references to raycasting and I finally decided to write a small rendering engine. Once the engine ready, the first virtual experiences were really immersive. It was perfect for a dark and scary game.

Inspired by titles like Resident Evil or Alone in the Dark, the majority of the game was designed in a few days. Having the final project vividly present in my mind during the process of creation was a powerful asset. Finally the game is quite short and, even if there are some obvious design flaws, I really enjoy the result.

Inside the game

Programming

Mainly based on F. Permadi tutorial, building this raycasting engine was fun. I experimented a bit, adding transparent tiles using ColorTransform, and animated textures for the walls.

The level design implied the use of two techniques I didn't prior to before this project:
Labyrinth generation and pathfinding.
It was easy to find study materials since both are commonly used techniques. I used a mix of recursive backtracking and randomized Prim's algorithm for the labyrinth generation.
A standard A* algorithm was used for the sphere pathfinding.

Game Design

I've always been fascinated by the procedural generation of levels, I find it a fantastic way to offer a new experience at each play. But I think I have always used it really badly.
I though it could compensate my lack of skill in level design, but I finally realized that procedural content isn't magic. It requires a complete control from the designer to ensure that every generated level will be playable and offer a similar experience.

At first, the levels with the sphere were really unequal, too easy or almost impossible. I had to influence the structure of the level by judging its feasibility. It's still not perfectly balanced but the range of difficulty narrowed to something acceptable.
To be sure that the game remains beatable by everyone, the velocity of the sphere is slightly decreasing at each trial.

Sound Design

I wanted a really immersive soundscape since the atmosphere is primary in this kind of game. I experimented for the first time the recording of live sounds. Thus I recorded my footsteps in various places, and the elevator SFX's are a mix of a real elevator and automatic fences.
Of course some audio editing has been necessary.

Graphics

While I was usually using dynamic vectorial drawings, I tried for the first time to draw the graphical assets. This first experience with pixel art was a real pleasure but, due to my lack of practice, it was also time consuming.