Star Wars: Jedi Challenges
Star Wars: Jedi Challenges is a phone-powered AR experience produced by Disney. While at Schell Games, I was on the team responsible for implementing the one-on-one Duel mode, which pits the player against iconic villains from the Star Wars franchise.
I was personally responsible for prototyping and implemening the combat systems for Duel, including blocking, dodging, and counterattacking the enemies. I worked closely with the combat designer to give him the systems he needed to create a variety of fun and interesting battles.
I also took up a support role within the team, authoring several tools to help speed up content creation workflows and helping the artists to trigger their effects.
Graphing Window for Unity
In the middle of 2017 I began working on a tool for graphing velocity and acceleration data for tuning the impact thresholds in Star Wars: Jedi Challenges. We ended up not needing much from such a tool, but I decided to re-implement it on my own time and ended up adding a variety of enhancements.
The result is SimpleSample, an open-sourced graphing untility that supports multiple data sources with a number of controls to make examining real-time data easy from within the Unity Editor.
PlaneSnake is a 3D snake-like game in which the player navigates a voxel cube eating fruit and avoiding walls + her own tail. Drag the screen to change direction, tap the edge of the screen to rotate the cube. Development continues to occur, albeit sporatically.
My procedural art (see "Procedural Image Generation in Go" below) is, I feel, best appreciated at scale. As I'm not a well-known fine artist, the easiest way to achieve this goal is to build my own gallery. It uses simple first-person controls to allow people to wander and gaze at my pictures at their intended sizes.
SPACEGAME Demo Level
This demo is a 2 minute test level for polishing systems and getting player feedback on the game I was working on for the first half of 2015. Much of the art comes from Oryx Design Lab, but all additional art (the plug puzzles), audio, and code is my own.
The main systems being tested are basic player movement, terminal/repair interactions, clarity of terminal/door lights, and general usability of the repair puzzles.
Repairing took me a little over a week to take from the basic idea to the current implementation. The ship repair puzzles can be generated with plugs having random or preset positions. The user experience is designed to be as intuitive and frictionless as possible. The puzzles themselves are also not very challenging; this is intentional for the test level. Nobody should be so stuck on one of the repairs that they are no longer able to make progress.
This level itself took me about one day to put together from the prefabs in the larger game.
Speculative Vendor Redesign for Destiny 1
At the initial release of Bungie's game Destiny, players would rank up with different factions to unlock higher-level gear which would enable them to tackle endgame content. My proposal builds on the system to provide that path to endgame content along with investing the players further into the universe of Destiny and providing a clear roadmap for players to make informed choices about how to approach long-term goals.
I don't have the real-world data about how quickly players in Destiny are able to gain experience and level up, but in the doc I make estimates and use them to set specific targets for tuning the faction leveling system.
Procedural Image Generation in Go
Over the course of two weeks in June of 2014, I taught myself Google's Go language to implement an algorithm of my own design which fills an image with every colour in the 24-bit RGB colourspace. The trickiest parts were representing the RGB colours in a way which made it easy to determine which colours had and had not been used and addressing visual effects arising from specific implementation assumptions.
In August of 2015 I picked up the project again to abstract certain algorithm decisions to provide more flexibility, optimise the runtimes, and add the ability to seed images with photographs.
Neural Networks in Go
Neural Networks are a fascinating algorithm, unlocking the ability to solve complex classification problems by training the netowrk on pre-classified data. My university's AI courses didn't cover neural networks, but after graduating I decided to explore their theory and implementation, resulting in this simple network written in Go.