I can tell you that one of them didn’t give me any great ideas, but the other was absolutely fantastic. I was going to be thrilled no matter which one Pacian eliminated!
EDIT: Oops, that was supposed to reply to gfaregan. Mb!
I can tell you that one of them didn’t give me any great ideas, but the other was absolutely fantastic. I was going to be thrilled no matter which one Pacian eliminated!
EDIT: Oops, that was supposed to reply to gfaregan. Mb!
Hmm, I wonder how to distill a joke from this…
“Is that an alien identification device in your pocket, or are you just pleased to see me?”
Well, what successful adventurer ever does? Unless the stranger’s stuck with an inventory limit…
Who doesn’t love freshly rendered hendecagonal cucumber (EDIT: or as the case may be, courgette) slices?
I thought I knew my gons but I did not know that one.
-Wade
The way this show turns out to be both entertaining and educative is delightful !
Hang on a minute, is this implying the player could be stored in the stranger’s pocket…
Are we, ourselves, the interdimensional spider thingy ??
Is the idea that only participants, organisers and judges post in the other topic, and everyone else in this topic? (That is somehow both obviously useful and not very practical!)
Yes. The “episode” thread is intended to be akin to a simulated broadcast, and this thread has been set up so that anyone can comment without breaking the flow.
I’m “off air” until the end of the development period, but I wanted to share a fun historical tidbit about the “one of” construction’s history: I was surprised to discover that this functionality was originally pioneered by Sean Barrett for The Weapon in a subsystem he called Varying Strings. He actually modified the Inform 6 compiler so that he could get easier variation in text generation.
I thought I recalled reading that Dialog doesn’t have dynamic memory allocation. That makes me wonder how it’s able to handle linked lists. Is there a giant fixed array and a suballocator for cons cells (or their equivalent)? If so, is it garbage-collected?
All this talk of spiders and alien languages reminds me of Children of Time, a science fiction book that manages to have both in significant proportions. There are alien spiders with an alien spider society and they speak an alien spider language. It’s a fun read.
As a side note, there’s some irony in the focus being a game about an unknown language written in Dialog, which is an unknown language to many “viewers” of this first episode, including me. Though looking at the fun and useful features it has tempts me to try my hand at it myself. Language is a good theme for an IF contest, and the IFs I’ve played that do interesting things with language have generally been unique and memorable.
Catching up. I managed to misread “mine detector” as “mime detector”, which now has me contemplating the usecases for such a device…
Anyway, I’m enjoying this so far. Makes me want to try out Dialog myself! And Draconis’ quick-‘n’-easy conlang baking kit is seriously cool.
Dialog doesn’t have dynamic object creation (in the sense of Z-machine objects, since it’s designed to target the Z-machine). It does have a dynamic heap (actually, three heaps) which is used for storing lists (I’m pretty sure they’re stored as cons cells as you surmised, although I don’t think I’ve actually checked that part of the code). When compiling Dialog to Z-machine you have to specify how much of the Z-machine RAM to reserve for the heap, because exhausting the heap is an essentially unrecoverable error (Dialog’s only available tool for fixing the situation is attempting to execute the @undo opcode).
Thank you, that makes sense.
What are the multiple heaps for? Generational garbage collection?
They’re called the main heap, auxiliary heap and long-term heap. I’m afraid I don’t know the specifics of what each one is used for. Iron Chef @Draconis would be the obvious one to ask, but they’re elbow-deep in the competition at the moment so probably won’t be stopping to answer random technical questions about Dialog!
as fukui-san (?) i’m supposed to address any questions. however, there are (likely) only two people in the world who know the dialog compiler in such detail. i am not one of those people.
I have a rather technical explanation I’ve written before, but that’s probably more detail than is needed here! Unfortunately, the three heaps are not documented anywhere official, so it just comes down to who’s worked with the compiler enough to understand the internals. Which is basically…me.
But the short version is:
Honestly, this just makes me think of Forth—especially since this is also how ALLOT-based allocation works in Forth, IIRC.
Oof. Sounds like pulling teeth, especially since Dialog has ~99 verbs in the stdlib AFAICT.