Research Projects

DigiPen CS500 – Ray Tracing

In my CS500 class, taught by Professor Jason Hanson, we developed a ray tracer from the ground up and at the end were given the choice of multiple special effects to put in the ray tracer along with a special object to use. For my special object, I decided to draw a Torus. These objects are 4th degree polynomials and require an algorithm for solving for the roots. For the special effect, I chose to use depth of field. Because of the way I was randomizing and certain incorrect assumptions, my ray tracer required a high number of extra samples to get a proper picture. Also, because the project was written in C#, rendering a scene took a large amount of time.

Torus Render:


Depth of Field:


DigiPen CS 420 – Data Compression

In my CS420 class, taught by Patrick Moghames, we learned how to use various data compression and image processing techniques. We had a number of assignments that ranged from RLE8 to things like LZW for generic data.

Final Program

DigiPen CS380 – Artificial Intelligence in Games

In our CS380 class taught by Steve Rabin, we learned the various techniques used for created a fun and immersive environment around the player. For our final project, we were required to research an interesting AI technique. Alex Gelles and I decided to write a Lua implementation of Steve Rabin’s State Machine Language. It offered a large amount of flexibility due to Lua’s natural abilities. In both our Junior and Senior game projects, we leveraged the system extensively and found that it came in handy more times than we could count. The following is the article we wrote for the class on the basics of getting the system implemented.

Lua State Machine Article