Making games is a lot of fun even if it’s done quick. Assembling a game with at least one fun mechanic in a few days or hours forces to focus on important issues. If you are a into making games you should definitly take part in a game jam, at least once. In December 2015 we made an entry to the ludum dare game jam . The jam lasts 72 hours and always has a theme which all entries must implement in some way. The theme for the 34. jam was Two Button Controls and Growing.
We created the game Magic Beans during the jam. From a small magic bean grows a beanstalk. To keep it growing it must get its branches into light to let them bloom. If the blossoms don’t bloom the beanstalk will die. The player has to navigate two branches at the same time into the light spots.
The team for this jam was rapidly formed and pretty alternative. Additionally to Stefan and me (Torsten) we had our friends Monika, Marcelle and Friedrich with us. None of them have ever programmed or designed a game, but this only makes it more interesting. Monika was creating the graphic and sound assets while everyone else programmed and coordinated the issues. Friedrich and Marcelle are both web developers and familiar with javascript like we. Therefore we chose Cocos2d-JS as our coding framework. It’s also a good prototyping framework and made it easy to generate a browser compatible version of the game.
The core mechanic are the growing branches which always grow towards the upper right corner. While pushing a button the growing direction of the branch is bend towards the upper left corner. Pushing and releasing the button makes the branch grow as a wave while the player aims for the light spots. If a light spot is reached the branch blooms and a new one grows out of the beanstalk. As always we had lots of ideas in our heads but lets start with the ones that got implemented.
All graphics except for the branches are handmade. The challenge with the beanstalk was to divide it into pieces that could be put randomly above each other to simulate the growing. The first and final approach was to divide it into parts of equal length and ensure the beanstalk starts and ends in the exact center of the image. The branches then grow out of those connection points.
The blooming is the only animation in the game that is handmade. It was important for us to have an animation for the blossoms because it’s the main goal. It should feel somehow rewarding to reach it.
The background music is calming and soothing intentionally. The game should challenge and relax you at the same time. We had no one with sound editing experience on the team so we picked the sounds from an open source sound database. Although we had to modify the files a bit. As no one had that much experience or tools for sound editing it was pretty funny and chaotic to get them right.
One field where we had more experience aboard is particle effects. When a new branch starts to grow a green splash bursts out of the beanstalk. Luckily we had used effects in former projects with Cocos2d-c++ version. Plus we already had particle designer , a great tool for creating the effects. It offers a library of user contributed presets. Those are usually a great starting point for your idea.
With all this done we had our core game mechanic running. At this point the jam was running for 1,5 days. Still 1,5 days left. Instead of adding more features right now we decided to create a menu first. If we want people to play the game we need a proper start screen and brief gameplay explanation. A simple start screen and menu is made fairly easy but improves your game dramatically.
By the time we finished the start screen we had 1 day left for the jam. It’s time to balance and polish what we have! Yes, really, although we neither have a progress counter nor a definitive game goal implemented. A working core mechanic which the player understands is worth more than any progress counter. Because people won’t reach any points if they don’t get the mechanic right. For us this meant balancing the growing speed of the beanstalk and it’s branches and adjusting the bend angles for the branches. Getting all this right was quite time consuming. It took almost all of the remaining time. The last minutes were spent to actually commit the entry to ludumdare, write a small explanation and host the game public accessible on our servers.
Making a game in 72 hours is lots of fun. It requires a highly iterative project management style. As I mentioned previously it’s important to have all aspects of a video game covered, i.e fun core mechanic, start screen plus explanation, graphics, animations, sound effects and maybe particle effects. But you will rarely have the time to make them all pretty. You have to get a working prototype really fast and then improve the parts you think will be most important to your game specifically. We had lots of mechanic ideas on our todo list, a couple of animations and sounds, the progress counter and a game end of course. But we coulnd’t finish all this. Nevertheless we are happy with the result and the people that played it wrote some nice comments. We achieved as much as we could and didn’t waste to much time to create stuff that did not make into the game.