Marble Blast Moderate

by Forrest Hansen

     For my computer graphics final project I programmed a simple game using OpenGL and GLM where you control a ball along a randomly generated path to reach the finish. The floating tiles that the ball rolls along only appear when the ball gets close. When the finish tile is reached, a new random path is generated which is 10 tiles longer than the previous level. In addition, the ball acceleration increases slightly with each level.

Computer graphics features:


The camera can be rotated around the ball by moving the mouse left or right. The ball controls add velocity in directions relative to the camera view.
W    move away from camera
S    move toward camera
A    move left
D    move right

-    zoom out
=    zoom in
[    decrease camera angle
]    increase camera angle

R    restart level
G    toggle cheat mode
X    exit



This shows the start of the game with the green finish tile in the background.


This shows how the ball shadow gets cut off when it falls off a tile.


This is a picture of cheat mode, where tiles will appear in all directions and you cannot fall off.

Here are a few screenshots from an early version that show the random level generation.

Level_Gen1 Level_Gen1 Level_Gen1


Most of the code for this program was hand-written. The structure of the code resembles the base code from many of the labs. I modified Professor Wood's mesh loading code to read in the sphere.obj file.

Sphere.obj Source

"Looking for a simple sphere.obj file". Post by Ilian Denev (Post #3). Visited March 5, 2014. Available:

Texture Sources

Here are the original images for textures used in the game, some of which I modified in GIMP to look differently and match the format that my program can handle. The ones on the left are the originals and the ones on the right are the modified versions. Click the textures to follow a link to the image/download.

Nano Fiber Texture

Modified Nano Fiber Texture

Seamless Red Brick Texture

Modified Tile Brick Texture

Blue Circuitry Texture

Modified Red Circuitry Texture

Lava Texture

Modified Lava Texture