CS 480/680 - Interactive Computer Graphics

Winter 2008

Final Projects

The following are images and videos from some of the outstanding final projects produced by the students of Interactive Computer Graphics!
All images and videos are screenshots of OpenGL programs that were written by each individual student.


Ryan Adams

The project emulates a classic arcade game called Araknoid. Araknoid is a one player expansion of the original game of pong. The object of the game is to hit all of the colored blocks placed in the top part of the screen. Hitting a block adds points to the total score and removes the block from the field. Removing all of the blocks advances the player to the next level. Each level has a different amount of blocks in a different pattern. Higher levels have a more complex layout and are more difficult to complete than the previous level. The player must keep the ball from hitting the bottom of the screen. If the ball hits the bottom of the screen the player loses a life. When the player runs out of lives the game ends and the score is compared to the previous highest scores and recorded if it makes the top ten.


Linge Bai

This project constructs a scene in a fish tank: At first, a goldfish is placed in the center of fish tank. A Dutch windmill, a shiny object, a rock, green sea grass, purple sea weed and an outhouse are placed in a circle centering the goldfish and the starfish. The bottom of the fish tank is sand and initially we can have a view under the water of the whole scenery. The user can interactively: (1) make goldfish swim in 6 degrees of freedom (2) make windmill rotate; bubbles appear and float to the top of the water if windmill rotates. (3) make the shiny object glitter and change color. (4) make the green sea grass and purple sea weed sway. (5) choose to view the aquarium through the fish's eyes and following the fish around the aquarium.


Brandon Bloom

This final project implements the ancient board game of Mancala. The game, its rules and history can be found at http://en.wikipedia.org/wiki/Mancala. The board is viewed from a static three-quarters view perspective and each goal zone is clearly labeled for the corresponding player. Utilizing mouse picking, players select a hole to begin sowing from. Sowing is animated. The stones rise up and then proceed on a race track shaped flight around the board; dropping one stone at each hole as they are passed. Both single- and multi-player game modes are supported.


Mark Dane

This final project implements a 3D version of the classic game Rock'em Sock'em robots. The original game consists of two humanoid robots in a boxing ring. Players use controls to move the robots around and throw punches in an attempt to hit the opponent's head. When one of the robot's heads is struck it pops up indicating that the robot has been knocked out. This application duplicates the functionality of the original game. Players are able to control their robot by moving and punching. When struck appropriately, a robot's head will pop up. In order to make the game realistic the two robots do not have penetrating collisions: One robot's arm does not pass through another robot's arm. Collision detection is employed so that the motion causing the penetration can be halted and the robots behave as if they were solid objects.


Robert Lass

This final project is a game where the user is flying through 3D space in a spaceship, and has to shoot things. The user is able to move the spacecraft with the arrow keys and fire a laser weapon with the space bar.


Brian McBurney

The application is a map of some 3D portion of space. Coordinates are read in to map a variety of objects and their details (velocity, classification, etc.). The objects are drawn in 3D space with some coloring/differing models to indicate classification, a ghosting effect to indicate velocity. Clicking on one of the objects displays all of the details of the object. The camera can be rotated around the scene.


John Novatnack

This final project is an interactive system for viewing and interacting with flocking objects. The key features of the project are:

  1. Flocking. The flocking simulator is a simple implementation that follows Craig Reynolds Boids simulation from 1986. In short, each bird is completely autonomous and makes its movement decisions based on three rules. These are: Avoid crowding, Follow an average trajectory, and Keep close to the flock.
  2. Interactive Viewing. The application supplies two views to the user. The global view allows the user to view the flock from afar. The second and more interesting viewing is the flock view. In this view the camera views what one member of the flock is seeing. This allows the user to feel as though they are in the flock.
  3. Interaction with the Flock. When the user is in global view a user can create an event, such as a bullet flying, that the flock will move away from. The user creates such an event by simply clicking the mouse anywhere in the viewport.


Ryan Traband

This final project provdies an interface to create, set up and knock down dominos. The application takes mouse input to place dominos on an interactive table. The program feature:


Bernard Wolff

This final project is an interactive maze game. The program simulates a three dimensional maze inside a building structure containing a series of hallways. The object of the game is to enter the building at one location and to find the way to the exit, or to a pre-defined goal room. By default the camera is located in a first-person perspective. This makes it seem as though the user is walking through the hallways. By pressing a key or choosing a menu option, the camera moves up above the building to a bird's eye view so that the entire maze will be seen. The ceiling is removed so that the hallways inside can be seen. The location of the player within the maze is identified by a lit red dot. Optionally, a timer is displayed which will either count up or down. In the case where it counts down, the user must solve the maze before the timer reaches zero. In the case where it counts up, it continues counting up until the user reaches the goal. This allows the user to see how long he or she has taken, without enforcing a time limit. The walls, floor and ceiling have textures and are lighted using the Phong shading method.




Last modified on April 24, 2008.