Overview: Pudding Panda 2 is a platformer that uses procedural content generation to create randomly generated levels, a rarity for platformers. I wanted to make a game high energy that was tense without being stressful, and that made you want to keep playing it, which I believe I have achieved through a high difficulty level and having the levels be different each time you play it.
Since the levels have a fixed length, it can generate the levels quickly.
Controls: Use the left and right arrow keys to move, and the spacebar to jump. Use the mouse to click the buttons and to restart the game after you win or lose. Press the "M" key to mute the sound.
Gameplay: The goal is to reach the end of the level without being crushed by the giant cake or hit by the flying pineapples. Falling into the pit at the end of each level will also kill you. The obstacles that make up the levels are cookie blocks and Jell-O cubes. Your speed will be greatly reduced and you won't be able to jump, if you get stuck in a Jell-O cube. There are two power-ups, chocolate pudding and vanilla pudding. Chocolate pudding will negate the effects of the Jell-O cubes, and vanilla pudding will give you a speed boost.
Challenges: The biggest non-technical challenge was writing the algorithm to generate the levels. The way it works is that the level is divided into columns, and the obstacles are generated starting from the last column. Each column is generated based on the combination of blocks and cubes that come after it. This ended up making a giant tree of possibilities that needed to be kept track of, so as to ensure that the levels generated weren't impossible to complete. The biggest technical challenge was programming the interactions between the different types of objects, especially with collisions on the player, since the player has different behaviors depending if it's on the ground or in the air or touching a cookie, in order to keep the game balanced.
In The Future: Right now there's only two levels of platform, so in the future I want to expand that to three or four, in order to make the levels more complex. I would also like to migrate the code up to the latest version of Phaser (Right now it's using version 1.1.4),which I think will improve the physics. I would also like to create a mobile version of the game, since I believe that would be it's ideal platform.
Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 3.0