Iron ChIF: Pilot Episode (Pacian vs. Draconis, using Dialog)

OK, I suppose now that I’ve wittered on about myths and metaphors and my favorite Star Trek movie, I should look at some of the actual code our chefs have been offering, the rebar that undergirds these cloud-castle edifices they’re building in the skies? Friends, I am a mediocre at best in Inform, and nothing at all in anything else – and I’m catching up after a day juggling work and a sick toddler – so I’d accept any sympathy you direct my way.

At least @Pacian is starting out reasonably, fortified as I am by @improvmonster’s lectures. Beyond the stranger fiddling about with its pockets, we get our initial (and sole, I believe) location:

Others have picked through the substance here – like Amanda, I’m intrigued that we seem to be leaning more towards fantasy than sci-fi, given the setup – and the one of… stopping formulation is familiar enough to me (including jamming code in there, though Inform’s habit of expanding texts before printing them can make this dangerous), but what I’m interested in here is nothing. Or rather, the textual representation of nothing, which is to say, white space. Wrangling line breaks is the bane of many a parser-coder in Inform, and I believe it can be a headache in TADS too, but I’ve heard Dialog authors sing its praises on this score, so I’m trying to glean what I can about how it handles this vexed problem. I’m not seeing much different yet, with (par) seeming to indicate a standard paragraph break, and things like (a $obj) looking like they sub in a variable name, which are both familiar enough approaches from Inform.

As things get more esoteric, perhaps we’ll see how Dialog makes things more manageable for its authors on this front – or if not, I’ll probably ask Fukuisan for a mini-lecture, though I’ll wait until his head stops spinning from the workout our Iron ChIF has been putting him through!

Funnily enough, I’ve been starting to read The Hobbit to the aforementioned sick toddler – he’s too young for it, but he’s interested enough to listen and then it knocks him right out, so I’m calling that a big win – so this is an enticing question indeed. Our challenger being a bit coy about what the stranger might be holding there to start, so I can’t help but wonder whether it’s the device about which our meals are being constructed, or something else entirely?

I appreciate the baby steps Pacian is offering us, because despite @Draconis kindly offering explanations alongside their code, I’m barely making heads or tails of it (and that only because of @improvmonster’s run-down on list management!)

So I think this is basically cramming a text in the alien language onto an object, and setting up the world-state so each word is associated with the object (“bears”) and flagging that these words are in the alien language, not English, without having to manually run through the process each time? I’m not sure whether this is all being done in setup, though, or it indicates that the player will be able to inscribe some texts, too (I think not, but otherwise, wouldn’t this all be done at compile-time anyway?)

The above probably doesn’t make any sense and is why I try to confine my commentary to the non-crunchy parts of IF!

The stuff about the dictionary is way, way above my pay-grade, though the fact that we’ll be able to dynamically set a translation of the alien language is pretty encouraging to me – I know other language games, like Heaven’s Vault, have this as a feature, but all the IF implementations I’m aware of just require the player to keep and update the dictionary. This mechanic seems like it could be very powerful and lend the gameplay a distinct feel, as well as allowing the puzzles to be more complex as the player won’t need to store as much in their head. But one detail of the implementation did jump out at me:

This hearkens back to the white-space question I raised above – it seems as though variable names come through with spaces around them by default, but you can modify that behavior with this (no space) syntax? I can definitely see the advantages to such a feature, especially if there’s a (for the love of god don’t put a line break here) analogue.

All right, that’s our competitors’ daily updates sorted, so now it’s off to bed!

…what do you mean they both made double updates?!

11 Likes