Programming

At age 8, I fell in love with Minecraft, and accidentally taught myself coding. Luckily, my small town middle school had a coding class. Ever since I have been creating software in my freetime. In the future I hope to apply my talents to progressive and environmental work.

My focuses are in low level language design, system architecture, game design, and new mediums of education. Below you will find a list of computational projects I have created and released.

This Website

It's coded from scratch by me.

RifL

RifL is an esoteric tactile programming language I designed and built that emulates a low-level feel. RifL's scanner, parser, and executer is coded in Racket, a version of Scheme. The language can be fully represented by stacking and shuffling playing cards arranged on a table. I designed it for educational purposes, to allow students to physically perform algorithms with everyday objects. It is also designed to invite strange new coding patterns that aren't possible in any other programming language, such as shuffling entire sections of code.

To run RifL digitially, you will need to download Racket, and then download RifL here. The full documentation can be found here.

Fourth Dimensional Shadows

Higher dimensional spaces have always fascinated me. Although mathematically and logically straightforward, visualizing them continues to be a problem. My Virtual Reality app for the Quest 2 attempts to help by letting users play in 4D spaces.

Users learn by manipulating the 3D shadows of 4D shapes. My software was built and programmed in Unity and OpenXR as my Computer Science thesis at Bard College.

My theory is that because VR is the only natively 3D medium with full spacial freedom, it is the best medium to teach higher dimensional lessons in. You can read my thesis paper, Fourth-Dimensional Education in Virtual Reality. The software for the Quest will be available for download soon, at which time a link will be posted here.

Roll Table Maker

Written over the first summer of covid, this command line software allows users to create and use roll tables, which were popularized in TTRPGs. My software fixes how slow physical roll tables are to use.

The software acts as a grammar creator and generator, allowing nested roll tables that can act as layered grammar rules. However, with the intended use of Roll Tables, I restricted this nesting to exclude recursive calls. This limitation requires graph construction that checks to make sure the graph is a tree at every step of construction. You can download and find documentation of Roll Table Maker here.

Tiny Games

Occasionally, I make short games, coded in Lua on the vintage fantasy computer TIC-80. Recently I program these games in just three days, in self imposed game jams. I enjoy the low to the ground development the TIC-80 provides, and its lack of overhead. Below are a list of the games I've made.

DARK

A puzzle game where I experiment with pixle 'post processing'. Current state: Very, very good.

Eclipse Hell

An experiment in making a reverse bullet hell, in which you are the "enemy". Current state: Playable, needs tutorial.

Fortune's Foundation Demake

A demake of Fortune's Foundation. Current state: Beautiful, not playable.

R.T.R.L.

A Real Time Turn Based Rogue-Like, mixing discreet movement and quick reflexes. Current state: Playable, UGLY.