How to make a horror game for free with this comprehensive guide. From concept creation to distribution, unleash your creativity and scare players worldwide. we’ll show you step-by-step how to create a horror game on the Scratch platform—a mystical labyrinth with a jump scare—a terrifying image of Huggy Waggie that suddenly appears.If you prefer to study the lesson in video format, we’ve included a video with instructions at the end of the article.
How to Make a Maze Game in Scratch: Background and Character
First, we need to draw the background—the maze we need to navigate. We’ll paste a suitable image from the internet and then resize it to fit the playing field.

Next, outline all the maze’s boundaries in black to use them as sensors later. To do this, select the Line tool, set the size to 10, and apply it to all visible lines. Draw the finish line and highlight it in a different color, for example, yellow, as in our tutorial.

Now we select a sprite, that is, the character who will navigate the maze. We’ll use a simple ball, but you can draw your own character or use pre-made ones from the sprite library on the Scratch website.
How to create a code for a game
The next step is writing a script for our hero.
So, let’s build the program. When the checkbox is pressed, select the “Show” command and set the object’s size. It’s important that it fits within the boundaries and can move freely within the maze. We chose a size of 60.

After that, we’ll navigate to the maze’s starting coordinates (-222; -156) and define the ball’s controls. We’ll set up an infinite loop called “Repeat Forever” and define four movement conditions within it. They’ll look like this:
1. If the Up Arrow key is pressed, change “y” to 6.
2. If the Right Arrow key is pressed, change “x” to 6.
3. For simplicity, we copy the two previous conditions and set a third: if the “Down Arrow” key is pressed, change “y” to -6.
4. Now the fourth condition: if the Left Arrow key is pressed, change “x” to -6.
In our opinion, switching to 6 and -6 produces good speed. Entering coordinates 10 and -10 would have been too fast and complicated.

We’ll set up two conditions with color sensors. The first will be triggered when the ball touches the black edges of the maze, indicating a loss. The second condition will symbolize victory, triggered when our character touches the yellow finish line.
Scratch Hagi Vagi: adding a screamer to our game
The next step is to make the game more horror-like and add a jump scare. For this, we’ll use a scary image we found online of Hagi Vagi, a popular children’s toy.
Let’s write some code for the ball. When it touches the black color, that is, the boundary of the maze, the “Receive Message 1” command will be triggered, and when “Message 1” is received, the “Hide” command will be triggered. That is, as soon as the ball touches the boundary, it will disappear.

Let’s move on to the screamer script. Upon receiving “Message 1,” it needs to “Show,” and when the flag is checked, it needs to “Hide.” Set the desired size to 200% and enter the “Stop All” command.

Let’s create a new sprite in which we’ll write “Victory” using the Text tool.
And let’s add a small script for the caption. When the flag is clicked, you need to “Hide.” When the “Victory” message is received, you need to “Show” and move to the center of the field, that is, to coordinates (0;0). We’ll also set the caption’s size to 200% to make it larger.
Making horror in Scratch scarier
Now comes the fun part. Our labyrinth isn’t particularly scary yet, and it’s hard to call it a horror game. What can we do to add creepy effects? For example, we could program the game board so that we can only see part of it, and plunge the rest into darkness, that is, fill it with black.
To do this, create a new sprite and draw a circle. Then, using the “Reshape” tool, transform the circle into an arc, copy it, and flip it horizontally. Then, connect the two parts to create a hole in the center through which we’ll view the game.
Now we need to color the remaining parts of the game board. We’ll do this using rectangles. Select all the resulting shapes, group them together, and color them black.

We position our shadow so that the ball falls into the hole and begin writing the script. When the flag is pressed, we need to play the “Show” command and go to coordinates (-162; -149). Copy the ball’s movement script and paste it in place of the shadow, since it will move with the character.
From the copied script, we remove the part that is dedicated to touching the colors (shadows, finish line).
We add two commands: when receiving “Message 1” you need to “Hide”, the same must be done when receiving the “Victory” message.
Checking the game
Let’s check how it all works. If we’ve done everything correctly, when the ball touches the edge of the maze, a jump scare plays, the game stops, and the ball hides. Let’s try a different scenario and reach the finish line. The character crosses the yellow line, and we receive a victory notification.
There was just one minor flaw in our game: we didn’t completely fill the shadow with black. Let’s go back and fix that using black rectangles.
Our horror maze is ready. In the future, you can create game levels with more complex mazes and more unpredictable jump scares.