Jam games

Title Jam Description
Within Yourself Ludum Dare 48 (Compo) A short little puzzle game. This was meant to have a story alongside, about looking progressively deeper into someone’s psyche, and puzzles about moving objects between levels, but I’m no good at stories, and I ran out of time to implement cross-level travel (or very many puzzles). Made in Unity 3D.
Universe Savior Ultra X Ludum Dare 41 (Compo) I was gonna have a whole bunch of different genre minigames and a story and all that but this is all I had time for. Controls are arrow keys and spacebar, theoretically a gamepad should work too but I haven’t tried. Made in Unity 3D.
MiniAnna Jones! Ludum Dare 38 (Compo) Join MiniAnna Jones in the Quest for the Golden Noodle! Travel to remote islands of all shapes and sizes to dig and discover lost ruins. Gamepad and Keyboard+Mouse supported, Gamepad recommended. Press Esc or Start if you get stuck. Made in Unity 3D.
Headphone Goldfish Global Game Jam 2017 Headphone Goldfish is about an oblivious fish who swims through the ocean while listening to sick beats. How to play: Move your mouse back and forth to control your speed. Slow down or speed up to avoid obstacles. When you see a glowing music note power up, you must click your mouse on the downbeat of the music to collect it to earn an extra multiplier. Taking damage will reset your multiplier. Taking damage 10 times and the game will be over. Enjoy! Made on a team of six with Unity 3D and FMOD Studio (I was the graphics, menu, and auxiallry gameplay programmer).
Lost Veil Ludum Dare 37 (Compo) I didn't have any solid ideas for gameplay, so it's just a typical escape-the-room game. Keyboard W/A/S/D for movement, mouse for looking, mouse left button click for interacting with objects. The game ends when you leave through the door. Made in Unreal Engine 4.
Shi Ludum Dare 36 (Compo) My first time using Unreal Engine. Of course I didn't get as far as I wanted, but hey, it was a learning experience!
Chronanian Myst Jam 2016 Experiment in using Myst III-style panoramas in WebGL. Rendered in Blender with Cycles. Made in HTML5/JavaScript using TWGL.js.
Rune Tree Global Game Jam 2016 Two players come together in a battle of wits. Draw glyphs to cast spells so that you can grow your tree to glory. Combine and stack glyphs to make unique spells to give you the edge. Complete your tree to achieve victory. Made on a team of five with Unity 3D (I was a programmer).
BallBall Babbaballoo! Ludum Dare 34 (Compo) Use left and right (or A and D) to move the ball back and forth. Press both at the same time to speed up. Dodge obstacles, and go for a high score! Made in Unity 3D.
Tall Tales Ludum Dare 30 (Jam) Enter the mysterious world of a book of old fairy tales. The book is worn, and some stories have fallen apart into others! Help Sir Knight the Magnificent finish his story by helping others. Made by a team of two with Unity 3D (I was the programmer).
PILLOWMAN Defeats the Robots Ludum Dare 27 (Compo) Help Pillowman defeat the robot menace in this action platformer where the goal changes every 10 seconds! Made in HTML5/JavaScript using Crafty and Box2D.

Other projects

Title Description
ios-notif-forward A little desktop tray app that listens to notifications from your iPhone over Bluetooth and shows them on your computer
MusicGamez A website to help you find maps for your favorite rhythm game. MusicGamez matches game levels to MusicBrainz metadata, and uses the in-depth knowledge from MusicBrainz to group maps by artist, label, genre, license, and more.
I'd like to have written more A short game I made in a weekend about how I was feeling
frontpriority A small Linux command-line tool that automatically prioritizes the process of the active X window
smstools Custom Python scripts for decoding data files from Super Mario Sunshine, Zelda: Wind Waker, and more
mastodon_import_emoji An admin script to import Mastodon custom emoji from various places on the internet
Domain Hacker Bot Mastodon bot that posts dictionary words that are also unregistered domain names
MyWorldGen A Minecraft mod that allows for highly customizable world generation
blender-ldraw Imports LDraw model files into Blender
Random TF2 loadouts My first simple AppEngine app. Chooses a new loadout for you.
Apple Mail to Simplenote An app to upload locally stored notes in Mail.app to a Simplenote account

If there's anything I missed you can usually find it on my GitHub profile.

Old projects

Category Description
NodeBox scripts NodeBox is an environment for artists and programmers to make neat 2D vector graphics using Python.
Python scripts Python is a popular scripting and programming language. Iʼve made a few conversion scripts and such.
Quartz Composer compositions Quartz Composer is a node-based environment for making realtime 2D and 3D visualizations. I've made a few screensavers, visualizers, and video filters.
iOS apps iOS is the operating system for the iPhone, iPod Touch, and iPad.