Here's how the AI worked (second-hand, because although I was semi-involved with the game, I wasn't on the dev team).
The original natural language parser was Velocitext, an engine we licensed from Virtus. I say "original" because our devs - mainly the super-smart Jason Williams - put a ton of tweaks and other new code into it, and Douglas ended up naming the new system "Spookitalk" (because it was spookily good).
Here's how to make spookily good AI:
1. When ST came out (late 90s), everyone had basement-low expectations of natural language parsers. These days things are somewhat better with Siri and Wolfram and the like, but back then the best you had - especially in games - were the Infocom and Magnetic Scrolls adventure systems. It turns out that all you need to blow people away is something that's slightly better than that; people expect computers to be useless at this stuff, so when they can occasionally come out with something smart, the impression is huge.
2. Jason and our test lead (Francine) put HUGE amounts of time in putting people in front of the game, recording text entered and the responses, then tweaking, iterating, etc. The AI's job was to parse text, add a little context and then return one of the several thousand pre-recorded responses. By the time the game came out, Jason had it handling the vast majority of things that people were actually likely to type.
But again, the secret: AI doesn't have to be amazing. It just has to be better than you expect at doing the single thing it's meant to do. (See also: Valve's relatively simple soldier AI in the original Half-Life, which was amazing at the time)
Nearly: We worked with one particular coder from Virtus, who was a (very good) NL person, who worked with us to implement the original engine that we and she designed (I've still got my original design docs - at least the ones that weren't written on Groucho Club table cloths…). What made Spookitalk (itself about the fourth title it had) so effective was that we combined the outlook of engineers (who always try to disambiguate) and writers (who play with the ambiguity and 'noise' of natural language) to create an engine that was explicitly focussed on delivering the illusion of intelligence by whatever means - a large proportion of the later work was focussed on just that - handling and interpreting the contextual and colloquial 'noise' around a conversation and using it to deliver appropriately smartarse responses. In that regard, Spookitalk was the spiritual successor to ELIZA.
The original natural language parser was Velocitext, an engine we licensed from Virtus. I say "original" because our devs - mainly the super-smart Jason Williams - put a ton of tweaks and other new code into it, and Douglas ended up naming the new system "Spookitalk" (because it was spookily good).
Here's how to make spookily good AI:
1. When ST came out (late 90s), everyone had basement-low expectations of natural language parsers. These days things are somewhat better with Siri and Wolfram and the like, but back then the best you had - especially in games - were the Infocom and Magnetic Scrolls adventure systems. It turns out that all you need to blow people away is something that's slightly better than that; people expect computers to be useless at this stuff, so when they can occasionally come out with something smart, the impression is huge.
2. Jason and our test lead (Francine) put HUGE amounts of time in putting people in front of the game, recording text entered and the responses, then tweaking, iterating, etc. The AI's job was to parse text, add a little context and then return one of the several thousand pre-recorded responses. By the time the game came out, Jason had it handling the vast majority of things that people were actually likely to type.
But again, the secret: AI doesn't have to be amazing. It just has to be better than you expect at doing the single thing it's meant to do. (See also: Valve's relatively simple soldier AI in the original Half-Life, which was amazing at the time)