Saturday, July 13, 2024

Different lessons from Mozart

 

Geoff Engelstein brought up Amadeus while writing about “the question almost all of us have to wrestle with - what do you do when you realize that you’re very good but not great?”

I… don’t find that question very relatable? (Let’s meet back here later to discuss what it's like to realize that you're very good.)

Amadeus lives in my head for a different reason: it shows that most of us have to make an effort.


In the movie, Salieri is stunned that Mozart’s music needed no editing, revision, or correction. Who actually works like that? A freakishly talented, once-in-a-lifetime genius, that’s who.

The rest of us need to struggle through multiple drafts and revisions while strengthening what works and discarding what doesn’t.

It’s the Ira Glass quote about closing the gap between the works you’d want to create and the works you create when you’re just starting out. You need a lot of practice to develop your skills, and that means being kind to yourself when your early practice falls short. 

Look away from the remarkable brilliance of the person working without rough drafts to recognize that everybody else is experiencing similar struggles to improve. That's why the genius is notable! What made you think you'd be an exception? 

And on the topic of getting a lot of practice, Blaugust is coming up. I wasn’t successful at writing a post every day during the month of August in 2023, but I have published a post every month for the past year, and that’s better than nothing.

Saturday, June 22, 2024

Truck Quest: The cutting edge of 201X

Black and blue strings of ones and zeroes that suggest computer code.

When Donald and I started working on Truck Quest, we needed a design for Samson, the eccentric loner who actively opposed surveillance capitalism. It was 2018, more than 10 years since Anonymous made headlines for opposing the Church of Scientology. “Mr. Robot” had also been around for almost half a decade, which gave us some ideas about what Samson would look like and who he would be connected to.
  
Although the Guy Fawkes mask was an obvious idea, it wasn’t a good fit for our paranoid activist. There’s no way his efforts to undermine exploitative globalization would use a mass produced commodity that generated revenue for a major entertainment conglomerate! Samson might have had some unusual opinions about how society should work, but he wasn’t an idiot.

Instead, we looked at some of 2018’s cutting-edge solutions for remaining unrecognized: 
Samson ended up with several different disguises to remain incognito.


Sunday, May 19, 2024

3 Insights into Procedurally Generated Narrative

As a book, Procedural Storytelling in Game Design has not quite been what I expected. The marketing material declares that “The reader will learn to construct narrative systems, write procedural dialog, and generate compelling characters with unique personalities and backstories,” and that has not exactly been my experience. 

It’s never smart to believe marketing material, but this reads more like a collection of essays?

That’s fine — the essays are written by smart people! — but it’s not a step-by-step instruction manual. Each essay has its own perspective, and they don’t always fit neatly together for a clean set of best practices.

I still copied down some ideas to swipe for later.

I. The Bare Minimum.

In Chapter 3, “Generated Right in the Feels,” Veteran game designer Jill Murray (“best known for her work on Shadow of the Tomb Raider, The Big Con, and a handful of Assassin’s Creed games”) writes about her experiments trying to identify the smallest, sparsest, most sketchy set of details that could make characters seem relatable. “We know that players have a great natural capacity and enthusiasm for attachment and interpretation. Why not provoke them to use it on purpose and shift some of the processing power to the players’ minds, so to speak.”

Murray tested this idea by developing a character generator that created sets of descriptive details. It turned out that providing too many details distracted people from the character by encouraging them to play around with the generator. “A sparse level of detail was more likely to tap into players’ creative minds and provoke them to consider the person behind the list.” 

II. Clever Combinations.

In Chapter 8, “Curated Narrative in Duskers,” Tim Keenan and Benjamin Hill (the creators of Duskers) discuss how identical story components can create different narratives when they’re encountered in different orders. They gave an example with a dead rat and two discussions of how it got there: maintenance technicians explaining that dead rats are found on spaceships all the time, and scientists talking about how it could be a sign that something is seriously wrong.

Test audiences read both perspectives, and “most of those who read the scientist’s email first generally felt the scientist was on to something and the operators were being obtuse, while most of those who read the operator’s conversation first were more likely to think the scientist was overreacting.” Using this insight, they broke their game’s stories into a series of small ship logs from different points of view, allowing players to experience the narrative differently and encouraging them to draw varied conclusions.

III. Planned Absences

In Chapter 18, “Dirty Procedural Narrative in We Happy Few,” Alex Epstein (narrative director for We Happy Few) discusses the challenge of telling stories in a procedural sandbox. He relies on the fact that people will eagerly assemble their own stories from a set of disjointed facts, approaching procedural storytelling with what he calls “dirty narrative.” Epstein says that while good dirty narrative stories have the same elements as every good story, “what distinguishes them is that, instead of trying to make as clear as possible what happened to whom, where, when and how, they intentionally demand interpretation.”

Epstein goes on to explain how dirty narrative can use lies, absences, mysteries, inconsistencies, and tangents to outline negative space around a story that the audience fills in themselves. “All dirty narrative could be boiled down to ‘something should be there but isn’t’ and ‘something’s there that shouldn’t be.’” However, he also warns that dirty narrative is “execution dependent” (i.e., something that will be awful if poorly implemented).

I might have chosen these points selectively to support my own biases (Dear God, these essays make so many points), but it seems like good procedural narrative ends up being willfully incomplete. When a system creates a single, definitive story that has no room for interpretation, it’s tougher to engage with.  

Image credit: wilderjjss / Pixabay

Thursday, April 25, 2024

Avoiding or Adapting Combat Systems for Games


Combat systems are expensive for game designers. Daniel Cook, Chief Creative Officer at Spry Fox, has gone so far as to call them a resource-intensive trap

From an aesthetic perspective, Postgoodism also prefers non-violent game mechanics. When he created Don’t Get Wet, he was concerned about yet another fighting game blending in with all the combat games out there. 

I’ve stumbled through enough game design of my own to implement an RPG-style combat system in Twine, and it wasn’t too difficult. Implementing a system that was interesting and fun ended up being the real challenge. 

RPG combat systems normally rely on a bunch of stats that are engineered to change over time. While I can understand the functions involved in changing those numbers (especially when someone smart explains them), I have difficulty understanding the experiences that they deliver for players. 

Luckily, Daily Adventure Prompts has offered an explanation that uses chess pieces to explain different combat roles: 
  • Infantry (pawn): Low-level threats that take up space on the battlefield and get in the way. 
  • Brute (rook): An outright threat that should not be attacked directly. 
  • Skirmisher (knight): Ranged or highly mobile fighters that target weak spots. 
  • Controller (bishop): Enemies pursuing goals in the background (“the cult priest finishing the disastrous ritual, the master thief making off with the mcguffin”), frequently protected by a hazardous/hard to bypass barrier. 
  • Support (king): Piggybacks on other types of units to make them better at doing their jobs. 
  • Elite (queen): Mixes the strength and abilities of two other types of combatants. “Combine a brute and a support for an unstoppable frontline commander, or infantry and a skirmisher for an elite striketeam that attacks in perfect coordination before fading back into the shadows.” 

These classifications make a bit more sense for me. I still agree with Daniel Cook and Postgoodism: combat systems require big investments that invite comparisons with a massive range of titles, but some of these ideas can make a game's fight sequences more distinctive. 

It turns out that Nessa Cannon was right — more people should be using chess in game design.
 
Image credit: Wadams / Pixabay

Sunday, March 24, 2024

Robust Action: A Thursday in Space Retrospective

Cover art for the game "Thursday in space"

“Single actions can be moves in many games at once.”

That’s John Padgett and Christopher Ansell describing robust action, the mechanism that the Medici family used to retain power in 15th century Venice. (Xavier Marquez also writes that robust action was how Francisco Franco managed adversarial factions in the 20th century.) 

TL,DR: When there’s more than one reason to do something, it’s more likely to get done. That’s true whether you’re manipulating political rivals or giving time and attention to the ideas in your own unruly brain. 

It’s why Donald and I participated in the 2023 Neo-Twiny Jam.

Why we did it

Our goals were: 

  • Publish a game in 2023
  • Develop mechanics that could be implemented elsewhere
  • Apply novel constraints to inspire creativity
  • Reach a larger audience through the game jam community

Making a public commitment to the game jam held us accountable. Participation was also linked with donations to an anti-hate group, which was a nice bonus.

How we did it

The jam’s 500-word limit was around the length of an in-depth blog post. That gave us room for an introduction, a conclusion, and 3 to 5 decision points that could be 70 to 100 words each, depending on how many choices we provided. 

We wanted the experience to feel like being an Amazon driver in space, and Donald’s artwork did a lot of the heavy lifting to reduce wordcount. He spent time googling images of tug boat galleys for reference, working to establish the cramped environment of the ship along with its worn and threadbare equipment

This was the first time our projects used Clip Studio Paint, and the short time frame forced Donald to learn the program quickly. The claustrophobic reference images started getting to him, but the end result constrains the player within a cramped world. 

Initial sketch of a ship interior from the game "Thursday in space"

Following Emily Short’s recommendation for writing the through line first, we put together a linear story that had 5 choices. Then we broke up the story to present the first 4 choices in any order — the Good Place approach of “taking something great and ruining it a little so you can have more of it” — which made each playthrough a bit different. 

We used one MS Word document to track the wordcount in our display text, and a separate Word document held design notes and lists of things to do. As we got closer to the game’s release date, we did more coordinating via Discord messages. Not very sophisticated, but everyone has their own approach.

More detailed, colored imagery from "Thursday in space"

Thursday in Space involved more CSS work than our previous games. The sidebar uses Terminal with Scan Lines code created by Patrick Himes, and custom work was done for the borders and rounded edges on the buttons at the end of every passage. Code randomly set each button’s destination passage by using pluck to pull from an array of the unread passages. When every passage was removed, the button sent players to the final choice. 

There were 24 different ways to get through the story, which meant that we had to rein in combinatorial explosion by making some choices less meaningful than others. The random order also made it more difficult to test things properly. (Some players have reported that the stowaway doesn’t behave consistently, which is a bug I haven’t been able to fix.)

How it turned out

A final animated .GIF from "Thursday in space"

We accomplished a decent number of our goals.

  • Publish a game in 2023

A clear win, in line with the eternally relevant gamedev advice of making and releasing lots of small games to develop your skills. 

  • Develop mechanics that could be implemented elsewhere

Another win, using CodePen and experimenting with new ways for storylets to work together.

  • Apply novel constraints to inspire creativity

On the one hand, the Neo-Twiny jam gave us the focus that we needed to accomplish the first two goals. On the other hand, some of the choices in this story felt less meaningful than others, which the audience noticed. 

  • Reach a larger audience through the game jam community

This didn’t go so well. Sorting the jam entries by popularity puts Thursday in Space in the bottom 20% of entrants. 

Consolation prize: We realized that we could re-use assets from Project Arcmor, our game from 2021, and then we linked to it as an easter egg inside Thursday, in space

Tuesday, February 13, 2024

Game design documents: Plans come in many forms

When I was creating my first games, I didn’t think I needed to bother with design documents. 

Eventually, I realized that I was creating them anyway. I left notes for myself in various formats:
  • Comments in the code itself. It’s right there, which makes it easier to reference, but it gets distracting. The other problem is that it gets tricky to clean up comments later (unless you’re okay with distributing exasperated rants about your buggy, poorly implemented code).
  • Plans written on paper. Working in a space outside the game’s systems — especially outside of the computer — helps for visualizing problems in new ways. The tough part is maintaining the discipline necessary to convert those solutions back into digital formats.
  • Digital files. Donald and I have been doing more with Google Drive documents, and digital records are useful for copying and pasting ideas between plans and projects. The risk is that “the map is not the terrain”: It’s easy to waste time perfecting the design document instead of developing the game. 
Each format has its own strengths, which is why the broader concept of “what a Game Design Document should look like” ends up being such an amorphous glob. I have found many perspectives online:

  • What should a Game Design Document consist of and why should I write one? Thomas Steffen asks and answers this question, asserting that “Builders don’t just build, they make blueprints and follow measurements.” He also notes that the document will need to be flexible enough to accommodate changes and iterations during production. 

  • How To: Write a Game Design Document is the full Game Developer treatment from Danielle Riendeau, discussing common elements and providing examples (design documents from Grim Fandango and Deus Ex).

  • Creating a Game Design Document is Brenda Romero sharing her thinking. She writes, “There are sometimes multiple ways to do something right in the game industry.”

  • Common game design documents is a collection of archetypes put together by Max Nichols. He dismisses the idea of a monolithic, contains-every-detail-you-need design document as “a tidy fantasy.” Instead, he lists different ways that teams can communicate necessary information.

  • Game Design Document template for independent developers was created by Jason Bakker. I liked his advice to “Be thorough, but don't be absolute. Remember that everything must be allowed to change and evolve over the course of the project, and the design document is a general description more than a blueprint.” 

There are also documents online for Grand Theft Auto, Diablo, Doom, and Monaco

Ultimately, the game design document ends up taking on whatever form is most useful for the team that needs to use it. (Game design is all about testing and experimentation, which includes experimenting with the tools you use to make it easier.)

Monday, January 1, 2024

Keeping Imperfect Records

During Blaugust, I read Ocho’s post about maintaining and managing a backlog of unplayed games. It gave me some things to think about. 

I like tracking the games I’m playing for two reasons: the mindless busywork of recordkeeping is soothing when I don’t have the time or energy for actual gaming, and it helps me manage some of the more extreme mood swings that can come from beating a game. 

A lot of times, I get close to finishing a game and put it aside because I don’t want it to be over. If I’m lucky, I return and take care of unfinished business — I finally beat Inazuma Eleven and Metal Max: Xeno last year, which was rewarding. (My attempt to return to The Last Story was less successful.) 

But beating a game is like being the dog that caught the car it was chasing. I’ll be absolutely blown away by the experience for as long as the game lasts, and then I suffer an existential crisis. What am I supposed to do now that this amazing ride is over? 

That’s when the backlog helps with a list of shiny objects unplayed/unfinished games that can serve as distractions. 

Those are the theoretical benefits. But practical experience has taught me that managing my relationship with the backlog is as important as managing the list itself. If the backlog is a system for managing games, it needs to be a well-designed system that fails gracefully

I don’t need another collection of unfinished projects to feel guilty about. Instead, I should be okay with a backlog that's not completely accurate, or even one that gets abandoned. My PS2 died, and I’m not likely to see the end of Rogue Galaxy, Dark Cloud 2, Wild Arms 3, and several other games. I don't need them haunting the list as perpetual failures.

I’m playing these games to have fun, not to discharge obligationsLoosely tracking my unplayed/unfinished game backlog has been working for me, and I don’t want to turn it into an obsession. 

I think I’ll keep things unchanged in the year ahead.