risky
Risky (Abandoned game)
A game where you can get on ships and fly around, then land on planets. The levels are destructible and have lighting that updates when things get destroyed.

pool
Pool Game
A networked, multi-player pool game. The game performs a full rigid-body simulation on the balls, so effects like hitting balls with top spin, back spin, and side English work. The game is played through first person of the cue stick.

raytrace_gpu
GPU Raytracer
A real-time ray tracer written in CUDA to run on the GPU. My GeForce 650 Ti draws the scene at 60 FPS. Features of the ray tracer include soft shadows, reflections, signed distance fields, perfect spheres, and infinite planes. I also wrote CUDA code to trace triangles in an octree, but it is a couple times slower than tracing the signed distance function.

engine
Engine Simulation
A constrained physical simulation of different 4-stroke engine types: 45 degree V8, 30 degree V6, inline 4, flat 4, 45 degree V-twin, inline twin, and single cylinder. Which stroke each cylinder is in is color coded by the interior volume of the cylinder.

kid_cadet
Kid Cadet
This is a puzzle game based on the simulation of orbital mechanics. Each level has a set of goals to complete, like get into a geosynchronous orbit. The player creates a list of commands to control the rocket ship to complete those goals. Scores are generated according to fuel and time spent. If you get a gold medal on a level that is more than 1/100th of a second better than the requirement, please let me know how you did so.

zero_g
Zero-G
A challenging racing game that works with a keyboard or a joystick or a racing wheel, for finer control. The game consists of 15 tracks that you compete with your ghost to complete with fast times. Getting medals on tracks unlocks later tracks. If you go for a gold medal on all of the tracks, this game will give you hours of entertainment.

linedancer
Linedancer Ultra
A game based on Tron light cycles and Snake. The game is designed to be multiplayer and to work with game pads, but I have retrofitted it so that it can be played by one person on a keyboard. I will probably make it possible to play with 2 people on the same keyboard soon.

maze_wars
Maze Wars
A networked, multi-player tank shooting game. This was my first attempt at writing a real-time networked game. The end result worked, but had serious latency problems. The game is complete in the sense that you can play against other people and kill them, but the lack of variety in weapons and poor graphics make the game not all that fun to play.

boggle
Boggle
A computer version of Big Boggle. Blocks appear just like they would in real life. Type in your word list, and the game will mark any words that are invalid. The game will also print a list of all the words that were valid once a board is finished.

puzzle_guzzle
Puzzle Guzzle
A jigsaw puzzle game, where the orientation of pieces is initially random. The player must both find the correct relative positions and orientations of all the pieces to complete the puzzle.

particle_seasons
Particle Seasons
A boid and particle simulation with a dark, moody atmosphere. I made this for my class, Physically Based Modeling.

bojong
Bo-jong
A remake of the classic Mahjong game. Tile sets, board layouts, and backgrounds are very easy to modify and create new ones of. It's an unoriginal game, but it is a complete game at least.

bouncy_balls
Fuzzy, Bouncy Balls
This is an animation I made for the VIZA 656 class at TAMU during the Spring 2010 semester. I wrote both the program that calculated the ball physics and the ray-tracer that rendered the movie.

terrain_eye_strip
Terrain Eye Strip Saver
A video of a simple terrain drawing algorithm that works somewhat differently from what is typical. Rather than having triangle vertices be fixed in space relative to the ground, they are fixed in space relative to the viewer. This is a rather old program of mine, and is in the form of a screen saver.

wpm
Words Per Minute
This is a simple typing tutor program with a splash of humor -- well, at least as long as you find the King James Bible humorous.

linedancer_old
Linedancer
An old DOS game where up to four people can compete against each other in a Tron lightcycles type game. You will need a DOS emulator, such as DOSBox, to play it.

asteroids
Asteroids Smashteroids
This is a really old game that I made that copied the idea of the classic game Asteroids. This may have been one of the first games I ever made in OpenGL. I'm amazed that it still runs, because most of my programs that are as old as this will not run any longer.

ship
Ship
An old DOS game where you navigate a ship through a maze. The ship follows your mouse. You will need a DOS emulator, such as DOSBox, to play it.

color_study
Color Study
This is a Java applet that I made for my Human-Computer Interface class. The applet is an interactive color study, where the user can create an appealing combination of moving colors. The user can control brightness and saturation of the colors.