It sometimes feels like I’m releasing a new version of this every two days, but Interactive Parsing is now up to Version 4. The new version is substantially faster, especially if what you’re typing makes sense. Running on my MacBook, it now feels like a normal command line. And on Quixe, well, it’s not too bad.
Here’s the changelog:
- Minor bug-fixes, including one error which would cause AGAIN to follow under certain circumstances.
- Blank input lines are now once more silently rejected.
- Providing customised parser errors no longer causes infinite loop (*facepalm*).
- Optimised the calculation of scope by caching results of scope searches and matches against scope.
- Changed the way scores are calculated so that it’s easier for words to be maximal, so the loop can drop out earlier.
- Changed the logic for word length. The system now preferences words which are longer than what the player’s typed over words that are shorter.
- Changed the order in which words are considered, so the most recent suggestion is checked first, making it more likely that the loops will drop out earlier.
…and the greatest of these is the last one, which means basically means that when game and player are in agreement over what’s happening, the analysis system mostly drops away completely.
There’s still some skittishness in the UI of suggestions on narrow screens that I’d like to fix, and I wouldn’t be surprised if the game can still be crashed in some baroque fashion. But broadly, I’m quite pleased with progress.
In particular, I’ve been using it in my Glulx port of Make it Good (and that’s driven a lot of the optimisations), and it’s now working at a pretty respectable speed. (Here’s an online version up and running. Curiously, it’s really all the stuff after the parsing that’s slow. One for another day, maybe.)
Usual link-block follows.