BubbleBelle is a private project that I have dabbled with on and off when having time to spare. As such, progress has been very uneven and limited the last 6 years, since I've been studying intensely at university.
The development of BubbleBelle has been very bumpy. I first started to develop this as a Flash project, some 10-15 (!) years ago. Some time later, I bought Game Maker Studio and felt that it would be a much better platform, so I re-programmed everything I had done so far. However, when I started studying at university I learned to code properly, and against better judgement I decided to re-program all of it again, but this time in Java.
The game is far from finished, and sadly, I don't think it ever will be, on account of time and life. However, I feel that this might be one of the most rewarding experiences so far, when it comes to learning how to make games.
The basic concept of the game is that you play as Belle, a bubblegum factory worker, whose day-to-day life gets turned over when a mysterious portal from another dimensions opens up, and she is forced to save the day, using the power of different bubblegums on the way.
There are four kinds of bubblegum: Blue, that has the power of ice, and will freeze stuff at contact; Red, which instead explodes at contact, setting fire to things or defeating enemies in the process; Pink, that Belle can stand on and will let her climb to new heights; and finally Grey, that basically turns into a rock that Belle can stand on or place on buttons, and so on.
There's a lot of other ideas in the game that I've experimented with, such as moving platforms and doors, triggering buttons and levers, different kinds of dangers, a magic upgradable butterfly that protects you from danger, moving between different scenes through doors and portals at will, checkpoints and saving points, destructible boxes, crouch mechanics that transfers into a tuck-and-roll kind of fall or jump, instead of a normal one, and a lot of other stuff.
When converting the game into Java, I soon realized that I needed a way to build my levels, in place of the previous Flash or Game Maker environments. So alongside development of the game, I also started to create a level editor.
I pretty much added features to the editor every time the same feature was added to the game, but there were also a lot of peripheral stuff, like creating and saving level files, changing background and tweaking parallax properties, connecting button triggers with identifiers that one can edit easily without code, different graphical layers, shortcuts and keys, and so on.
Just as with the game, I learned a lot by having to implement all of this myself.