The Second Quadrennial Ryan Veeder Exposition for Good Interactive Fiction

I am pleased to announce that several different individuals have signed up for the Second Quadrennial Ryan Veeder Exposition. This is assuming that the various emails I have received are from different Entrants. If it were to emerge that all these emails have been the work of a single person adopting numerous Alter Egos, I would be amused, but in an annoyed way.

I’d like to clarify that there is no deadline for signing up: At any point up to the final deadline for Event Three, Entrants may follow the steps in the Google Form linked above and be assigned an Alter Ego.

The main purpose of this post is to establish the broad strokes of how Event One will be administrated, so that Entrants may plan their weekends accordingly. Following are the broad strokes of how Event One will be administered. Thank you for your interest.

Entries in Event One will be composed over the course of roughly 80 hours.

The precise parameters, constraints, and instructions for Event One will be announced at midnight on Friday, January 31 in the Judge’s local time zone (UTC-06:00).

These instructions will require that Entries in Event One are composed in a particular way to achieve a particular goal. Critically, Entries in Event One must be composed in Inform 7.

Entries in Event One must be submitted by Monday, February 3. Entries must be submitted via email to the Judge ( from the Entrant’s Exposition-specific email address (see previous post).

The deadline for entries is whenever the Judge wakes up on Monday morning. If the Judge is feeling especially charitable/groggy he may extend the deadline until after he has had a shower. Entries submitted after the deadline may be disregarded, or they may be subjected to negative score modifiers, or the Judge may do anything he feels like doing.

Having received all the Entries, the Judge will attempt to make them publicly available on the Exposition website in a timely fashion (the Judge will be the sole arbiter of timeliness). Entries in Event One will be scored on a 10-point scale, based on the extent to which a given Entry appeals to the Judge—not necessarily on how good the Entry is, or on any objective or verifiable quality.

The scores for Entries in Event One should be announced on Wednesday, February 5, 2020, but the Judge reserves the right to regard this more as a statement of aspiration than as a per se deadline.

(Ryan, is this where you wanted the giant horns to bellow from the distant mountaintops?)

Hanon, hello. I think it would be wise to postpone the bellowing until Friday, when the parameters of Event One are revealed and the Exposition is well and truly underway. Thank you for your interest.

>listen to distant mountaintops

You hear nothing unexpected.

[Hanon goes north, cursing into a walkie-talkie.]

To remind Entrants that the deadline for entries in the free-form Event Three is one month away probably does not merit an additional post in this thread. But that is not all I have to say, and so I am pleased to announce that I have finally sewn a fifth doll to add to the selection of prizes.

Thank you again for your interest.


I am pleased to announce the parameters of Event One of the Second Quadrennial Ryan Veeder Exposition for Good Interactive Fiction.

The challenge of Event One of the Second Quadrennial Ryan Veeder Exposition for Good Interactive Fiction is to create a game in Inform 7 with beautiful source code text.

What does it mean for code to be beautiful? Beauty is famously difficult to define. It is an entirely subjective quality, and therefore a very appropriate metric for success in the Ryan Veeder Exposition for Good Interactive Fiction.

Code can be lauded for its elegance, and also for its cleverness. But is clever code beautiful? Specifically, is clever code beautiful because it is clever? Maybe. Sometimes. Is elegant code beautiful because it is elegant? That sounds more likely. Possibly elegance is a subset of beauty. Hmm.

Event One is limited to works composed in Inform 7 because Inform 7 code has a unique potential to be beautiful by way of resembling beautiful English sentences (as well as many other vectors of beauty), and also because the Judge possesses basically no qualifications to judge the beauty of code written in other languages.

If you choose to enter this Event, you must first sign up by following the instructions in this Google Form. Then, you must submit your Entry by emailing it to from your Exposition-specific email address. You must submit your Entry before I wake up on the morning of Monday, February 3rd. As a gesture of benevolence, I will charitably interpret “wake up” as meaning “wake up enough to feel like processing a bunch of Exposition Entries,” which probably will not happen until 9:00 AM CST.

You may submit your Entry in the form of a .txt file consisting only of your source code text. If you do this, I will compile your source code text myself and format everything so that it looks very classy and professional when I make it publicly available on the Exposition web site.

If you decide to do something weird, or you compose Inform 7 source code text that will not compile properly in Inform 7 build 6M62, you may find it necessary to submit additional files in order for me to view your Entry in the manner you intend. I will make some small allowances for such aberrancies, but you should temper your experimental sensibilities with the knowledge that I am the sole judge of this Exposition, and I resent being inconvenienced.

The source code text of your Entry must compile into a playable game. (It is not necessary that the game is winnable or loseable or at all completable.) The Judge may choose to interpret this standard of playability very liberally—as of this writing, the Judge is thinking, if a game accepts input, and it doesn’t crash, the Judge supposes that qualifies as playable.

There are no constraints on the content or features of the compiled game. However, you can expect the Judge to play and inspect the compiled game while he is considering scores. However, the focus of Event One is the creation of beautiful source code text, so to a certain extent the Judge must disregard the quality of the compiled game when he is considering scores. However, if the Judge really likes the game itself, he may be fooled into giving the Entry a higher score on that basis. However, now that the Judge has raised that possibility, it seems like it will be more difficult to fool him.

I guess there are no constraints on any of the content or features at all. It would be understandable if this open-endedness left you wondering where to start. If you require a jumping-off point, I encourage you to take inspiration from any of these videos, all of which I consider very beautiful:

Sweet Dreams - Cardan Lifting - Witch Mountain Bridge - Wizard People, Chapter 4 - Wet Dream

Entries in Event One will be scored on a ten-point scale. There will be no ties.

Que l’exposition commence!

1 Like

Giant horns bellow from the distant mountaintops.

1 Like

What happens if there are more than 10 entrants? :scream:

The Judge has a plan in place for such a contingency.

What happens if there are more than 10 entrants? :scream:

Let me introduce you to the decimal system.

I am pleased to announce that I have processed and uploaded all the Entries in Event One so that they are now available for online play. Please look at them, and especially look at their source code texts.

I hope that Entrants and non-Entrants will feel free to discuss the Entries, and that through such discussion we will all enhance our appreciation of these very impressive games and their very beautiful source code texts. However, as always, it is paramount that the Judge’s opinion is not affected by any outside stimulus whatsoever. Any opinion stated by any Entrant or non-Entrant has the potential to interfere with my extremely sensitive judging processes.

Therefore, I entreat all Entrants and non-Entrants to use spoiler tags to obscure their opinions of these Entries (and any spoilers for the Entries) until the scores have been announced.

Thank you very much for your interest.


I am pleased to announce that I have finished scoring the Entries in Event One a full day ahead of schedule. I will now make my judgments public so that the Entries can be discussed freely.

Judgment of Event One

Opening Remarks

I am extremely impressed by the Entries in Event One. I know that uncompiled Inform 7 source code text has been considered as a mode of artistic expression before; I think that these Entries demonstrate that the concept has a great deal of untapped potential. It is one thing to write a poem that compiles into a game—but we see here that one can write code that operates as a distinct and complementary artistic component to the game it creates. I hope these Entries will inspire more authors to pursue these extremely clever ideas.

As I begin to pass judgment on these Entries, I reiterate that the purpose of the Exposition is to please me, Ryan Veeder, specifically, and that the scores I award are based almost exclusively on that criterion. In other words, no one should expect my appraisals to be at all fair. In History’s grand arc, any these Entries may merit more praise or more condemnation than I here assign, but to correct this injustice is your duty, by way of adding these Entries to IFDB and giving them the ratings you think they deserve.

Entries in Event One are scored on a 10-point scale. In an American high school, a score of 7 points out of 10 is for whatever reason considered “average,” and this is often disappointing. A score of 5 points out of 10 is considered a “failure.” The scores I award in this Event must not be interpreted in this way.

I will award a score of 5 points out of 10 to a game I feel totally neutral about. Scores below 5 points out of 10 are reserved for games I actively dislike. Scores above 5 points out of 10 are reserved for games that I like.

I make no guarantee that Events Two and Three will be scored in a similar fashion.

Upon the Spooky House, by Ben Poisonor

At first glance, this Entry does not seem to have been composed with a view toward creating beautiful source code text. I know that Ben Poisonor found the Event structure somewhat confusing. We must bear in mind the possibility that Ben was not following the prompt.

The game is written with enthusiasm, which I appreciate very much. The subject matter is right up my alley. It’s my kind of game, and considered qua game, independently of the brief of Event One—but keeping in mind it was written in the timeframe of Event One—it’s pretty nice. I like the pacing quite a bit, and the transition into the final scene is crafted well. The ending doesn’t work, which is too bad.

But I’m supposed to consider the source code text. Here’s the thing: The source code text really enhances my appreciation of the game. The comments are great! It’s like I’m watching Ben Poisonor write!

This is a lot of fun, but I don’t really consider it beautiful. What a difficult situation for me, the Judge! I like the Entry, but I must enforce the parameters of the Event. I cannot award a high score to this Entry.

Before I award a score, I will make this incredibly generous offer: Perhaps Ben Poisonor composed this Entry with a view toward submitting it to the nonconstrained Event of the Exposition, but got Events One and Three mixed up, thinking that Event One was a free-form Event lasting one weekend and Event Three was something else. It is in Ben Poisonor’s best interests neither to confirm nor deny this hypothesis. If Ben Poisonor wishes to spend his time before the 29th revising Upon the Spooky House, and submits his revised version as an Entry in the free-form Event Three, I will waive Rule 7 of the Exposition and consider the revised game just like any other Entry in that Event.

For now, though, I will stretch the definition of beauty until it is just barely contiguous with being fun and funny. Therefore I award Upon the Spooky House 5.7 points out of 10.

A Whispered Dream, by Depetrification

I like compactness. I worried that a prompt like “create an Inform 7 game with beautiful source code text” would inspire some Entrants to spend weeks or months crafting a bunch of sprawling epics. That’s not what I want to see, and that’s why I limited the timeframe of Event One to a single weekend. Beauty is in a small thing executed to perfection, not in a huge thing done to death.

This Entry, as submitted, does not compile in Inform 7. (There’s a punctuation problem, and the property “concealed” is referred to without being defined.) The brief of the challenge is not satisfied, so I cannot award it a high score.

The subject matter of this Entry is too forlorn and wistful for my tastes. So, I cannot award it a high score.

The prose in this Entry is not my kind of thing. It doesn’t strike me as beautiful. But the code around the prose is quite nice. If you remove the parts in quotation marks, you get stuff like this:

The angel is a person in the cage. The wings are part of the angel. The heart is part of the angel.

The heart is unyielding.

I want to point this out because some other Entries in this Event require quoted text to work properly, and so their beautifulness is, in a sense, not fully contained in their code. This Entry isn’t like that: When I consider only the code of this entry, I find it very beautiful.

Therefore I award A Whispered Dream 5.98 points out of 10, which is as high as I can go without awarding it a high score.

The Magnificent Museum of Masterly Masterworks, by Inverted Normals

This game consists of a museum devoted to my own genius, and that appeals to me. It is somewhat smaller than one might expect of such a monument, but this is seemingly due to a constraint of the format.

The backstory of the museum confuses me, though. Some of the exhibits seem to be the work of a fan or fans (probably Inverted Normals themselves), which explains why certain elements of the Ryan Veeder canon being paid tribute are portrayed inaccurately: The statue of Winter Storm Draco is obviously confused, and Officer Bob Eliot is depicted with a “great big mustache” even though Taco Fiction describes it as a Raul Julia Gomez Addams mustache.

But the intent of Inverted Normals seems to be that the tributes to Allison Chase throughout the museum are the work of Ryan Veeder myself. And this is odd. I cannot puzzle my way through this game’s lore. But I appreciate being pandered to.

The beauty of this game’s source text is its presentation as a cool text-image created from a photo of a doll I made. (It is a beautiful doll, yes. If the source text were longer, the resolution of the image would be greater, and we would gain an even greater appreciation of the doll’s beauty.) This text mosaic technique requires that the text forms a rectangle when rendered in a fixed-width font. This naturally imposes some limitations on the number of characters in the text and on the line breaks. This situation naturally recalls to our minds that famous Super Metroid speed guide with the perfectly justified text.

Unfortunately, the approach taken by Inverted Normals to maintain constant line width is to add a bunch of extra spaces between words. This is not very elegant. It makes the game look really weird when you’re playing it, and it doesn’t look all that nice in the Inform 7 IDE either. In many ways, the souce code text of this game is decidedly unbeautiful.

But I must respect the intentions of the Entrant, and the efforts of Inverted Normals to appeal specifically to me and to my ego must not be overlooked. Therefore I award The Magnificent Museum of Masterly Masterworks 6.67 points out of 10.

The Gay Science, by Capricorn van Knapp

I will give this Entry a score lower than is merited by its quality, because it does not appeal to me personally. It is your responsibility, Reader, to laud this game in ways I cannot.

Look at this wonderful Entry. The playable game is so terse and slight. Almost meaningless.

But then the source code text tells this beautiful story. And it tells it mechanically! Possibly you don’t even need the comments. The raw rules, declarations, and tables are very affecting. And in the mechanics you see how the bland sentences of the playable game are instantiations of underlying fundamental truths.

One of the videos I offered as a creative jumping-off point for Entrants in this round was the Hot Toddies song Wet Dream. I don’t think Capricorn van Knapp necessarily took this song as inspiration. But this game and it source code text convey to me with procedural text generation the same sentiments that the Hot Toddies convey in their lyrics: The universality of love and suffering, the synthesis of small heartbreaks and immense tragedies in the totality of our shared human sickness.

This is a great work of art. But it is too serious for Ryan Veeder. It makes me sad. Therefore I award The Gay Science 7.3 points out of 10.

Scarlet Portrait Parlor, by Prismatik

I like compactness. Prismatik had a good idea and executed it correctly. That makes this very good in my eyes. There are a few inelegancies, and these I cannot overlook. Therefore I award Scarlet Portrait Parlor 8 points out of 10.

Antique Panzitoum, by Abandoned Pools

Well, this game is extremely cool. The main body of the source text is essentially a “text adventure” in itself, as it challenges the reader to form an understanding of space from inconsistently helpful descriptions. But the best part is the beginning, which separates the playable game from the unplayable world. This is what excites my imagination most and makes me hope that people will continue to develop the ideas explored in Event One of my Exposition.

However, I must make subtractions from my score for the sexy parts, or my Exposition will get a reputation for rewarding and encouraging the purveyance of smut. Therefore I award Antique Panzitoum 8.3 points out of 10.

Caduceus, by Mala Costraca

This is extremely clever and I love it. I feel anxiety about awarding a perfect score, and if I look closely I can find enough small flaws to justify an assertion that this Entry is not perfect. Therefore I award Caduceus 9.5 points out of 10.


The exhibits are intended to be the works of various fans. The Draco statue is intentionally confused. (That is Inverted Normals intended it, the fictional author of the statue didn’t; they were unintentionally confused). The mortifying mustache mistake is Inverted Normals’ shameful slip-up, but they will try to pass it off as the made up painter’s blunder.

The thinking here was that, given Ryan Veeder’s description of her and given his impeccable taste, any person who encountered Allison Chase would fall madly in love (as indeed does the protagonist upon examining the statue). Hence three other anonymous fictional artists all deciding to immortalize her in their own media.

Inverted Normals would like the record to show that they explicitly tested for this in the (quite excellent) Borogove app which didn’t exhibit that behavior. This is not a plea for more points, Inverted Normals should have tested more thoroughly and accepts full responsibility for their work. They just want everyone to know that they’re incompetent, not lazy.

Wow, okay, maybe they are a little lazy.

1 Like

This is very interesting. I hope that the interactive fiction community continues to examine the character of Allison Chase and fleshes out a more complete understanding of the character and her various details, all of which I will have veto power over because I decide what is canon in her prime fictional universe. But there is something that the interactive fiction community needs to hammer out first.

It is of course impossible for my judgments to be emended or my scores to be adjusted in any way, so I can easily forgive this shameless and transparent plea for more points. However, I cannot consider it a failure on the part of Inverted Normals alone that the spacing in this game is so wonky. Borogove’s built-in interpreter should be praised for reducing multiple consecutive spaces to a single space. That is how text is handled by civilized people.

The Quixe interpreter and whatever interpreter is used by the Inform 7 IDE should be condemned for preserving multiple consective spaces and making games like The Magnificent Museum of Masterly Masterworks look all weird. This is a vile practice. It must be abolished. Of course, when text is styled as “fixed letter spacing” or similar then all these interpreters should preserve multiple consective spaces so that authors can create neat ASCII art—I state the obvious lest my enemies seek to misquote me.

I call on the interactive fiction community to establish an unequivocal policy for the treatment of multiple consecutive spaces that all tools and interpreters will follow, and I specifically demand that the policy established is the one I have just described. And I thank Inverted Normals for bringing this issue to light.

1 Like

Since, apparently unlike the Judge, I like being sad, I’ll add to his praise for The Gay Science, a beautiful little text file that speaks to several of my eternally recurrent desires: playful riffs on Nietzsche, evocative effects achieved through procedural generation and/or random selection, and, to be honest, puns involving the word “gay”. Ryan is right to point out that the real story-telling - or should we say, the scenario-setting? the structural meta-narration? - is done in the functional code itself. However, the comments add another dimension, telling a different and equally beautiful story while expanding on and clarifying the compilable one, a story about the author’s feelings about creating the text and attitude towards the text’s players/readers. This is a very worthy entry that suggests many wonderful possibilities for the “minimalist game + source code” art form.


I liked the dinosaur art html file. Surprising and beautiful!


I (perhaps weirdly) really enjoy the aesthetics of simple Inform 7 code, but I don’t think I would ever have thought to write anything like “Antique Panzitoum” without Ryan Veeder’s intriguing prompt. I’m delighted to have an entry in the first Event of this fascinating exposition.


It was an inspiring prompt indeed! Writing Caduceus was extremely fun, and it was exciting to see the beautiful code other entrants came up with as well. Well done, everyone!


I am pleased to announce the parameters of Event Two of the Second Quadrennial Ryan Veeder Exposition for Good Interactive Fiction.

The challenge of Event Two of the Second Quadrennial Ryan Veeder Exposition is to create a game with no ending that takes place in a zoo.

Fans of me will recall that in 2019 I published a game called Ryan Veeder’s Authentic Fly Fishing. With this project I sought to create a work of interactive fiction that functioned as a place moreso than as a story.

By no means should the magnitude of my success in this endeavor discourage others from pursuing the same goal. On the contrary, I wish for the interactive fiction community to expand upon this great idea of mine, and so I challenge the Entrants in my Exposition to create a textual location: A game that has no ending, existing to be occupied rather than completed. A place where, if there is progress to be made, it is not progress toward everything being over.

For the setting of games in Event Two I choose a zoo, because I love zoos.

Briefly I considered challenging Entrants to recreate a specific real zoo. I am a big fan of real places being recreated in interactive fiction. But I decided I didn’t want to prevent anyone from constructing their own fictional zoos. Therefore, please make any kind of zoo you wish. An aquarium or botanical garden could possibly qualify as a zoo for purposes of this Event, but Entrants should not make it their mission to blow my mind with innovative redefinitions of zooness.

While judging Event One I made it clear that I love tiny little games that artfully develop exactly one idea. I will always be a sucker for that kind of thing, and I suppose it is possible to make a tiny, hyperelegant zoo, flawless in its simplicity. But I do not want to discourage Entrants from creating robust zoos. I have allotted two weeks for this Event so that Entrants can pursue a certain measure of ambition in their zoos’ design and implementation.

What, besides robustness, makes a good zoo? We want zoos to be both enlightening and entertaining. We want to see penguins jump through a hoop; we want to learn how zookeepers care for tigers without getting eaten. We want to celebrate and appreciate the natural world. We certainly don’t want to feel like any of the animals are being mistreated or exploited. Some zoos are depressing. But I don’t like those zoos.

If you choose to enter this Event, you must first sign up by following the instructions in the Google Form linked above. Then, you must submit your Entry by emailing it to from your Exposition-specific email address. You must submit your Entry before 9:00 AM CST on Friday, February 21st.

There are no constraints on the format of Entries in Event Two, but the Judge will appreciate any efforts on the part of the Entrants to make his job easier on him. The Judge will probably get around to emailing a Quixe template to Entrants that they can plug any Inform 7 games into.

Entries in Event Two will be scored on a 20-point scale. There will be no ties. The scores for Entries in Event Two should be announced on Friday, February 28, 2020, but the Judge points out that the Exposition is explicitly for his own entertainment and he should be expected to conduct it in whatever manner suits his whims.


Aw, :frowning:
Normals was planning on skipping event two to focus all their attention on their entry for event three which still needs a ton of work. But this prompt is way too cool to ignore…
Should have started event 3 entry earlier, done in again by the perils of procrastination.

1 Like