[ home ]

Video Games

CSPSP (2006-Present)
A 2d overhead shooter for the Playstation Portable (homebrew). Definitely one of my largest projects; it features complete multiplayer gamplay with players around the world (over 35000 players have registered).

QQ Manto (2007)
A simple line-rider inspired homebrew for the PSP.

Falling (2011)
An Android game that builds upon the mechanics of those simple "falling ball" minigames. I developed this game over the course of about a week. I still need to polish it up a bit more before I release it, but the link has a few development screenshots.

Cave Story Outer Wall-paper (2011)
This isn't technically a game, but it's related. It's an Android live wallpaper of a beautiful scene from the indie game Cave Story.


I have always been somewhat fascinated by the concept behind raytracing. I have written a couple of my own raytracers (both in Java and C++); here is a gallery of some of the "prettier" renders I have created:

Raytracing Gallery

I also created a "business-card" raytracer - that is, one whose code approximately fits on a business card:

ttcard.cpp [ what it renders ]


Athena S Microprocessor [ Report ]
8-bit processor (Harvard-architecture) designed in a 2-person team for a VLSI course. The design consists of ~5000 transistors; besides the PLA portion, the layout was done entirely by hand and includes a datapath with 8 registers. Design was done using Magic, checked against PRS rules, and thoroughly simulated using IRSIM.

SAM Asynchronous Microprocessor
Completely asynchronous 32-bit processor designed in a 2-person team for an asynchronous VLSI course. The design is implemented using CHP (Communicating Hardware Processes) and simulated using CHPsim.

80188 MP3 Jukebox (pictures to come)
An MP3 player built using the 80188 processor at the core. The system was built on a prototyping pcb and most connections are wire-wrapped. Plays MP3s from an external harddrive or CompactFlash card and displays a simple user interface via an LCD. Running at 18.432MHz, the system can play MP3 files up to ~192kbps without any significant skipping.

Quadcopter Electronics [ Photos | Video ]
Quadcopter flight controller and remote built from scratch over the course of a quarter (schematic design, pcb layout, and software). The flight controller consists of an ATmega328P, accelerometer, gyroscope, mosfets to control 4 DC motors, and an RF transceiver (nRF24L01). The remote consists of an ATmega328P, RF transceiver, dual analog sticks, and an LCD.


Balsa Metal Gear Rex
A wooden model of Metal Gear Rex from MGS, with a fair amount of poseability. The neck and upper legs use lego ball joints, and each leg has two hinge joints and a sliding section. The mouth/cockpit, the rail gun, and radome are on hinge joints as well. Finally, the eyes/gatling guns are LEDs.

Balsa Grizzly Tank
A wooden model of the grizzly tank from Red Alert 2. The turret can turn 360 degrees, and the gun can move up and down slightly. 1/16", 1/32" balsa and lots of wood glue.

Lego USB Stick
Just stuffed the guts of a usb stick into a Lego brick :)