- Anti-identification glasses. Abstract patterns printed on cheap plastic frames.
- Extreme makeup. People were providing advice in YouTube tutorials.
- Custom software filters. (This was the least interesting solution, from an artwork perspective.)
- Hyperface clothing. For overwhelming systems with too many false positives.
Saturday, June 22, 2024
Truck Quest: The cutting edge of 201X
Sunday, March 24, 2024
Robust Action: A Thursday in Space Retrospective
“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.
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.
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
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.
Sunday, August 9, 2020
Truck Quest: Geographic Bias
People think it’s a good idea to publicly reflect on building your game after you publish it — Emily Short recommends it in her post about the 2018 IF Comp Post-Mortems, although the 2019 IF Comp was followed by some active author discussion (and disagreement!) about whether those reflections should be called post-mortems.
A few things could be done differently with Truck Quest, like communicating the player’s movements through the
territory of the game. When I was trying to write code to handle the player's movements, I learned that I have a hidden — but
powerful — geographic bias.
My thinking was that a long-haul delivery from California to
New York would involve more risk (earning more of a reward) than a shorter
delivery between two cities in Kansas, and I wanted to show that. But cross-country trips were going to be the final phase of the game.
In order to give the player a sense of progression, they were going to start
making deliveries in town, working their way up through deliveries across the state.
I had to keep track of whether the player was in one side of a territory, the center, or the other side, and I used three different arrays to hold potential destinations.
If the blue oval is the available territory, then it doesn’t matter whether we call it a city, state, or country. Moving from A to C travels across all three regions, which is clearly the risky long haul. Staying inside a region would be playing it safe. And the AB or BC deliveries would involve a moderate potential for failure.
Destinations were put into arrays that I named $aPool, $bPool, and $cPool, because I read from left to right. This decision was a terrible mistake.
When I tested it, you could select a destination in the eastern region and arrive in the west. Or head west from the center and wind up in the east. Or the message would say that you were heading east when the game was actually sending you to the west. Or you’d head east from the western edge and wind up in the center, which is correct but confusing because the code refers to A, B, and C.
It reminded me of the “missing exit” in Zork, when you’re at the “south end” of a large temple and expected to travel north based on the description alone. Geography is hard.
The main lesson learned is that things are less complicated when your code resembles the information presented to the player. I should have used $westPool, $centerPool, and $eastPool for the names of the arrays.
A less important discovery was that I put “east” first every time I list directions, even when I’m intentionally trying to start with the west.
I’m not entirely sure why that’s the case, but I have my suspicions.
Thursday, June 4, 2020
TRUCK QUEST
We entered it into the 2019 Interactive Fiction Competition.
Give it a try!
You can drive some trucks, borrow some money, and thwart some jerks who are up to no good. (And after that, don't forget to rate it on itch.io.)
Wednesday, November 21, 2018
Interactive Fiction: Forgotten Tavern
Discerning critics have described it as "An odd experience. A sort of mash-up of IF, a dungeon grinder, a world-building strategy game, a roguelike game and one of those games you play on your phone where you have to make burgers or hotdogs to order.
Sort of." You should give it a try!
Saturday, August 25, 2018
Interactive Fiction: Pushing Loyal People
It's a game!
And it's a game that you can actually win, but some people don't seem to have what it takes.
Maybe it's their loss? It might also be poor design choices.