Super Llama

  • Dev C++/Allegro
  • 01 May 2012
Install Game        Download Source Code       

Role: Game Programmer


  • – Develop game using Allegro graphics library in C++.
  • – Built system to play animations based upon sprite sheets.
  • – Built logic for the final boss’ rocket missile attack.
  • – Scripted death animations and SFX for zombies.
  • – Helped build in game physics engine, which included:
    • – gravity
    • – friction
    • – velocity

Length: 3 weeks

SUPERLLAMA-2011-12-11-11-27-20-11Post-apocalyptic Earth never looked duller. The world has been overrun by zombies, but these are no ordinary zombies. Instead of a ravenous hunger for brains these zombies crave color. In their gluttonous rage they have nearly succeeded in plunging the world into grayscale. But from the ashes a phoenix is rising as Earth’s champion. Wait that’s not a phoenix…is that a llama? No, that would be ridiculous. Ok, that is most definitely a llama. But that is no mere llama – it is Super Llama! And it is up to him to defeat the nefarious color zombies and restore color back to the world. This was the premise for the game my partner Jacob and I came up with for our final project in CPSC Game Programming.

One of the main mechanics we wanted to implement was our own physics engine. Friction and gravity exist in the Super Llama world which can be used to the players advantage to wipe out zombies. In fact, the only way to destroy a zombie is by running into them at high velocity or jumping on them Mario-style.  The terrain is randomly generated in this 2D page turner style game. When the game starts the terrain is jagged and the background is in grayscale. But as the player kills zombies the background morphs from grayscale to color and the terrain becomes smoother from page to page.
The biggest problem we ran into was designing the last boss fight.  We couldn’t figure out what its attacks should be. At this point we only had a couple days left in the development cycle before our deadline. However, due to our Object Oriented design approach to our application’s structure we were able to add in a missile object class I had created for a different project. That’s the story of how we decided our big kahuna color zombie was going to attack Super Llama with missiles.

Working on Super Llama gave me a greater appreciation for Object Oriented programming. However if I were to create this game again, given more time, I would change the final boss fight mechanics. While the missiles work, I think it would be interesting to give the final boss big mallet hands that try to swat Super Llama out of the sky. Despite my misgivings about some of our design choices, I am happy with the final product and also learned a lot along the way. Oh, in case you were wondering, Super Llama did indeed restore the color back to the world. And you are very welcome.