Log In?

Santa Cruz Portfolio


This portfolio helped earn my admittance to the Computational Media master's program at UC Santa Cruz.

Table of Contents

  1. Ryan Quest
  2. Poetry and Parody
  3. A D&D Economy
  4. The Drongo

Ryan Quest

Areas: creative, technical

Ryan Quest was a gift for Ryan Wright, my college roommate. In this interactive fiction, you play as Ryan in a fever-dream parody of his life as a Game Studies graduate student in Copenhagen.

Until I sat the protagonist down in front of the completed game, he was totally unaware that I was working on a videogame, much less one about him.

Goals and Audience

My goals were few, and simple:

I never expected that anyone but Ryan would play Ryan Quest, but while traveling with a tour group during the last two weeks of development, I mentioned the game to a couple new friends. In minutes, I had half a dozen players, all otherwise non-gamers, huddled around my laptop and strategizing about puzzles. They beat the whole game as a group.

My friends team up to play Ryan Quest during the final beta test.
My friends team up to play Ryan Quest during the final beta test.

Design and Gameplay

Ryan Quest is old-school to a fault. The player is dumped into Ryan's apartment1 with no apparent objectives, other than those implied by "Points: 0/10" in the upper-right corner, and the inability to leave the apartment without the backpack.

The gameplay consists of roaming around in a shallow pastiche of Copenhagen while fiddling with objects and speaking with NPCs. The world, the mechanics, and the player objectives teeter between surreal and absurd. If the game's tongue were jammed any further into its cheek, there would be blood.

All that aside, I did my best to incorporate gameplay and interface conventions which IF writers have converged on since the genre's mid-90s renaissance. In particular, Ryan Quest never becomes unwinnable, supports UNDO and HELP2, and always displays the player's location and available exits.

In total, several dozen non-Ryans have played, enjoyed, and laughed uproariously at Ryan Quest. Whatever else one wants to say about the game, those players' experiences are proof that I was able to make the game accessible to all comers.

I find that Inform, the implementation language for Ryan Quest, is well-suited to a creation style blending a complex, simulatory world model with an authorial desire to meet specific player inputs with hand-crafted responses. These characteristics reminded me of my D&D experience (see below), so in the future I'm hoping to explore the use of Inform for implementing real-time multi-user dungeons (MUDs). While I wouldn't want to write application software in Inform, its focus on textual input and output would allow a more robust systems-programming language to handle web requests, database access, and so on, while communicating with an Inform program which maintains the world model.

Poetry and Parody

Areas: creative, interpretive



I have been an active poet for two and a half years. A lifelong passion for making others laugh has given me the instincts required for parody, and even my non-comedic works are "light verse." I am, however, deadly serious about my craft.

To produce parody is to constantly ask questions:

You can't write parody without ripping apart your object of study, so one's answer to the last question will also depend on how the new work will position itself in relation to the old. One way to classify parodies is to follow Kenneth Baker's five-way taxonomy from Unauthorized Versions: Poems and their Parodies.

In the introduction to this book, Mr. Baker identifies these strains of parody:

  1. those "that openly attack the original writer by alluding to one of his or her most famous or characteristic poems"
  2. those which "take a well-known text like Hamlet's soliloquy ... and stick to it as closely as possible, often using the same words at the beginnings of lines and even, if rhyme is involved, the same rhyming words"
  3. those where "the target is the literary style of the poet, though the parodist may not necessarily have any particular poem in mind"
  4. those where "the parodist sets out to reverse completely the meaning of a vulnerable piece of verse"
  5. those for which "the parodist takes a famous original and uses it as a model to comment upon some topical event, political figure or social development"

As I devote my greatest attention to matters of diction and rhyme, and most frequently parody song lyrics, my parodies typically fall into group 2, or occasionally 3. I have little interest in attacking anyone, and even less interest in producing socio-political commentary.

To me, poetry is an exercise in maximizing the density of meaningful notions per line, while juggling the constraints imposed by meter and rhyme scheme. It is for this reason (and for the joy of employing my comedic abilities) that I have naturally gravitated toward parody:

Yet, there are other ways to produce high-density bundles of meaning. Writing in Classical Chinese will do it. This ancient language, used for written works throughout Asia for over 2,000 years, is famously compact, and doubly so when used for poetry. Single characters may express complex concepts in their entirety, often by alluding to other works in the enormous premodern canon. Furthermore, each character can function as multiple parts of speech (noun, verb, adjective, etc.), meaning that lines of Classical Chinese poetry may take on almost any sort of phrase structure. This flexibility allows the flourishing of rhetorical devices: two characters next to each may constitute an observation of contrast, a reference to a whole category of objects or creatures, a subject-predicate structure, a topic for the comment that follows, or a summary judgment.

In the future, I hope to make more use of web design to emphasize the connections between a parody and its original, such as by creating a "parody overlay" with markup explaining or emphasizing imitation of the source rhyme scheme, runs of original text which have been used in-place with a new meaning, words or concepts from the source which have been transplanted elsewhere in the poem, and so on. I took a tentative stab at this with JavaScript-powered annotations on my (non-parody) poem "Portland Protest Preparations," but I want to do much more.

A D&D Economy

Areas: creative, technical

One section of the price table from which my D&D players purchase items

I have run tabletop roleplaying games for many years. My tastes are maximalist. I prefer to DM3 from a large and ever-growing rule set of my own design, dispensing rulings on novel game scenarios with the knowledge that it will then be my duty to incorporate said rulings (perhaps with adjustment) into the permanent body of rules.

When, in 2012, I discovered the work of Alexis Smolensk, creator of Tao of D&D, I felt I was in the presence of a great gaming prophet. While my attention to D&D itself has waxed and waned in the years since, I have never stopped reading his blog and marveling at his endless capacity for work. Millions of people have played D&D, and thousands have written about it, but the gap between what others have created, and what Alexis has wrought, are as the distance between Earth and its moon (or even the sun.) Others pontificate. Alexis studies.

The most inspired aspect of Alexis's game was his series of maps which cover most of the planet Earth in tremendous detail. He uses these maps to support pricing mechanisms which ensure that players visiting one or another commercial market will find that items for purchase are only available at costs which reflect the difficulty involved in transporting or creating said items -- if they are available at all.

In 2015, I resolved to use my budding programming skills to create a digital version of my game world, with the ultimate goal being to implement a version of Alexis's economic system for use at my own gaming table. While I am too embarrassed to show the wretched code, I am pleased to say that over the next three years I got the project to a state usable in real gameplay.

Part of the world map...
...and the whole thing at once.

To begin, I wrote a Python terrain generator handling elevation, land and sea distinctions, distribution of moisture, hot and cool areas, climate, the placement of market towns, and A*-pathfinding4 to determine how said towns should be connected by trade roads. I also implemented a Haskell program to render the resulting terrain and roads into SVG images.

After assigning, on the basis of climate, various raw materials5 and services6 to each of the market towns, I was able to start in on the real work: specifying how each of these materials and services combined together into larger components, and ultimately into finished goods for market.

This required much research into 17th-century manufacturing techniques. By the time I lost steam on the project, I had specified over 300 such production "recipes" for everything from ultramarine writing ink (made from lapis lazuli), to barrels, to chainmail; from Norse-style faering rowboats, to hats and gloves, to beer, wine, and rum (complete with precise calculations of each alcohol's ABV.) Here is an ancient post from my college-era blog discussing the rowboat calculations.

Another section from the price table

The genius of Alexis's system is that its existence supports new types of game play. Savvy players, knowing that, say, Toledo is positively infested with metalworkers and swordsmiths, will prefer to travel to that city when they want to equip forty or fifty mercenaries with longswords. My goal was to support that depth of play in my own game.

While I never got anywhere near as far as Alexis, I would call my project a success. Each player-purchasable good, requiring inputs of raw materials, services, and intermediate goods which all varied in price thanks to the distance system, showed enough pricing variation that the players would make plans to move from one area to the next partially on the basis of how much it would cost to live, or hunt, or drink in a certain city.

The Drongo

Areas: creative, interpretive

The Drongo is a newsletter in which I interview people living wild and unusual lives.

Although I only began The Drongo in December 2020, by January 1st, 2021, I had enough interview signups to fill six months of twice-monthly interviews. As of January 9th, half of those interviews have been conducted, and are being prepped for publication. Based on the participation I've gotten for previous "open call" events, I'm confident I'll end up conducting at least thirty interviews -- more than a year's supply.

The point of The Drongo is to create new edges in my social graph. By introducing friends and contacts to one another in their own words, at length, I can spark new friendships which would otherwise never have had a chance to grow.

As is fitting for artwork dedicated to lifting up my friends, I was inspired to create The Drongo by the comments of two people who are dear to me.

In early December of 2020, as my old friend Chris Stasse was staying with me, he noted a curious gap in one of our mutual friendships. "Max, you know Alexi C., Jordan, and me. Alexi and Jordan are old friends, and Alexi and I are old friends. But, even though I've heard of Jordan for years, and you and Alexi both know him, and I know Jordan and I would get along -- why, we've never met!"

Some months earlier, I'd had a vague notion that I ought to write a web series in which I promoted my friends. That idea had fallen by the wayside, and I figured I'd pick it up again eventually. Once Chris made this observation, however, I knew that that project's time had come.

In January of 2020 -- so early that nowhere but China had any inkling of a pandemic -- my friend and mentor, the great Alexis Smolensk, had given me counsel on how to proceed, in life and in art, without despairing over what seemed to be a total lack of success. Here is an excerpt.

[Art] is not about your pain or your doubts. You're the one with the mind and the ability to throw off the shackles of propriety, and step up to the task of making this world a better place, despite your fear, your pain and your doubts.

You're not elected to hang back and watch; you're elected to lay your body down on the wire as a bridge for others to climb over -- and to accept that it means sacrifice and discomfort. That you'll likely not be remembered for it, or appreciated.

"Lay your body down on the wire" has become my watchword. As I began making arrangements -- as I set up a mailing list, contacted friends, and began writing interview questions -- as the completed interviews began to roll in -- I heard that phrase in my head, countless times. I'm thinking of it as I write these words, too.

It took me a year to understand Alexis's advice, but with The Drongo, I know am laying myself down on the wire. Carpal tunnel be damned. I don't mind the sacrifice one bit.

  1. When I made Ryan Quest, I was unaware of how tired the "my friend's apartment" IF trope is. Had I known, I would not have made it possible to gain any points in the apartment, so that savvy players would not roll their eyes and dismiss the game as an "apartment game." That said, the typical "apartment game" takes place entirely in someone's crappy apartment, while Ryan Quest quickly nudges the player outside to discover the rest of the game world. Furthermore, there are several nods to the real-life Ryan that could only be properly placed in the apartment.

  2. But, since I implemented HELP early on and few people needed it, it never got much love. Better help is available on the game's webpage: How to Play is suitable for text-adventure newbies, while Commands is a concise reference.

  3. "Dungeon Master," i.e. the person tasked with running the game world and responding to player's actions. This role is also referred to as the "Game Master" (GM) or "referee." The choice is not arbitrary -- it is a fundamental principle of linguistic semantics that no two words are exactly alike -- but for the purposes of this portfolio, there's no need to quibble.

  4. This included a consideration for elevation, such that a road running on level ground around a high mountainous area would be preferred to one which ascended into the mountains and back down.

  5. For example: numerous metal ores, coal, timber, and salt; sheep, cattle, cod, herring; flax, wheat, tobacco, cotton, and sugarcane; cinnabar, phosphorus, and lapis lazuli.

  6. For example: blacksmiths, coopers, butchers, millers, cheesemongers, glassblowers, alchemists, brewers, potters, dyers, hatters, tailors, carpenters, and "lumpmen" (salt makers.)