This project's initial aims were to just make a 3D Pong game but as it developed we decided to design a program more representative of real life. Our aims were to explore the use of graphics in order to demonstrate music, animation, physics, and very simple ai, essentially a game. Running the program is simple. During play, sliding the paddle in different directions while hitting the ball will give the ball higher velocity in the direction being swung by the paddle. Q and Z increase the azimuth value on the view. A and S increase the rotation angle. E and D zoom in and out respectively. LEFTCLICK and X will both begin the play of game by launching the ball. The MOUSE and Arrow Keys both move the ping pong paddle around. W activates wireframe mode. ESC exits the scene and game. Algorithms we used pertained to a variety of catagories such as lighting, physics, AI. We used a generic plane drawing algorithm we designed to divide planes into smaller quads in order to obtain more accurate lighting. Mechanics equations were used in order to simulate physics. Gravity and elastic collisions made up a large portion of the physics. Simple matrice algebra was used in order to obtain a shadow for the ball on the table. A ball tracking algorithm was used to control the movement of the computer opponent. A margin of no movement was assigned to the middle of the paddle in order to prevent the paddle from skipping forth and back thereby smoothing smooth motion of the computer paddle. Also, the computer will attempt to hit the ball in such a manner that it will stay on the table preventing it from bouncing off the sides. Simple random behavior was assigned to the computer allowing for a more unpredictable hit of the ball, increasing realism.