Here's a link to my GitHub!
In one programming project I designed a 2-player game (similar to, but more complicated than tic-tac-toe), programmed it, then programmed an AI to play it. At reasonable settings, even I can’t beat the AI!
The AI uses alphabeta tree pruning to search all the relevant moves both players can take up to a certain amount of moves into the future. It compares the game positions at that depth and selects the move that it thinks is the strongest.
In another programming project I attempted to solve an unsolved problem in mathematics: finding a polynomial-time algorithm for determining if two graphs are isomorphic. I didn’t end up solving this difficult problem, but did cool things along the way.
First of all, let me explain what that problem is even asking. Mathematical "graphs" are how mathematicians represent networks, using dots (called vertices) and connections between the dots (called edges). Two graphs are isomorphic if (essentially) you can rearrange one to look exactly like the other.
In the top animation, the two graphs are isomorphic. You can see the mouse rearrange the left one to look like the right one.
In the bottom animation, the graphs are not isomorphic. No amount of rearranging will get the left graph to look like the right one.
Here are some key features of the project:
A few years back I made a short video game, and here’s a link to it.
It's a puzzle platformer game where your character can mind-control stone golems to push or break blocks. The game was designed in the Unity game engine, with programming done in C#. The art was made in a browser-based pixel art maker, and the music was made in a program called Bosca Ceoil.
The Game AI in the “Programming Projects” section can play a game I made up called Crisscross.
Here's a brief explanation of the rules. An example game is shown to the right.
I'm currently developing a board game themed around hiring circus performers. Here's some of the placeholder art I’ve made.
I enjoy solving and creating puzzles, so here's one for you. Guess the 4-digit combination from the clues below.
Result:
Want more puzzles? Play the game I made! There's a link at the top of the "Games" section of this website.