Post-match interview with Iron Chef Dialog Draconis
We’ve heard from the Premier Challenger; now let’s hear some after-action thoughts from the talented defending Iron Chef, Draconis…
Q: During planning, the expectation was that competing chefs would be too busy writing to spend much time explaining the materials that they posted each day, but you took the time to make several cogent explanations of the techniques that you were using and related features of Dialog. What’s your secret: time travel or cloning?
DS: Well, I do have one major advantage here: giving lectures about how language works is my full-time job! By this point, launching into a lengthy explanation of some feature of linguistics is second nature. So whenever I got stuck on something in the code or design, I’d pick a topic, come here, and blather on about it for a while. I tried to mix it up between linguistics and programming when I could, but I honestly don’t remember all the topics I brought up–I just grabbed one every time I saw a good break point, and used it as a way to rest one part of my brain while exercising another.
I don’t think I could keep up this pace for more than five days–I was already flagging at the end a bit–but with some time to rest after, I think this event was the perfect length for it.
Q: Just how fast do you type, anyway?
DS: I just took a one-minute test to see, and they say 111 wpm with 99% accuracy. I should probably take another test or two to confirm, but I like that number, so I’m going to go with that!
Q: As the current maintainer of Dialog, this was your chance to show it off to the world. Do you think it showed well?
DS: I absolutely do! I designed various aspects of my entry to show off its features–how easy it is to include the full cover art in place of your game’s title, for example, but also the hyperlinks, and syntax like “[alien word] means [human word or words]”. This is really hard to code in Inform, but in Dialog, I don’t even need to explicitly list out the alien words–it can automatically decide that based on the words I’ve assigned to various objects.
I haven’t looked at the esteemed challenger’s entry yet, but I expect it’ll be showing off very different aspects of Dialog: how easy it is to strip out the standard actions and make a limited parser, for example. It’s a headache in Inform, but in Dialog, all you have to do is delete a big chunk of stdlib.dg and you’re set!
The way I see it, there are two different ways to draw attention to a programming language. One is to have a slick presentation that makes newcomers go “I want to make a game like that”, and the other is to show off features that other languages struggle with, so experienced coders go “oh that would be hard in Inform/TADS/Adventuron, I should give this a whirl”. For the Iron ChIF event, I leaned more on the latter. Dialog’s handling of text [1] is much more elegant than Inform 7’s, so I’m hoping Inform authors see this and are inspired to check it out.
Q: As the first defending Iron Chef, you’ve certainly set a high bar for your colleagues over the past week. Any advice for when it’s their turn in the spotlight?
DS: I think all of us–well, myself definitely, at least–may have gone a bit overboard for this pilot episode! I wanted to make sure we put on a good showing, since an underwhelming pilot means there are no more episodes. But also, we produced an average of about 30 posts per day. That’s a lot for anyone to keep track of!
So my advice is, three or four updates a day is probably too much. Don’t feel like you need to stick to that pace! We’ll see what the judges and audience think, though. Also, if the rules change to allow testers, definitely get one. I think my entry suffered a lot for their lack.
At the same time, the final dish isn’t the main focus of the event. Make sure you’re taking time to show off your process. In my head, I’ve been thinking of this challenge as 2/3 about the show and 1/3 about the final game; it’s more a masterclass than a masterpiece. You probably won’t be making the next XYZZY winner in five days, but you can give the audience a detailed look into your process; that’s what this event offers that none of the others do.
Q: You mentioned early on that you’ve always wanted to do a language puzzle. How many of the ideas that went into your dish were ready and waiting for this opportunity?
DS: Actually, almost none of them. It seems like the sort of thing I should have done years ago, but I never really had concrete ideas for it. But then the seed was chosen, and the whole thing crystallized in my brain over a couple sleepless nights.
(That’s how these things tend to go for me: it never rains but it pours. I made pretty much zero progress on The Wise-Woman’s Dog through the whole month of June, then spent July in a creative frenzy. I would say I got lucky that this challenge ingredient was so inspiring, but really, the ingredient-selection process means it’s quite likely it will–I think we have a good thing going there.)
I knew that I wanted to have three major “aha” moments: discovering the language, using the language, and then the twist at the end. So the structure of the game mostly formed around that. Everything else was in service to one of those three goals: “I can figure out how these words work”, “I can read alien messages and use that to solve puzzles”, and the secret third thing.
Q: How many hours did you end up spending on your dish all together?
DS: Hmm, probably five or six hours on Sunday, then three or four on each of the other days… twenty hours total, give or take? But that’s the time spent writing and coding, not the time spent thinking about it in the back of my mind in between. I tried to clear as much room in my schedule as possible for this.
Q: How do you think your dish will do with the judges? With the audience?
DS: I honestly have no idea, and that makes me nervous! There’s that one xkcd about experts overestimating the average level of knowledge about their field.
I’ve been studying the structure of language full-time for about a decade now, so it’s very easy for me to accidentally say “oh, everyone knows that a majority of the world’s languages put the verb at the end of the sentence”. I’m more than a bit worried that my puzzles will range from frustrating to unsolvable. And the entire game is basically built around one huge puzzle mechanic. If that mechanic flops, the entire game does too.
If it’s too hard, though, well… there’s always a post-comp release! From the bits of feedback I’ve seen so far, I’m already thinking about ways I can add more clues and hints. And if the show itself was entertaining, I can live with the finished dish being a dud. I know I found Pacian’s posts fascinating, even without having tried the final product.
Q: Is there anything that you want to tell the audience about your current projects?
DS: Oh, I have way too many on the back burner right now! Now that I won Miss Congeniality in IFComp, I feel like I don’t have to aim for a high score any more; I can start doing more experimental things that might be great and might be terrible. Focus more on pushing the limits of the medium rather than courting popularity. Can I write an IF that focuses on teaching people an (existing, human) language? What about something that takes the concept of Infocom’s Suspended and applies modern technology to it? I’m a big fan of murder mysteries, and I would love to make something in the vein of Return of the Obra Dinn, reconstructing a historical event from brief flashes and moments of insight.
With any luck, you’ll see a couple of them in next year’s Comp. And one of the alternate seeds proposed for this pilot episode gave me some grand ideas… I need to find a home for it that doesn’t get in the way of using that seed for a future episode!
Apart from that, I’m hoping to launch a bunch of new improvements to the Dialog language and compiler in the next few months. There are actually several in the pipeline right now waiting for approval. So if any of you want to help make this language even better, reviewing pull requests would be tremendously valuable!
[editor’s note: Draconis provided answers by PM in a much nicer-looking format, including an image of the cited xkcd comic. I’ve made a note to learn more of the forum’s formatting features!]
The hours are counting down to the start of audience voting, which begins right here on this thread in less than a day, at noon UTC Sunday November 16.
Important caveat: only when it can be broken down into individual dictionary words! ↩︎