Nathan's Personal Projects

Coding is fun.

I was seven years old, and I had a problem. My train tracks spanned the whole downstairs, but I was never able to conquer the mountainous terrain of the stairs. So, I embarked on an all-day campaign to construct an ascent route up the treacherous, winding landscape of our stairwell.

I am surprised I did not discover coding earlier. While I have most certainly grown since my train track days, I have retained my passion for building intricate creations, and have a demonstrated history of delivering results.

Here are some of my projects.




My Projects




Tomb Terror (C++)

The classic game of Pacman, with a twist. Tomb Terror is an interactive RPG where crash-land into a dark forest. To escape, you must collect all of the pieces of your ship, which are scattered around the forest. As nightfall approaches, you must hurry before the forest's mysterious secrets come back to haunt you.

In this project, I worked with a team of three other people. I helped implement code design principles, such as polymorphic game objects to reduce code duplication, and AI behavior under different conditions.

After pitching our project to companies at the EECS 183 Winter 2017 showcase, we were awarded the EECS183 Showcase Session winner for best Arduino game by Stryker in a showcase of 200+ participants.






Knight's Tour (C++)

I'd always wondered whether a knight on a given chessboard can travel to every other square on the chessboard without stepping on a square twice. So, I coded it.

Except, given the exponential nature of the problem (each a knight, at most, can move to 8 other squares), the program took literally possibly forever to run for any board sizes bigger than 7 x 7. However, after some optimizations, such as Warnsdorff's heuristic, the program can solve most boards up to 210 x 210.

This problem is a narrower version of the more general NP-complete problem of Hamiltonian tours in determining whether, given a graph and a set of undirected edges, it is possible to find a path that visits every node exactly once.

Since I wrote a shell script, the program can be downloaded by just opening your terminal and typing in two commands.

Here's a link to my Knight's Tour.






Battleships (In Progress - C++)

In progress of writing a turn-based battleships simulator. More to come in the future.