Stupid LookupTable tricks: updating a nested value

The language definitely feels like something that’s grown by accretion. Which isn’t necessarily a bad thing. But, you know, I really wonder how many released games are really using the LISP-ish car() and cdr() methods on Lists, for example.

And part of it’s just because it’s a domain-specific language, but TADS3 seems to expect that, for example, floating point arithmetic is a faintly exotic extravagance that will be seldom needed. Which feels like something that is informed by the limitations of microcomputers of several decades ago and is a bit of an inconvenience today.

Like back in the day a lot of games looked more like >TAKE LAMP and >KILL TROLL WITH SWORD for the quite sensible reason that that’s about what you could manage, if you were very clever, within the limitations of the hardware. Now virtually any computing device–desktop computer, phone, or set-top box–could easily implement, say, a decent AI by which you could engage the troll in a game of chess, or go, or GAN-driven conversation…but the domain-specific languages, designed to implement the games of earlier generations, do the programmer few favors in that regard.