Play gameSnake Blocks's itch.io page
Ranked from 10 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.
Talking points of your game
Apologies in advance for the audio, the "ambient noise" idea really didn't work out. On top of that, its implementation is kind of broken in the current version, making it even more annoying. It can be muted by pressing the musical note symbol on the main menu.
Snake Blocks is a twist on the classic game Snake (as well as Sokoban). You control a snake and push other snakes around, occasionally swapping between them.
Visiting the game page is recommended: https://steven-miller.itch.io/snake-blocks
Eat apples to grow
Push snakes onto an activation tile to control them
Cover all red tiles to complete a level
Arrow Keys / WASD - Move
Z - Undo R - Reset P - Skip
I started the game Friday night, so I had around 48 hours to create the game, though schoolwork limited that quite a bit. Everything was made from scratch over the weekend. I used GameMaker: Studio for coding and art, and Audacity for audio.
I was originally just going to make a Sokoban variant, but I decided that doing so would be a bit boring, as a lot of my recent games have been Sokoban variants. So, I decided on Snake, but made it a Sokoban variant anyway. Deciding how to incorporate the Snake aspect in an interesting way was difficult, as there are many Sokoban + Snake games (including three of my own), so I wanted to try something new. I decided to only have snakes and get rid of boxes entirely. I also kept apples, as I wanted the snakes to be able to change shape so that it wouldn't just feel like Sokoban with oddly-shaped boxes. At first, I considered letting the player swap snakes whenever, but I thought that it wouldn't be very interesting or challenging. So, I instead threw in activation tiles that change which snake the player is controlling. This way, the player can reshape and resize snakes, but only when the level allows it.
With the planning done, I started with the art and related code, which was a little tricky to get working properly. Each snake is a single object, so getting them to bend and point in the proper directions was a bit tedious. After getting that working, I designed several snakes, around half of which are included in the final game.
After the art was mostly done, I needed to get the mechanics working, which proved to be the hardest part by far. In fact, this game was probably the most difficult to code of any of my projects. The problem was that each snake is a single object, but only the head part actually exists, with the other segments being just coordinates in an array. Thus, getting the pushing to work proved to be extremely difficult, and there were an alarming amount of edge cases. It took several hours to get it working, and I am proud of my solution, even if there is almost certainly a more efficient one. Ironically, the apple and activation mechanics, which are supposed to be the more novel aspects, took very little time to get working.
Level design ended taking the most time, largely because of how inefficient I was at making them. I would place snake heads in the room and then have to manually fill their array of coordinates to give them additional segments. The actual puzzle design was quite fun, and I'm happy with the variety. However, I still am not happy with the difficulty curve or level order.
My last task was audio, but at this point there was very little time left. I made the sound effects but really didn't want to make music. I ended up using weird ambient background noise instead. It has a lot of randomization in volume and pitch to keep it from getting repetitive quickly, but I'm not really happy with how it turned out. I think a lot of people will just find it annoying.
Overall, I'm happy with how the game turned out, even if it is rough around the edges.
Leave a comment
Log in with itch.io to leave a comment.