QB
Made as part of a solo puzzle game assignment, QB’s intention was to be as relaxing as possible. It even has a skip level button!
After all, most puzzles can be a bit frustrating at times.
Simplistic shapes with warm fluffy tones, QB is the first game where I really dipped my toes into post-processing, with the game heavily utilizing ambient occlusion, bloom, colour correction and more. It also involved making some simple 3D assets using Blender, such as the columns and the decorated pieces. As for the game itself, it’s relatively simple, you can rotate the world.
For the finishing touch, I also added ambient birds that would land and chirp.
Pre-planning
The project assignment was simple: We were effectively handed a template where you could roll a cube around, and you had to build a game around that mechanic. Brainstorming resulted in an idea where you could rotate the entire world to help get to unreachable places.
I wanted the game to stand out among the other projects, so I decided to go for a slight twist: most puzzle games were intended to be challenging, but this would be more oriented towards relaxing. Soothing music, calm visuals, a nice atmosphere was the player slowly works their way through puzzles.
Gameplay
Like most of my other games, most of the sub mechanics were built around a core gameplay mechanic. In this case that being mechanic to rotate the world in any 4 directions. Ideally, the game would also be easy to pick up for players, yet still have enough complexity to allow interesting puzzle variation between levels. Thus, the gameplay was designed with 5 rules:
The player could move around and push certain blocks.
The player could rotate the world at anytime, anywhere.
Pushable blocks would become frozen in place, if there was nothing underneath them after the world was rotated.
If the player falls off the level, the level restarts.
The player must reach the green block to win the level and advance.
The blocks in particular allowed players to leverage the main mechanic and traverse between areas (including empty areas of space) by using them as makeshift platforms. There was also a piston-and-button mechanic added in later in the game, however it was only used in 1 level due to time constraints.
Graphics
The game was intended to have simple, yet eye pleasing and functional 3D model design. Tiles were added as part of the level design to give a sense of space and a simple column was modelled in Blender to give a bit of variety to the level design; as were sets of bricks.
One issue that quickly showed up early on was the lack of visual depth in the game’s levels. The game used a standard isometric orthographic camera, and had the side effect of making changes in height and altitude more subdued since there was no perspective cue. To remedy this a simple shader was made in Unity’s Shader Graph, where it would take an input colour for the material, and mix it with a gradient based on the altitude of the object relative to the camera. Practically, this was used to lighten objects further up, and darken objects further down; giving a better sense of depth.
Colour cues were used to indicate items of interest. Saturation and vibrant colours were used for pushable blocks, the player, as well as the objective target to draw attention and make these important elements stand out.
Lastly, to help make the gameplay as seamless as possible and to prevent breaking the flow of gameplay, the game also transitions from one level to another without any menus or loading screens in between, simply having the player fall from one level into the next. This was very much inspired by Human: Fall Flat, which uses a similar system.