Eat Me postmortem

This postmortem will contain spoilers for Eat Me, but I don’t want to obscure them with spoiler tags. It’s primarily written for people who have played the game and want to learn a little about how it was made.

Conception

Back in 2015, I had an idea for a game called Bag. You would play as Morgan le Fay. You would have a bottomless magical bag. You would bag items in Camelot, progressing from small to large, until you bagged the castle. A little like Katamari Damacy.

I shelved this concept when Katherine Morayati released Take, since the mechanics were too similar. But I still wanted to write a game where you destroyed a castle.

When Ryan Veeder and Jenni Polodna had me on their podcast Clash of the Type-Ins, candy dungeons were mentioned.

You can guess the rest.

Limited Parser Mechanics

Before I talk about anything else, I’d like discuss the game’s limited parser. A game with a limited parser is a game in which you can play from beginning to end by using only a few essential verbs. In Eat Me, those verbs are GO (N/S/W/E/U/D), EAT, SPIT, and BLOW.

There is a misconception that limited parser games are easier to implement than traditional parser games because fewer verbs are required to beat them. I wish I could kill this misconception.

The default Inform 7 library recognizes 96 verbs.
Eat Me recognizes 340+ verbs.
Inform’s built-in ceiling for MAX_VERBS is 255. I had to increase it.

Although only four verbs are required to beat Eat Me, this doesn’t mean other verbs have been ignored. EXAMINE and SMELL, in particular, can be used on everything in the game to get a unique response.

What does it mean for a verb to be ignored? In most parser games, it means no action is taken and you get an error message. My goal with Eat Me was for the player to encounter as few error messages as possible. Instead, every implemented verb bends the action toward the game’s main goal. At first, the parser will tell you to EAT rather than OPEN, for example. But if a player keeps trying to OPEN (or ATTACK or GET, etc.), the game will accept it.

Numerous edge cases are implemented with verbs like JUMP and ENTER and MILK. This ensures that players will have a smooth experience even if they don’t always follow the game’s advice to EAT.

In addition to providing smooth gameplay, these mechanics are relevant thematically. It’s important that the parser will accept hundreds of verbs and then twist them.

Writing

The words yum, yummy, and tasty never appear in Eat Me. Despite their definitions, they’re not delicious.

I tried to avoid metaphors. Most things in the game are just described as what they are. It can be harder to describe something as what it is, rather than what it’s like, but I think it makes food sound more appetizing.

I tried not to start too many sentences with you. This can be a crutch in text adventures.

Room Descriptions

There’s a convention in parser games that the first paragraph in a room description doesn’t matter. I’ve even heard players describe this paragraph as the “wallpaper.” It can safely be skimmed, even ignored. I’ve never liked this convention.

Room descriptions in Eat Me are important. Ignoring them will make the game harder. I knew I’d need to train players to pay more attention. The game’s opening rooms are structured with this in mind.

After the introduction, your starting dungeon cell has two brief paragraphs for its description. One sentence in the first paragraph doesn’t even describe the room: it mentions the manacles in your inventory. This is because some players are unlikely to check their inventory. The room description’s second paragraph lists a cheesecake door as the exit. In order to progress, players must eat the manacles and the door, which means they’ll need to read both paragraphs.

The next room is the dungeon proper. It has three paragraphs, which are arranged like a traditional parser room description. The first paragraph is “wallpaper,” meaning you don’t need to interact with what it describes. The second paragraph lists the “important things” in the room: in this case, a gruyere guard. The third paragraph lists the exits.

It’s early, so hopefully players are still reading everything. But perhaps they’ll skim the first paragraph. That’s okay. They’ll spot the guard in the second. This is when they’ll learn they can eat living entities as well as inanimate objects, since they must eat the guard to continue. They should also learn that the last paragraph will always list the exits.

At this point, players might move east or west to explore other cells. These cells have short room descriptions too. Each has two paragraphs: a main description and an exit listing. There are no separate lines that highlight “important things.” The important things are instead folded into the main descriptions, which means players might overlook them. That’s also okay for right now. They don’t need to do anything in these cells just yet.

From the dungeon proper, the last exit is north. This leads to the undercroft, which has more text than any previous room. It has two paragraphs: the main description and the exit listing. There’s also an NPC here: Master Pokerounce. Like the gruyere guard, he will stop you from advancing. Unlike the gruyere guard, he is not singled out in his own paragraph. In order to continue, players will have to read the room description closely enough to notice it contains an NPC, and they’ll have to interact by eating him. They’ll also have to eat his cinnamon-stick stool, which is mentioned in the room description too.

Players who get this far should now understand the role room descriptions play. Master Pokerounce is a “course” on your dinner menu; eating him increases your score. This indicates that other NPCs will be courses too. They’re not hidden (mostly), but you will need to read room descriptions to notice them. There’s no more ignorable “wallpaper” in the game.

As a safeguard, a few rooms still contain short paragraphs with “important things” listed individually. Once the carrion crow is freed from its cage later in the story, it always gets its own paragraph when it sits in the solar or fens. Likewise, the durkha guard in the western tapestry chamber and the jarlsberg guard in the garderobe get their own paragraphs.

Two rooms, the courtyard and baron’s cabinet, each feature three paragraphs: a main description, an “important things” line, and an exit listing. However, their “important things” lines simply rehash information about NPCs from the main room descriptions. I did this to ensure players wouldn’t miss these characters.

Puzzles

Everything necessary to solve every main puzzle is mentioned upfront in the room descriptions. There’s never a need to examine deeper layers to find more details. This is another reason I tried my best to get players to pay attention. All the clues are in the open as long as you understand that room descriptions matter.

In order to fully understand the story, on the other hand, you will need to examine things, but I didn’t want the puzzles to depend on this. Most players won’t fully understand the story, which ties into the story itself.

I tried my best to make puzzles events: things that actually happen in the plot, rather than things you tinker with to solve.

One puzzle involving the nightsoil was made specifically for Doug Orleans. Last year he complained 2/5 jokingly but 3/5 sincerely that my games didn’t have enough toilet-related material. This has now been rectified.

The Map

I have to thank Bruno Dias for convincing me to play Dark Souls. As cliche as it’s become for people to cite Dark Souls as an influence, it was an influence on how I designed the map.

I wanted the map to be open from early in the game. I wanted traversing physical space to matter, and for players to find joy in how rooms connect, and how they ultimately disconnect. Once you think you’ve mastered the map, it changes, but you have the knowledge to master it again. You should never feel lost. Instead you should think: Aha, I know another way.

The map is tied into the puzzles directly. Solving them will occasionally destroy rooms. This has three benefits: it changes the map; it removes areas you don’t need to focus on anymore; and it gives the player a real accomplishment. You get to reshape the castle with your actions.

Players can eat the six main courses in almost any order, which means the map can be destroyed in any order. All six main courses require the player to solve puzzles in multiple rooms, which means unsolved puzzles must remain solvable no matter what rooms are destroyed. Sometimes destroying rooms will change unsolved puzzles into different puzzles. Many puzzles have multiple solutions.

Because room descriptions carry so much weight, this also makes it matter more when rooms are destroyed. Perhaps not from the player’s perspective, but certainly from my perspective when I had to write the room descriptions to balance the puzzles across the map.

I probably spent a solid eight hours doing nothing but researching medieval castle floorplans. This game’s castle doesn’t have a realistic layout. I wouldn’t have been able to construct the puzzles I wanted if I’d stuck too close to reality, but I still tried to make it somewhat grounded.

All the rooms encircle a bailey. The castle has no wings, because castles are built for defense and wings aren’t as easy to defend (this is definitely a castle, not a palace). Rooms built for menial functions and storage are closer to the entrance. Few windows exist. Only the chapel protrudes from the building. This is because it’s not a room like the rest: it’s more magical, more dangerous.

Compass Directions

Since this is a traditional parser puzzle game, I knew it would attract old-school players, which meant I had to use compass directions. Otherwise they would’ve complained. However, I put my foot down when it came to ordinals. I’ve read comments from well-respected authors about ordinal directions adding “interest” to maps. They’ve never added more than frustration for me. Never.

Only one game I’ve written uses ordinal directions: Toby’s Nose. That’s because Baker Street really does run southeast-northwest.

I’ll often accidentally reverse east and west in my head when I’m playing parser games. I know I’m not alone. I tried to counteract this by listing them in the opposite order in Eat Me: west and east. I’m not sure whether that helped. It was an attempt.

Objectives

A few reviewers expressed uncertainty as to how they should feel about the story. Good. It’s something you’re supposed to figure out for yourself. This is more than a statement about the game’s overall meaning; it applies to immediate gameplay goals.

For example, nobody tells you to escape the dungeon, but the game encourages you to reach this conclusion because the dungeon is unpleasant. Nobody tells you to eat the six main courses. Nobody tells you to enter the chapel. Your motivations are your own to experience as you play.

Permissible Actions

It’s common in parser games for the parser to say you don’t want to do something, when in fact it’s the game that doesn’t want you to do it. You typed the command. Clearly you want to do it.

I tried to write this game so that the parser always acts as though you want to attempt everything you attempt, especially if the action is gross. To return to the dungeon for another example, never once are you required to EAT CORPSE. If you type this command, it’s because you want to do it, and the parser has no reason to prevent it.

If the parser doesn’t allow something (like walking off a ledge), this is never because you would rather not do it. It’s because the narrator stops you. That’s an important difference. It helps establish the narrator as someone with her own opinions and the power to enforce them.

Narrative Voice

I’m not sure how many players realized this, but I tried to make it obvious: the parser’s voice represents another character in the story. Anyone who has finished the game should know she is the Sugarplum Fairy. Although her name is only revealed at the end, her character is developed throughout. This means the parser’s words are not the protagonist’s thoughts.

I’m personally pleased with most NPCs in the castle (especially Frypan Fredrick), but the Sugarplum Fairy is far and away the one with the most depth. I’d even say she is the game.

I won’t say much more about her, but I did want to confirm: Yes, the parser is an NPC.

Ending the Game

I didn’t want this game to ever become unwinnable. I was worried people might think they had done irreversible damage, however, by eating characters or destroying rooms, that would prevent them from finishing. So I added what were in hindsight too many meta reassurances. Its winnability became a focal point for reviewers, when what I’d really hoped was that nobody would have to think about it.

Much of the text went through multiple drafts, but nothing went through half as many as the ending text after the player drinks the grail in the chapel. I must have rewritten this part thirty times.

It’s text that spans six turns. In those six turns are five back-to-back plot twists. These needed to flow together seamlessly. Each action result also had to be short. Since there’s no way to guarantee how much a player will have realized by this point, the same text has to deliver explanations and surprises for players who have varying levels of knowledge.

I wanted to make the ending more exciting than the introduction. Parser games frequently start strong but end on a downturn, as though the author got bored. I’m not sure if I succeeded here, but I tried.

Inspirations

The Vision of Mac Conglinne is listed in the credits for a reason.

The Nutcracker, of course. I’ve read “The Nutcracker and the Mouse King,” but the Tchaikovsky ballet was a larger reference point. I’ve seen Balanchine’s version many times.

“Hansel and Gretel,” both the Grimms’ tale and the Humperdinck opera. Candy Land. Adventure Time. “Big Rock Candy Mountain.” You don’t have to throw a stone far to hit a story with an edible landscape.

Arthurian legend remains the game’s foundation.

Sensuality and seduction do play roles in the story, and there is sexual humor to the title. Although consumption is a theme I consider very important, however, I don’t have any particular interest in vore fetish subculture. I have no problem if people with vore fetishes like this game, but it is absolutely not kink-inspired, despite what you may read in some reviews.

Development

Eat Me was almost completely written by May, which is when I started beta-testing. It took much less time to write than Mirror and Queen, but much longer to beta-test due to the puzzles. All my beta-testers made major contributions, but I have to especially thank Charles La Shure for helping with the onions, and Brian Rushton for tirelessly replaying new versions.

In the end, the source text was 104,088 words long, with 43 rooms and 410 things.

Reception

My beta-testers warned me that players might react poorly to the dungeon’s grisliness. I was prepared for that. I wasn’t prepared for how negatively some players would react to the game itself. It now boasts an “evil protagonist” tag on IFDB, which I consider a rather shallow interpretation, but there you have it.

Ever since I started writing parser games, I’ve been criticized for not making them traditional enough. This game was my attempt to satisfy those critics while also writing something I wanted to write, but it was hard. I kept vacillating between liking the game and hating it. I felt like I was caving to demands from the last people I should’ve appeased. Hanon Ondricek encouraged me through some pretty bad patches during development.

Well, now the chips have fallen.

Eat Me didn’t rank anywhere with Miss Congeniality, but it did take second place in IFComp. I had my sights set on first, but any placement near the top is an honor, especially in a field this large.

Many things about the story remain undiscovered. I wrote it with the expectation that players would talk and try to piece certain bits together, but there wasn’t much conversation about any game during the voting period. Only one review really scratched past the surface.

One secret, however, did leak. I won’t reveal it here, because although some people saw it, some didn’t. What I will say is that I doubt most players solved the game’s best puzzle. I’ll also say that although the game can’t be made unwinnable, it can be made unlosable.

Finally, I’m curious to learn in what order players ate the six courses. If anyone wants to share the order they followed, please leave a comment in this thread and let me know!

3 Likes

IIRC, my first order:

  1. Mr. Cinnamon Stool
  2. Banquet Hall Party
  3. The Ghost
  4. The Baron
  5. The Cow
  6. Cabbage-head

In subsequent playthroughs, I’m pretty sure I was doing the ghost 2nd, which made for what seemed like the most natural order.

  1. Master Pokerounce
  2. Banquet Hall Party
  3. The Baron
  4. Jenny Cabbagehead
  5. The Cow
  6. The Ghost

I completely missed the ghost existed until I checked the walkthrough, so she was last.

Bread
Hors d’oeuvres
Soup
Beef
Milk
Salad

Miseri, you sly gourmand. :wink:

Aziraphale, you’re not alone. I had a few beta-testers miss the ghost too. (She’s a ghost, after all.) I programmed her to appear on her own after a certain number of turns has passed, if she hasn’t been discovered yet, but I’m thinking about speeding that process up in a second release down the road.

Thanks for this detailed look at your game, and especially what goes into a limited-parser game.

I hadn’t consciously noted either of these stylistic choices, but they’re excellent choices that in retrospect really heightened my engagement with the game.

That happened to me–or, I guess, didn’t–with Losing Your Grip, where I expected people to compare notes and discover its branching nature. It’s happened to other games in this competition. I’m now wondering how better to signpost elements that benefit from discussion, or to encourage that discussion.

I think having individual threads for the games helped encourage discussion this year, but only a little, only for a few entries, and it dropped off pretty fast. I’m not sure how to get people talking more about small-scale experiences they had while playing.

That’s one reason I’m curious what courses people ate. It’s interesting to see how players navigated the game differently.

There are some fascinating general design thoughts in here that I’m chewing on (so to speak). Thanks for sharing this level of detail on your process!

I want to say that this is not “limited parser” at all. It’s about limiting actions; the parser is as rich as ever.

But Eat Me isn’t really “limited action” either! Lots of actions are recognized if the player wants to try them. The point is that the game only requires one unusual action. (We take for granted that moving, taking inventory, etc are freebies.)

This is an interesting format but it’s not a limited parser. It’s more in a bucket with Heliopause. That doesn’t go as far, but most of the gameplay involves futzing with the sails and anchor. As with Eat Me, I had to add a lot of verbs to make it work smoothly.

I propose that a limited-parser game is one where the parser is actually made stupider. If the game rejected every verb besides EAT with an “Unrecognized verb” error, that would count. Or one-word parsers (Space Under the Window), etc.

Technically, that might be true. I don’t think it’s true to player experience though, and from a design perspective I certainly did everything I could to emphasize EAT as the prime verb. Eat Me actually allows more basic actions than Wizard Sniffer, but every review that compared the two assumed Wizard Sniffer allowed more, because it’s less monomaniacal. But both games use limitations in player input to guide the action, and quite importantly, they make these limitations explicit.

If someone wants to propose another term and see if it sticks, I have no great attachment to “limited parser.” It’s just convenient to use.

I don’t remember that complaint but I AM SO SORRY EVERYBODY!

I think you mistyped YOU’RE WELCOME EVERYBODY!

You criticized my games for not having enough toilets and/or chamberpots in comparison to Toiletworld. So in a sense, Chet Rocketfrak is responsible too.

Personally, I think it’s one of the best puzzles in the game.

  • Master Pokerounce
  • The Ghost
  • Banquet Hall Party
  • Jenny Cabbagehead
  • The Cow
  • The Baron

Baron after cow sounds like a bug! That’s the one order that shouldn’t be possible. Hopefully you just reversed those in your list, but if not, I can fix it when I get around to the second release… eventually…

Yes, you are right, my mistake! No bug with the bird, just a bug in my memory.