I am a professional software engineer working in the Kansas City metro area, having studied Computer Science at Washington University in St. Louis and Physics at the Nebraska Wesleyan University. This is my personal website, where you can see some of the personal engineering projects that I create in my spare time.
One of my hobbies is creating emulators for older video game systems. To date I have created Chip-8 and Game Boy/Color emulators in Rust for desktop and browser, and ported the Chip-8 emulator to Pico-8 in Lua. I've also written a short book on Chip-8 emulation with Rust.
Pico-8 is a "fantasy console" designed to allow you to make games in a classic 8-bit style, but with some modern sensibilities, such as the Lua language, desktop and HTML export, online browsing, and more. I've created several games, in different genres and styles, that can be played from the browser.
In my spare time, I serve as a moderator to the Stardew Valley Discord server with 135k+ members. To assist with its function I've made several Discord bots to perform various utilities, such as moderation functions, XP and level tracking, assigning user roles, and more.
Video Game Modding and Hacking
Combining my interests in making games and emulators, I've made a few mods and romhacks for commercially existing games. These are both traditional patches to games, as well as some browser utilities to allow a greater degree of control to the modifications.
- Kirby's Adventure - Randomizer - A browser utility to generate randomized Kirby's Adventure ROMs for NES.
- Pokemon Picross - Reduce Time Penalty - A romhack for the unreleased Pokemon Picross for GB to reduce penalty time.
- Multiple Kirby games - Kirby Color Editor - A browser palette swap editor for several Kirby games
- Kingdom Hearts III - Formchange Skin Pack - Change Sora's default appearance to any of the Formchanges in the game
Misc. Projects and Experiments
In addition to some of the more organized projects I've completed, I've also worked on an assortment of miscellaneous projects that don't fit into other categories. Here are a few of my favorite.
- Userspace driver to add macro support for the Logitech G910 keyboard on Linux
- The Ecco the Dolphin text generator
- A recreation of the Living Worlds color cycling effect in Rust
- Utility plug-in scripts for the Aseprite pixel art editor
- Hexdiff - A simple binary comparison tool written in Rust
- ALPS - A lightweight program to apply several common patch protocols (WIP)
- Incredibly tiny version of 2048