Team Cabbage

Alden Tai - Ian Dunn - Chris Colwell - Jorge Mendoza - Ryan Badilla - Damien Espinola


Something’s wrong with the otherwise peaceful pals in Pleasant Produce Land! Now the fruits of the land have become mean, saccharine suppressors and are trying to attack the vegetables! It’s up to our cabbage friend to find the perpetrators who are pulling the strings behind this disastrous discord and restore peace to Pleasant Produce Land!



Left click - select


a - previous level
d - next level
esc - go back to menu

In Game:

a - move left
d - move right
aa - dash left
dd - dash right
space - jump
esc - go back to overworld

r - activate leaf shield
hold l - charge laser
release l - fire laser!

Debug keys:

h - toggle no clip godmode
v - toggle deferred shading
j - toggle different views
k - move camera back
n - toggle SSAO (press multiple times)
b - toggle bloom
m - toggle music
hold c - turn culling off


Awesome Graphics Techniques

Happy Cabbage Adventure’s appeal and charm is largely based upon it’s beautiful visuals and vibrant, cartoony colors. This appearance is implemented largely through the clever use of a variety of Toon, Bloom, SSAO, and Diffuse shaders. Here’s a list of some of the graphics technologies we used: Cel (Toon) Shading SSAO - “Bloom” - a filter using a blur shader and FBOs to soften the scene Deferred Shading

The Always-Intrusive World of Physics

No platformer ever invented was able to work without a physics engine, and Team Cabbage is no different. Starting from scratch, our team created a physics engine custom-tailored for Happy Cabbage Adventure. This engine allows for collisions, velocity, acceleration, gravity, and much more. No longer may the cabbage freely ignore the perils of giant holes, jumping enemies, and flaming pits! (Unless the cabbage is in God Mode, that is!)

Particles Everywhere!

What game is complete without roaring fires, vibrant lasers, and exploding enemies? Here at Team Cabbage, we believe no game is. With that in mind, we created a particle engine that enables the things mentioned above, and much more. These particles are shaded, and produce their own individual light sources. Furthermore, they are fully integrated into the system, allowing them to be placed into the physics engine as necessary.

Mind-Boggling Sounds

No video game is complete without a variety of sounds to help bring the world to life. Happy Cabbage delivers this through the use of SDL Mixer, helping the user delve into the world of our brave protagonist.

Clever, Deadly AI

The fruits of Pleasant Produce Land have mysteriously become mean, savage oppressors, and chase and harass our protagonist in a variety of ways. To ensure players have to dodge, jump, and blast their way through a variety of potentially lethal situations, several different forms of AI have been coded and implemented into the game. These AI roll, jump, and launch projectiles at the protagonist in order to keep him from reaching the goal.

An interactive, intuitive Level Designer

Realizing that only a limited amount of content could be created over a ten-week period, our team designated a portion of its efforts to creating an intuitive, GUI-based level editor that will allow players to enjoy Happy Cabbage Adventure for hours after they complete the pre-made levels. This level editor features XML loading and saving, and allows for the dynamic creation and editing of levels, all with a WYSIWYG perspective in mind.

GUI for Dummies

Here at Team Cabbage, we believe in supporting our game with powerful tools. Once again building from scratch, Team Cabbage created a powerful, flexible GUI engine that allows the creation and maintenance of buttons, HUDs, menus, and more, all with a few simple function calls. This engine is also flexible, allowing for further expansion.

The United States of Happy Cabbage

To ensure the flexibility and adaptability of our code, Team Cabbage created a State Engine that allows for a seamless, smooth transition from one game state to another, taking care of both maintenance and creation of several key background functions.

The Essential Platforming Experience

No platforming game is complete without such things as health, items, and power-ups. In Happy Cabbage Adventure, we provide these features, ensuring that they fit the look and feel of our game. Water droplets and leaves can be found scattered throughout the level, replenishing our protagonist’s rapidly decreasing health and energy. A HUD system has been created, again, with the cartoony feel of Happy Cabbage kept closely in mind.

A Dynamic, Interactive Camera

In order to increase the visibility of the nefarious pits and traps within the brave cabbage’s way, Team Cabbage has created a dynamic camera that zooms in and out depending on the cabbage’s height to show the perils that lie in wait below.

Animated, Changing Models

Here at Team Cabbage, we don’t believe in the word “stock”. Everything is custom-built and produced to maximize our player’s produce pleasure. Nearly every model in Happy Cabbage adventure was custom-built by Team Cabbage, and all the animations were custom-tailored to their respective model. For more significant models, such as our brave protagonist, multiple models were created and are seamlessly integrated between to increase the player’s interaction and feeling of belonging within the game. When the player is damaged, they can see the toll the damage takes on the poor cabbage, and encourages them to behave more cautiously in the future. When the cabbage dances for victory, the player feels as if they are dancing too. (as proven by a poll of 3 random students taken in a potentially biased setting)


Feature-filled Level Editor

Create and save your own custom-made maps using the same tools the devs use.

Amazing Cabbage Abilities

Jumping around and being happy aren’t the only things HC can do. It also has the ability to defend itself from its enemies using a leaf shield ability. HC also can blast its enemies away (and itself backwards) using the ultra-powerful laser beam.

Beautiful Special Effects

Destroying your enemies in Happy Cabbage Adventure is incredibly satisfying, especially when they explode into dozens of little stars upon death. There are quite a few special effects and other neat additions strewn throughout the game. See the screen shake when HC unleashes its laser beam and the amazing dance HC does when finishing a level amongst other things.

Dangerous Enemies

HC has managed make quite a few dangerous and annoying fruity enemies who try and impede his path. They include:

Apples who randomly roll into you

Oranges who jump and chase you everywhere

Kiwis that fly in the air and drop shame and embarrassment all over your face

Flame traps

Blade traps

Spectacular Items

Luckily with all of these terrible enemies out to get you, they'll drop goodies when they die! You can get:

Leaf for health

Water for energy

Moving Platforms

Try not to fall to your doom!


*Note to Zoe: We'll send you a video file soon.