Projects

This page highlights some of the projects I’ve worked on over the years. The projects are organized by their type. For more information on a project, just follow the relevant link.

Graphics

Katamari Damacy

Katamari Damacy originated as a Japanese game. Your objective is to roll a ball, the Katamari, around the map and collect objects by rolling over them. As you roll over an object, the Katamari grows. This project, completed during my undergraduate computer graphics course, can be considered a very lightweight incantation of the game. The mechanics are the same but the scope is much more limited. More.

Simple Ray Tracer

Everyone should be familiar with movie studios like Pixar or DreamWorks Animation. These studios brought us big screen hits such as Finding Nemo, Wall-E, and Shrek. While the artistic talent that goes into creating these films is obvious, the other technology allowing for their creation isn’t. To render the models and animations produced by the artists, these movie studios use a particular piece of software called a ray tracer. Ray tracers take the three-dimensional scenes created by the artists and convert them into realistic looking 2D images suitable for play on the big screen. This project, another outcome of my undergraduate computer graphics course, is a very simple version of the software used to make these Hollywood blockbusters.

Systems

GeekOS Networking

GeekOS is an instructional, UNIX-like operating system used to teach the undergraduate operating systems course at many universities across the nation. It supports many features of modern day operating systems such as virtual memory and a robust file system. However, it does not support any form of networking. Adding networking to the learning operating system enables us to extend its use to the undergraduate networking course in addition to the operating systems course. During an independent study, I worked to implement an entire networking stack from the device driver up through TCP within the operating system.

QEMU Testing Environment

QEMU is a virtual machine enabling you to run guest operating systems on your native operating system. In the context of an undergraduate operating systems course, it is used as the host and test bed of an instructional operating system GeekOS. To test student implementations of GeekOS, the tester would need to manually load QEMU with the student’s image and hand enter all the test commands. Doing this obviously took a lot of time and so it proved desirable to automate the process.

Games

Galactic Empires

Galactic Empires is a turn-based strategy computer game based on the board game Risk. Between two and eight players can vie for galactic dominance by conquering planets and solar systems using an armada of space soldiers. No game of Galactic Empires is ever the same thanks to the procedural generation of a new game board each time a new game is started. More.

Web

Beta Theta Pi – Delta Omega Website

Recolonized at the University of Maryland in 2008, the founding fathers of the Delta Omega chapter found themselves in need of a website. They desired to use the site to reconnect with alumni, document the chapter’s events and activities, and attract new Men of Principle to their ranks. As webmaster, I sought to achieve all these goals by building a web based content management system specifically catered to the needs of a fraternity. More.

TIPRS – Testudo’s Informed Route Planning System

Research shows that commuting resources such as time and vehicle operating cost can be reduced when accurate traffic and route information is available. Given such information, commuters can make informed decisions about their time of departure and choice of route. The TIRPS project was an investigation into building a social, online system to enable the sharing of trip information between commuters with the goal being that commuters save time and money by planning ahead using other commuters’ trip experiences.