Game Design Portfolio


Bloody Business

Play Bloody Business in your browser.

Check out the Game Design Document.

Read some excerpts from my writing samples.

Overview

This project is a prototype for a narrative resource management game made in Twine for Rob Gallerani’s Game Design course with ELVTR. All work, from conception to completion, was completed by me. My original vision for the project is as follows:

A narrative and resource management game about running a nightclub as a vampire. Players must balance the needs of their business and the needs of their vampiric form, all while dealing with rival monsters and human patrons. Resources involved are money, human customers, and your own humanity.

From this vision statement, I set out to create a dark comedy business simulator, and landed on Twine as a good engine with which to make it.

Documentation

The game prototype concept was simplified greatly to be something I could accomplish working on it during evenings over a couple of weeks. The design was documented nearly in its entirety before being built out as a paper prototype, with some adjustments made later as I play tested and built out the content. The game design document is available as a pdf in the link above.

Twine

After completing the documentation, I translated my prototype into a Twine project. This was my first time really utilizing Twine, and I had a good deal of fun with it. I played around with player choices more in the Twine version of the prototype, in the hopes that it would allow for a bit more player agency in a game about numbers and randomized events. I thought the random narrative events might be difficult to implement in Twine, but the storylet system was remarkably easy to use and even solved a problem that I’d been having in the paper prototype — namely that some beneficial events would appear at a time when the player couldn’t take advantage of them. I didn’t think that outcome was fun. The storylet system allowed me to set as many parameters as I wanted, such creating an event that only appears if a resource has fallen to a certain amount, or only if the player has encountered a previous event in a chain of events. After my experience using Twine for this project, I can see myself coming back to it soon.


The Hero Returns

Overview

These are the results of an exercise that I did as a part of Susan O’Connor’s game writing masterclass, The Narrative Department. It was done as a lesson in flowcharting a game’s narrative structure. I had done some game writing flowcharts before as a part of indie projects, but it was nice to have examples of professional work to base this on and I was quite happy with the results.

THE SETUP

The flowchart is based on another exercise about creating a new story pitch for a game while maintaining the rest of its story stack; fantasy, action, economy, world, and story for those unfamiliar with this concept. For that exercise I had chosen to redo the story of Dark Souls into something more JRPG in flavor, though also inspired by Shadow of the Colossus. This was the original vision:

The prodigal hero returns! Only this time, he's working for the Dark Lord! As the Risen Hero, return your new master to his full power by hunting down your old allies — the Berserker, the Priestess, the Rogue, and the Wizard — and retrieving from them the lost pieces of his soul.

This is the area for the second major boss of the game, following the Berserker. How the Priestess reacts to the player is dependent on the actions that the player makes both before and during combat with the Priestess boss. I also include a choice at the very end, which is meant to lead to both mechanical and story benefits.


Warp Engineer Simulator

Play Warp Engineer Simulator in your browser.

Check out the source code on GitHub.

Overview

Ludum Dare 49 entry. The theme for the game jam was Unstable. We were a small team of three; two programmers and me, a generalist with a bit more game development experience under me. This time around we tried out Godot, which none of us had really worked with before, but I had done a quick tutorial for it a few days prior and it promised to be easy to use. We used the GDScript implementation for all code during the project. We managed to commit to a fairly straightforward puzzle game design based around matching sine/cosine waves within a couple of hours of beginning the jam, but didn’t add the Trek-like theming until much later.

My Contributions

I acted as a designer, programmer, and subject matter expert for the Godot engine and game development generally. I designed the user interface, general architecture, random technobabble message generator, and the rounds and timer systems. I coded the game state workflow, timer, messaging system, and many other odds and ends. I also found and wired up all of the sound effects that we used.

Technologies used

Godot 3.3 - game engine, GitHub - code repository


Taco Giant

Play Taco Giant in your browser.

Check out the source code on GitHub.

Overview

Ludum Dare 38 entry. The theme for the game jam was Small World. I worked with a small team of friends, none of which had any game development experience but enjoyed the idea of making a game. We settled on Phaser.js as our game engine for multiple reasons, the primary of which being that Javascript was the only programming language we all shared. The only limitation we placed on ourselves, aside from using the theme, was to ensure the game was mostly non-violent. We decided to make a game about a taco-delivering giant working in a world built for someone much smaller than him.

My contributions

I was the lead designer on this project, also managing production for the game by taking and sorting people's ideas and maintaining everyone's tasks and priorities. I managed the code repository and handled code merges. I wrote the animation scripts, scoring system, and the player controls. Finally, I assisted our primary artist by creating a few of our art assets. 

Technologies used

Phaser.js - game engine, Pyxel - sprite creation, GitHub - code repository, GitKraken - repository management, Scrumy - feature/task management