BreakSnake

(by difsod)


Prototype made for Ludum Dare #41 Game Jam - "Combine 2 Incompatible Genres"

My initial goals for the Jam :

   This game was my very first participation to Ludum Dare, and I wanted to try and make a "complete" game, playable, not too buggy, and fun, if possible... And I wanted to find a nice concept, adapted to my coding skills (I'm really a beginner, to say the truth) : not too hard, but not too easy.


How I came up with the concept :

   When the theme for the 41st edition of Ludum Dare was announced, the first image that came to my mind was a split screen, showing a "Pong" clone on the left side, and a "Snake" kind of game on the right. I then quickly tried to figure out how to make these two games work together, side by side, and the idea of turning the "head" of the snake into the ball (and back again to snake's head) came quite naturally to me. Of course I took an hour or two to think about the theme and search for other ideas (and I think I found some interesting ones), but due to my rather low level of gamedev knowledge, I went back to my first concept.

   Oh, I know : it doesn't really "fit" the Jam theme, but once again I'm really a beginner, and trying to mix two genres in one single game seemed too hard for me, at the moment. So, mixing two different "little" games sounded quite challenging already !

How I made it :

   I first began coding the "snake" part of the game : the grid, the random food squares, and finally the snake itself. I then coded snake movements, and managed the "eating" process. In the beginning, each eaten food was replaced by a new one, and so on. Then came the "difficult" part : make the snake grow. I know there must be thousands of snake variations on the net, and I could have watched some videos on how to make it, but as for my previous projects, I wanted to figure out things myself, as much as I can, so I tried "my" method to implement this particular behaviour. It was kind of hard, in the beginning, but then I almost did it right (I still have an issue with the very first food, not making my snake grow properly, but due to the limited time I got, I thought I would try to fix that later). And then my first "day" of work was over.

   On the second day, I went to the "Pong" part (I knew it would be the easiest one). Things worked rather well rather quickly, actually, but then came the other "difficult" part : making the ball go back to its snake form, on the right... So I worked on this. Then, in order to make things easier to read for the player, I added visual elements to help seeing what happens : a white rectangle around the area shows on which game side you are, and the colors of the non focused side change to make them appear inactive, as well as the title part (it was quite fun, and seemed rather effective). I then tested a lot of things, and something wrong but obvious suddendly came to me : you could play a long time with your snake without actually going to the Pong side, and when you finally would go to it, it wouldn't last long (because the ball would go back very quickly). So I thought about the problem a little while, until I eventually found a "solution" : why not adding bricks to the Pong game, finally making it a "Breakout" game ? But how to make things work, then ? How do I manage bricks ? How to add them, when, and where ? I thouht about it again, and decided to start the left side with no brick at all, and create them each time a food is eaten on the right (snake) side. Well, why not ? It could work... But then it was already the end of day 2...

   On the last day, I had less time to work. But I had to continue, and to try and solve the different issues. But each time I "fixed" something, two other things went wrong... Stress began to come, also. And what about the not yet implemented gameplay elements of snake ? What about "eating" yourself and dying ? And what about colliding with walls and dying too ? Aaaaarg ! And what if I add some lives, just thirty minutes before the dead line, at least to have something to "entertain" the player ? Ok, let's do this ! Ouch ! Lives are implemented, with lovely hearts sprites, made in a few seconds... What now ? What now ? Oh my !!! It's time to upload the game ! Let's try it one or two times, before, to be sure... Hahaha ! What ??? Damn ! Bugs, bugs, bugs, everywhere ! New problems seem to appear from nowhere : new collision issues on the breakout side, new issues with colors changing when changing sides (they worked well a few hours before), and still a lot of buggy (or not implemented) things on the snake side ! But it's too late, now ! Time is out ! Let's upload this... "thing", now...


   Oh, well... A little bit of stress in the end, of course, but you know what ? It was a lot of fun, finally, and I kind of made what I initially intended to do : it's almost complete, it's playable, and you can... die ! Oh, and seeing all those strange bugs pop here and there is fun, after all, isn't it ?

Things to come... :

- Now that I'm not limited by time anymore, I'll be able to fix all those crazy bugs, and to make the game better :
- Better collisions with bricks.
- Better color changes.
- Some sounds, and music too !
- A fully implemented snake, who can die in many ways (biting itself, knocking on walls).
- Score managment, to add some challenge and interest.
- Increasing speed along time...
- Some particles and juicy effects...

So : stay tuned if you want to see more in future versions !

StatusPrototype
PlatformsHTML5
Authordifsod
Made withPICO-8
TagsLudum Dare 41
Average sessionA few seconds
InputsKeyboard

Leave a comment

Log in with itch.io to leave a comment.