Blob Generator

I've wanted to explore a particular aesthetic of procedurally generated shapes for many years, including the hex terrain generator. This is a more focused attempt at that aesthetic.

MycoSculpt

Winter 2021

This is a prototype exploring arena fps concepts like multiple directions of gravity and paintball/ballpit exchanges.

Programmable RTS

Spring 2020

I wrote an interpreted tree based programming language to be used for giving commands to units in an rts game. This allows you to write complex instructions and then compose them during gameplay with type checked suggestions. The game I wrote to test the language is as simple as possible.

Swap Zone

Winter 2019

Swap Zone is a match puzzle game made in the Godot engine. Each tile type uses different rules to match:
 3+ in a row
 any contiguous group
 contiguous group touching the edge
 making adjacent matches
 tetromino shape tilings

The direction of gravity is determined by your swipe, and the next pieces that will fall in are visible, allowing a little more planning. The neverending game mode with just a scoreboard allows for the flow state of the moment to take priority over metagame progression.

Zap Bracket Mono

Zap Bracket Mono

I got fed up with kerning the font that I made for my business card and Ribbon Dive, Bit Curl. So I decided to adapt it into a monospace font, and use some angles instead of only pixels. The glyphs that I'm most proud of are the numbers, braces, and math symbols. The spacing of the i and j still stand out quite a bit.

I discovered some personal preferences through this exploration, namely that I like numbers to be centered in brackets, _ to line up with the bottom of brackets, and | to go the same height as brackets rather than all the way to the descender. I think I also found a way to handle kerning that will be less tiresome, which I am excited to try out in the future.

Headphone Earpad Covers

Headphone Earpad Covers

The protein leather covers on my headphones had been flaking for years and the stitches finally started coming out. I've been looking to get into more sewing projects and decided to replace them myself rather than buy new ones. I'm quite pleased with how they came out.

Imaginative Coding

Imaginative Coding

25 December 2018

Reflecting on the process of programming as if the tools I want to make already existed.

Explored through four example projects:
 DRY Config Data Format
 Message/Comparator Compositions
 Growth Algorithms
 Error Handling Flow  read more …  

Ribbon Dive

Started spring 2015, published January 2018

Ribbon Dive is a quick, difficult, high score game with a low poly aesthetic. Inspired by SF Cave, Super Hexagon, and Flappy Bird. My goal was to create a character that felt good to control. Using very simple input with only two states, touching or not touching the screen, I could focus on how the character responded. I accounted for touch delay on mobile phones, and adjusted based on playtesting with gaming and non gaming friends. A modular music composition was created by Jared Burrell.

Global Game Jam Art

Global Game Jam Art

Spring 2017

I've been practicing my art at game jams, and it was quite satisyfing to animate frame by frame. The theme for this jam was "Waves", and you play as the runner trying to navigate the waves of emotion as the yeti throws a tantrum. If you make it the yeti you hug :)

Procedural Terrain for Roguelite

Summer 2015

Layered terrain system with custom pathfinding, procedural generation of islands and mountains, and connectivity checks. Terrain sculpting tools in editor to make multiple levels, shape edges, and direct ramps. Placement of buildings/doodads with footprints and. Intended for use in both a Roguelite and an RTS.

First Contact

Jan 2015

First Contact was made as part of Global Game Jam 2015, at Northeastern University, with a team of 5. The theme was "Now what do we do?" Our design was to simulate a world with two conflicting races of aliens, that the sentient planet had to influence in order maintain mutual happiness.

Ludum Dare 72 Hour Jam Category Winner

Ludum Dare 72 Hour Jam Category Winner

Aug 2014

Frank Brizuela and I made a game for the 30th Ludum Dare Jam, for which the theme was "Connected Worlds." Music was provided by Jared Burrell. In the game you play as an individual on a floating island. You come accross other people in other environments, with their own skills, personalities, and preferences. The goal is connect to other people, help them sort themselves so that they are happy in the group and environment that they are in, and send them on their way.

We won 1st place among jam entries for our use of theme, 8th for innovation, and 74th overall out of over 1000 jam entries.

Action RPG Prototype

Action RPG Prototype

Summer 2014

What began as an exercise in procedural generation and flocking algorithms expanded into an early stage prototype for an action rpg. The project is made in Unity. Features include:

StarCraft II Maps

StarCraft II Maps

Summer 2013

I watch quite a bit of professional StarCraft II and have played a couple thousand games. Planning and executing strategies has been a satisfying use of my time. I enjoy micromanaging large numbers of units and feeling the feedback while controlling them.

Additionally, there are aspects of the game that I would do differently as a designer. Since maps play a significant role in dictating the shape of battles, creating my own has been a way to exercise my rts design aspirations. I participate in the community of map makers on Teamliquid.net, giving feedback to other mappers and running map jams to encourage creativity.

Electric Inspiration

Electric Inspiration

(Marker)

Shelled

Shelled

Sharing should be easy impulses collide in brawling clashes with barriers felled by guarded restraint and ugly colored cues break me; I hate you let it out; get it out, before I begin to identify crush escapism flee motionlessly paralyzed in a rote roar of scribbled screams

Translation

The fell of my fingers falls short. I want to cut the paper with my pen. I wish it would bleed and contribute something to the conversation.

Wombat at Peace

Wombat at Peace

(Watercolor, pencil, charcoal)

Cheese Wheel Perspective

Cheese Wheel Perspective

(Pen, acrylic)

Wordless Cause

One once written wonder long lost spoke lightly of thee and thy grace: a tickling trickle drowning in a sea of waves. Too delicate at even a whisper or hum, to think the thought so fully flows too strong to find its way. The depth of cause and its effect, whose root eludes the power of truth, isn't easily ignored. This ethereal weight is found wanting, but is enough to be the difference between reflection and reality. The oppressive urge of right or wrong surfaces a muddy haze. Cloud cover reason and rain conviction, moving matter and minds. Open yourself to the world and you will find the way.

Chicken Fight

Chicken Fight

(Scratchboard)

Self Portrait

Self Portrait

(Chalk pastel)

Loving Embrace

Loving Embrace

(Acrylic)

Childhood Values

Childhood Values

(Watercolor, pen)

Chained to a Moment

Chained to a Moment

(Woodblock carving printed with acrylic, pen)