You are browsing as a guest. Sign up (or log in) to start making projects!

9h 31m 11s logged

The idea

In order to practice for the big GMTK game jam, I did the kenney jam.

The theme was “scale”, I did not took
time to think of a good idea fitting the theme, but since one of my best game made for a jam was a puzzle game. I thought I could just make
another one, but what type of puzzle game?
One restriction specific of this game jam is that
you have to use only kenney assets, I found the sokoban asset pack and I chose to make a sokoban game: this is a game based on blocks you have to push to solve the puzzles. This type of puzzle game is named after the original sokoban game, but the idea can be pushed futher, for example in game like Patricks Parabox, where the blocks you push are the entire level, and you can go inside the block to go back into the level but from another entrance… just watch the trailer if you want to understand this game is not text-explanable.

But where is the original idea that fit the ‘scale’ theme of the jam? Well, you can change your own size: if you’re taller, you will be able to push big blocks, but you won’t be able to easily move throughout the puzzle, the challenge is around that dilemma.

developping movement and block pushing features

After the idea came the big part: developping the game. I started adding the player movement and collisions, I decided to use a custom movement system with scripts instead of using the godot physic system, which led me into a long debugging session, and maybe I could have used less time if I did not make this choice. The benefit of using my own system is to ensure that the player and the movable blocks are always on the grid (the game is based on a tilemap)

But why this debugging session? It is because of the central feature of player growing/shrinking, when the player grows, the game has to ensure that there is some space around him, on top of that, the ‘tall’ player can push a big box, but not two big box, and cannot push a box if there is a wall or a box behind too… Some part of my code are not great clean code examples to follow, but you know, if it works, don’t touch it!

#developping the camera
Next I made a camera system based on rooms, like in Celeste, I used area2D to make a “camera_manager” script able to tell in wich room the player is, the script changes the camera target point and the player respawn point. Indeed I needed a respawn feature because some puzzles make being stuck a possibily.

sprites and music

I finished the game by adding music, SFX and the sprites of the player. The music did not have to be part of a kenney asset so I found it on OpenGameArt.org

I did not use text and made the game playable with mouse in order to check the ‘no text’ and ‘mouse only’ bonus challenges of the game jam

0
50

Comments 0

No comments yet. Be the first!