Sugui web

The rabbit hole of sokobuns and paradoxes

Recently, I've been more and more captivated by puzzle games, specifically, 2D sokoban style games. I played some of them this year, and it's amazing how flexible this genre can be. The variety of both conventional and metapuzzling mechanics do make each game a unique experience. I want to talk briefly about two examples that include very fun and clever uses of these mechanics, and how they inspired me.

⚠️ Spoiler warning! The two following sections talk a bit about the mechanics of some games, indicated at the start of the section. Proceed at your own risk.

Entering the parabox

There is a game called Patrick's Parabox which fits very well into the definition of sokoban. You need to place boxes in their respective goals, and then move yourself to you goal too (because you are also a box!). Buuut this game plays a lot with recursion and other mechanics that make your head implode. So for example, one of the boxes can be the level you are playing itself, and you can enter (or exit it!) in order to complete the puzzle. Then the game amplifies this "simple" (at the first glance) behaviour to introduce some new mechanics derived from it, at the point were you can create different types of paradoxes and use them in order to complete some puzzles.

A screenshot from the official Patrick's Parabox Steam page, showing the idea of the recursion in the game

There is a talk in which Patrick, the developer of the game, talks about how he designed the puzzles. And there is one single thing that got burned into my memory. And it's the mechanics: identifying all possible behaviours and combinations you can make with them, and make a lot of puzzles to be an introduction to this new behaviour the player didn't knew before. That will create a lot of "aha" moments, which are some of the most enjoyable things when playing a puzzle game. Basically, if you make good and simple mechanics that sinergize well with others in order to create many different behaviours, you can create very good puzzles.

'Sugui Down the Bunburrows'

The other game that inspires me too is Paquerette Down the Bunburrows. The mechanics of this game are very simple and original, and slightly different from a tradititonal sokoban, but what I really liked about this game is the metapuzzling stuff. In this game, you need to catch bunnies going down a burrow, and those bunnies have some deterministic behaviour. So you need to know how they will behave and use the tools at your disposal to catch them.

The catch? There are some puzzles where you need to do simple but smart stuff to catch a bunny, like:

All of this is possible thanks to the well combined mechanics the game it has, so that you need to do all kind of metapuzzling to keep progressing in the game.

The rabbit hole

Ooookay, so now that I wrote about my experience talking about what I liked of those games, I can start my gamedev rambling. So, all of this stuff inspires me a lot to create my own sokoban game, with mechanics that combine so well that they can create a lot of memorable "aha" moments in a player, and also metapuzzling mechanics that can make a player scratch their head and enjoy the beauty of those kinds of games.

There is another game I didn't talk about, called Braid, a puzzle platformer game. But I only wanted to highlight a very specific mechanic of this game, that I funnily thought about on my own before knowing about this game, when thinking about puzzle ideas. This is a mechanic where you can go back in time within a puzzle, but there are items that they are kind of into another time dimension, we'd say that they "glow". So glowing items do not go back when you go back in time, the time keeps flowing forwards for them, while non-glowing items do go back in time when you go back.

This allows for interesting combinations, for example, you can have many glowing doors blocking some way, and only one consumable key that opens all of them. So you can open one door and go back in time. You got the key again because you went enough backwards in time until the key was not consumed. But the door you opened was glowing so it will keep being open no matter how backwards in time you go. So you can open all the doors repeating this for each one.

This gave me an idea for a puzzle game inspired in this mechanic, not a platformer but a 2D sokoban like the first games I talked about earlier. During these two last months I did a prototype in Godot with some levels, implementing some metapuzzling stuff too. And... Well... I didn't end satisfied with the results.

So in my attempt to combine the few mechanics I had, I ended with too few of them, and levels seemed to repeat the same core idea every time, but with different quirks. That wasn't bad because each level revolved around a different way to complete it. And I think that the problem was that the only core mechanic I had was the previous one I talked about of the doors and the keys. I had other mechanics but they only supported the core ones. You couldn't really make a level with these other mechanics alone, without using doors and keys.

Then the idea of going back in time... I usually like puzzle games that are simple to play and as frictionless as possible. The mechanic of going back in time, in the way I implemented it for a sokoban 2D game, creates a bit of friction. Because the way to go back in time in this prototype, is to save a specific level state, so then you can fuck around with the level, opening doors, basically doing anything you want, feeling safe you can go back in time whenever you want, except for the glowing items of course. And you could just, go back to that level state you saved earlier, with glowing items maintaining their state. But I think this behaviour of saving, and restoring, and saving... And thinking about the mechanics of the items at the same time, creates a bit of friction.

The other thing I was also a bit dissatisfied is to use Godot for that. For a very simple puzzle game like this, Godot sometimes felt like using a battleship to sink a rubber duck, and probably I would have enjoyed the process more using something more code-focused like love2d.

But not all is ranting and feeling unsatisfied. The few metapuzzling ideas I implemented, like a level that can be only reached through entering the previous level from another entrance is an idea I liked so much, so I will use that kind of metapuzzling ideas a lot for my next sokoban project. I was also satisfied with the pixelart I made too, so here is an overview. I'll try to publish the playable prototype soon :)

A screenshot of my puzzle game prototype

What I do now

Probably I'm rambling too much about the going-back-in-time mechanic and I'm sure it's okay-ish for a sokoban-like game. Thing is that it's also a bit more difficult creating levels that way. So in the end, if I end implementing a game using this mechanic, I would change how I do some things, for example implementing more core mechanics that can be glowed.

So for now, I think I will take a period of reflexion, think about how I can reorient the puzzle ideas I have, and relax a bit of working on a game. After all, I'm doing this for passion, so the most important thing in the end for me is to enjoy the process.

#gamedev #puzzle #sokoban