Spirit Walkers. A physics-based 2D sidescroller game, similar in style to LittleBigPlanet (but conceived before it existed), but with a darker theme, an intricate storyline, and unique gameplay mechanics.
- Phed. A physics sandbox. Technologies: C++, Qt, Box2D, OpenGL.
Ultimate Web Framework. A web framework that favors brevity and convention-over-configuration, without getting in your way.
- Better HTML. A template language that doesn't just augment HTML, but makes it more concise. Technologies: HTML, C#, WPF.
SharpQuery. A library for traversing HTML, similar to jQuery. Technologies: C#, HtmlAgilityPack.
- Data Miner. A GUI for extracting data from websites.
- Image Downloader. A tool for downloading galleries of images. Technologies: C#, SharpQuery, WPF.
- Mario Mayhem. A mario clone I made while still in high school. The other kids were still learning about functions, variables, and arrays. Technologies: C++, SDL.
- Pixel Wars. A game where you run around as a stick figure and shoot to kill your opponents. Features destructible terrain like worms. Made while I was in highschool. Technologies: C++, SDL.
Planned Projects/Early Development
- Auto Article Poster. A tool for promoting websites (SEO). Technologies: C#, WinForms.
- Bot vs. Bot. A site where users can upload bots (AI scripts) for competing in various board games. Currently I've completed the app that allows bots written in different languages to interface with each other in a game of checkers. Features one Negamax agent written in both C# and IronPython. Technologies: C#, IronPython.
- Unsocial. An anti-social networking site that gives power back to the user. Find out what your friends are up to, keep tabs, notes, and photos about them, without having to worry about privacy issues or have them berate you with requests. Lots of unique features planned.
- OmniSearch. A website designed to be used as your hompepage. Helps you quickly get to all your favorite sites and keeps them organized. Features a new organizational hierarchy dubbed "tagagories" which relies on the set-cover problem.
- DjangoStudio. A Visual Studio add-in that extends IronPython and easily allows the creation of Django projects. Will feature context menus for adding views, URL patterns, and templates, and the Django development server can be ran from within VS.
- GTD Phone App. An app that allows you to enter all your appointments and TODO items and it will automatically create a schedule for you so that you can get everything done on time, and still have a little fun.
- GMan. A general-purpose GUI for command-line programs. It parses the -help docs and determines which flags it accepts, which then get converted into check- and text- boxes.
- Real-time Motion-based Gesture Recognition using the GPU. A research project I worked on for one of my professors at SFU. That's me in the video.
Select School Projects
Note: You might have trouble getting these to compile and run, but at least you can see the source code and read the write-ups if you're interested.
- Expectiminimax Backgammon Agent. An AI for playing backgammon, written in Java. We held tournament in our class to see whose agent was best. I placed 2nd, and I completed this project solo, whereas most others were in teams of two; I was still disappointed.
- Learning Handwritten Digits. An OCR program for recognizing the handwritten digit 7. Achieved 98.32% accuracy on a sample dataset of 870 images containing numbers. Written in Java.
- Tetris. In both 2D and 3D. This was my introduction to OpenGL. Look in the bin/release folder if you actually want to play it (Windows only). Written in C++.
- KoLaJ. A program for creating collages. Written in Java, using Swing. Includes a nice presentation.
- Vid2Snd. A tool for converting a sequence of images into sound for the seeing-impaired. Not very practical, but a neat idea. Written in C#.
- PolyDecomp. An attempt at optimal convex polygon decomposition. Provided two implementations. One is optimal, but horrendously slow, the other is not optimal but much faster and sometimes achieves even better results than the former with the addition of steiner points. Written in C++. Update: My algorithm is now apart of the Farseer Physics project.