Jump to objective: 1 2 3 4 5 6 7 8 9 10

CS 488: Final Project

This game was created using WebGL and THREE.js, an API for WebGL.

In game toggles include:

All of these options start off as enabled.

Game Credits

Code, textures, and menu art: by Sarah Lannigan
Music: "Ballad of the Burning Squirrel (Ch 1 Dark World)" by Danny Baranowsky for the game Super Meat Boy
Sound effects: by Jordan Fehr for Super Meat Boy
Character design: by Edmund McMillen for Super Meat Boy
Background design: by Adam Saltsman for Canabalt

Objective 1: Modelling the Scene and Character >

The level is mapped based off of a string which defines the locations of buildings, spaces, and chainsaws. The character, Meat Boy, is a simple character made up of five boxes - a body, two arms, and two legs.

Objective 2: Animating the Character using Splines >

Meat Boy is animated using Bezier splines. Animations were created for running, jumping, and falling.

Objective 3: Sound Effects >

Sound effects are applied for running, jumping, landing, and dying. These sound effects are from Super Meat Boy. They were created by Jordan Fehr.

Objective 4: Static Collision Detection >

Collision detection is used to determine when Meat Boy has collided with a building or a chainsaw. Meat Boy and each building have a bounding box, and each chainsaw has a bounding sphere. Since the game is a side-scroller, only collisions in the X and Y axes are checked. If Meat Boy is attempting to move in an axis, and a collision is detected in that axis, the movement is cancelled.

Objective 5: Gravity >

A constant gravitational force is applied to Meat Boy. It increases his downward velocity the longer he's been airborne.

Objective 6: Texture Mapping >

Textures are applied to buildings, the level background, chainsaws, and Meat Boy's face. The texture mapper loads images. New objects ask the texture mapper for a specific image.

Objective 7: Particle System >

The particle system is used to show blood splatters when Meat Boy collides with a chainsaw.

Objective 8: Billboards >

Billboards are camera facing sprites. The in-game particle system uses billboards to display the particles.

Objective 9: Animating Textures >

Animated textures show a collection of images in a sequence.

Objective 10: User Interface >

The user interface of the game, including menus, death handling, and scorekeeping.