My name is Thompson. I am an aspiring software engineer from Greater Boston, Massachusetts who focuses on software development, while doing game development in my spare time. Willing to learn new technologies, I appreciate what I can experiment on to get more hands-on experiences and to continue down the road.

Projects (Sorted by date of creation, hover over image to see demo, click image for more info)

Pica Physics Engine (2016/6/1)

(Work in Progress)

A 3D physics engine for Nintendo 3DS, ported from qu3e physics engine. The goal of this project is to learn about porting engine code from one platform to another platform, allowing more features and capabilities to be used on the new platform system, as well as to get exposure in dealing with physics. For academic and open-source purposes only. Written in C, exclusively for the Nintendo 3DS platform.

IRC Bot (WedrClient) (2016/5/15)

An IRC chat client with chat bot integration, featuring an unique interface for seeing every listened messages in one location. Supports username text highlighting, username autocomplete, and some multithreaded features, such as plugins hot-reloading, auto-response, bot commands, and more. Works with #Rizon, #Freenode, and #EFNet. Written in Python 3, using Tcl/Tk (Tkinter).

Multiplier (2015/6/31)

A 3D real-time strategy unit balancing tool for developers and game designers with ease of use for tweaking unit attributes on the fly using mathematical equations. Also, comes with singleplayer, multiplayer, and A.I. simulation game modes for players. Uses Unity 3D for web browsers, written in C#.

Get Debt (2015/3/21)

A 3D hide-and-seek game where you are tasked to capture students running away from you as the debt collector before the time runs out. Features A.I. pathfinding, 3D model animations and assets, advanced camera, and collisions. Uses Unreal Engine 4, written in C++.

Rotation (2015/1/30)

A 2D textile game for Linux systems, using the game engine, Dragonfly. The Dragonfly game engine is built upon the curses terminal control library for Linux. The goal is to escape the room by rotating the room clockwise or counterclockwise, and gravity to move yourself to the exit. Game and Game Engine is written in C++ from scratch.

Pixavive Survival (2013/10/28)

A 2D real-time strategy game, based on the Balance of Power. Goal of the game is to get your Green Team to defeat the Red Team, by placing down Spawners using tactical positional placements. All spawners spawn Attackers only at set intervals, and Attackers will always target closest Attackers and Spawners. Game is written in Java from scratch, without using any additional libraries.

Pokémon Walking (2013/5/12)

A 2D role-playing game, bundled with a level map editor and level scripting editor. In order to study the Pokémon Walking Algorithm, the aim is to accurately emulate the walking mechanics that exists in 1st and 2nd generation Pokémon main-series games, Pokémon Red / Blue / Yellow / Gold / Silver / Crystal. Features Backpack, Pause Menu, Surfing, Cliff Jumping, Bicycling, Walking, Bumping into Walls Delay Responses, and more. Not for commercial uses. Algorithm, Level Map Editor, and Scripting Editor are all written in Java from scratch.

Marble Run (2012/8/9)

A 2D platformer game for Android 4.0 and up. Goal is to get the red ball into the warp holes to advance to the next level. Controls include tilting the device to roll, and shaking the device to jump. Aim is to conduct research into Android motion controls using the Android device's accelerometer and gyroscopic sensors to control the red ball in X, Y, and Z axes. Game is written in Java, using Google Android SDK. Uses Eclipse IDE with Android SDK plugin, and Android Studio for development.

Side Projects (Sorted by date of creation, click image for more info)

Twitch Plays Pokémon Input Bot (2015/2/17)

An automatic chat commands input generator for use with the internet sensation, Twitch Plays Pokémon, that generates commands every 5 elapsed seconds. Can also be used as a Self-Feeding game mode cheating bot for the popular web game, Agar.io. Only for personal and academic uses. Written in C++ using Win32 API, for Windows only.

Raytracer (2014/11/22)

A 2.5D (pseudo 3D) rendering project to understand light diffusion, light reflection, material properties, and other lighting effects. Uses raytracing techniques to calculate the pixel colors by tracing each ray from the pixel position to the light source. For academic purposes only. Written in C++ using Win32 API.

5-way Bluetooth Relay Chat (2013/2/20)

An Android project to study the effects of Bluetooth connectivity and peer-to-peer networking architecture. Uses the Bluetooth stack to only broadcast messages simultaneously to receiving Android devices, up to 5 at maximum in theory. For academic purposes only. Written in Java for Android, using Google Android SDK with Eclipse IDE.

Tech Demo (Sorted by semester, descending)

Unreal Razor Hydra VR

Demonstration of a 3D cursor for virtual reality games. The aim of the project is to explore the many possibilities of using a 3D cursor in virtual games, using the Razor Hydra motion sensing controller, by integrating the cursor .

Going Home!

An exploration level demonstration, using weenies (a term for luring the player to the destination without giving explicit feedback), and sounds. Did extensive modeling, lighting, and asset creations. This takes place in the same campus building the project was built at.


The 2D textile game engine, Dragonfly, demonstrating Frogger. Written in C++, and uses the curses terminal control library for Linux.

Documents (Sorted by semester, descending)