Before Thesis
As my final thesis is about puzzle games, so I decided to make a puzzle game for my final project.
Before the thesis, I thought about what is the core of a puzzle game. How could I design a basic mechanic? What kind of basic mechanic would lead to an Aha moment.
I was quite inspired by GMTK’s video about the catch of the puzzle.
A puzzle seems cannot be solved directly, but you can solve it by using the basic mechanic correctly. This kind of transition always requires changing the perspective of considering the question.
GMTK’s example shows the catch would probably be something that causes conflict.
The most classic and simple puzzle would be the first level in Portal.

Standing on the button opens the door. But walking to the door would raise the button back up.
That is a conflict.
The answer, obviously, is to put the box on the button.
In a good puzzle, a catch would be solved by a deeper understanding of the basic mechanic.
A mechanic with possibilities could leave space for the players to discover.
So, I tried to find some basic mechanics in life with some possibilities.
The first thing that came to my mind was Magnetic. The magnet has two poles, they can attract each other or repel.
I’ve tried this, but it doesn’t work out. It is kind of hard to design such levels.
The puzzle about changing the poles of the magnet is kind of simple. And the interaction of the poles doesn’t have many possibilities. And the interaction between magnets is kind of complex.
With those ideas in mind, I decided to start my essay first. Some research could probably give me some hints about how to design the basic mechanic.
Thesis
I’ve played lots of puzzle games, like BABA IS YOU, WITNESS, A GOOD SNOWMAN IS HARD TO BUILD, SOKOBOND, and so on. They are all well-designed. So, I started to find out what is in common with those games.
BABA IS YOU

SOKOBOND

A GOOD SNOWMAN IS HARD TO BUILD

In my thesis, I have analyzed what in common about those games. And how to design the basic mechanic of the puzzle game.
According to my Theory, A good puzzle game mechanic should:
1 The goal should be clear
2 Mechanic should limit the player’s action
3 The Basic Mechanics should be simple and easy to understand
4 The mechanism allows hidden rules
5 The result of the player’s action should be discrete

Figure Puzzle Game Design Framework
That is the goal.
But how to achieve that?
In my discussion part:
- Start with everyday life
- Explore the basic mechanic
Prototype:
According to my framework, The grid-based system seems like a good choice. It could meet two of my rules.
1 The result of the player’s action should be discrete
2 Mechanic should limit the player’s action
Here comes a concept in the hidden rule space.
It means what is behind the rules. The interaction or the use of basic mechanics that could be figured out by the rules, but have not been shown directly to the player.
For example,


Magnet Paper Prototype
+- means the north pole and south pole of the magnet. Or it could mean the positive and negative electronic.
They are like the boxes in Sokoban, the only difference is that they got some electrons.
As you push the boxes with the same electrons together. They would repel.
Different electrons would combine and disappear.
It is kind of hard to design the levels and add a new mechanic.
I also did some research on how electronic particle and magnet works. Unfortunately, physic can not help me get some idea about how to change the mechanic. the prototype doesn’t work.
1Hard to design
2Can get a new mechanic
3Not much of an aha moment
4Not very fun to solve the problem
So, I start with the basics of a puzzle game.
The limit of the player.
I break down the elements of the Sokoban-like game.
For Sokoban, It has already limited something:
Players can only push the boxes. (Not Drag)
This rule cause that
- The box at the corner cannot be moved
- The box touching the wall can only move in a vertical or horizontal direction;
Players can only push the box. It seems like a limitation of the player’s actions.
That, I decided to limit the player’s movement.
Players can only move in the direction of collecting the arrow keys.
Same design as a game in GMTK Game Jam Out Control.
It was a 2D platformer game. You can drag the keys to interact with the scene.
Instead of controlling the movement of the character.
The input could control all the arrow keys.
With all these in mind, I built my first paper prototype.





Luckily worked!
It could meet all of my thesis.
The goal and rules are simple, clear, and easy to understand.
The mechanic allows hidden rules.
How the arrow combines would influence the final result, such as the shape of the combination.
Based on the paper prototype. I made the first version.

The exit is changed to the star. This change allows me to create more levels.
Having the prototype playtested, I found the player would lose interest after some levels.
So, the next thing that needs to be solved is the new mechanic.
I came up with some ideas about destroy, trap, button door, and so on.
But then I found those seem not to connect to my theme—-arrow key.
So, I tried to add some narrative to my name.
What could an arrow mean?
Maybe not only the arrow keys on the keyboard. But also something with direction. Wind, beam, light everything in our life. I was quite excited about the idea.
But how to design the new mechanic. Should I change the basic mechanic?
If I keep it, how can I make the new mechanic looks like a coherent part of my game.
I struggled for a long time.
But when I take a step back. What is the core of the puzzle game? —Puzzles, Of course.
The narrative may make it better but is not the key. The well-designed puzzle should be.
Based on the basic mechanic. I created some new mechanics:
- Destroy
- White Block
- Rotate
The key point of testing the new mechanic is to find the hidden rules of each mechanic:
But the common point is multiuse of new mechanics.
Depending on how to use it, it could be annoying or useful.
Example:
Destroy tiles could be dangerous, but also could be a useful tool to change the shape of a combination of arrow blocks.
Art Style:
I want to keep the game looking simple and clear. In the prototype, the art style looks like the old flash game. I made some changes to it.
Here is the second version of it.

The second version is more colorful. The color of the arrow blocks could show their direction; I always add some board to each block, which could help the player to know that the arrow would combine when they touch each other.

However, the board of the combination doesn’t work well.
So I tried another approach to show the combination—Meteballs Effect.


The meatball looks nice but cannot work in low pixels. To make the metaball effect looks nice, I have to change all the code of my basic mechanic. So, I give up on using the meatball effect.
To be honest, I am not good at drawing or coloring. After trying to change the color of my second version, It doesn’t work. Also, I got a little bit worried that the different colors would distract the player.
To avoid drawing assets, I use AI to generate some pictures for me to reference.

The little arrow at the right corner suddenly catches my eye. And it helped me to set the art style of my game.

By using just black and white color, my game looks simple and nice.
I am quite satisfied with the art style. The feedback of players also commended the art style XD.
Level Design:
Despite the same old things like(Difficulty curve, and tutorial).
One thing that I learned most was that player needs to get some achievement. After the tutorial teaches the player something, an easy level for them to practice what they have learned is important.
This is something I had been ignoring. I just kept focusing on the hidden rules, the core of each puzzle. Even for puzzle games, Two familiar puzzles may seem too easy, but it is also necessary for players to practice, to help them get a deep understanding of the game.
The way I would do the level design for the puzzle games is in three steps:
- Create interesting puzzles:
We are not talking about procedural generating like Sodoku. An interesting handmade puzzle might take lots of effort to make. We might create lots of puzzles, but it is necessary to just keep the good puzzles.
- Put them in order
We could sort them by difficulty. One more thing that we should pay attention to is the players’ thoughts. The order is not only about the difficulty, but also should follow the player’s thinking. Are they excepting something new or just more complex levels? Despite the difficulty, the player’s feeling is also important.
- Filled with some buffer
The buffer here means some space for the player. It could be a place for them to practice what they have learned. Or an easy level for them to have a break before introducing a new mechanic. Any kind of buffer would be a great idea to improve the player experience.
Photos of PlayTesting


