Tensodoct: Javascript interpreter for Scott Adams adventures

Just in case this interests someone, I’ve converted the commandline Scott Adams game file interpreter “PerlScott” to Javascript, using node.js: https://github.com/pdxiv/tensodoct. It should behave exactly like the Perl version.

One reason for me doing this, is that in the future I want to make a small and lightweight game interpreter suitable for static web sites, to make it easier for people to publish new games they’ve made in this format online. (I know this only happens once every 5 years or so, but maybe it will be more frequent if it’s more practical?) Making a standalone commandline client has allowed me to easily compare the functionality with the existing Perl version. I have some confidence in the Perl version thanks to the kind people who created great bug reports.

I’m sure the code isn’t the best Javascript, and I’m still working hard to become better friends with Javascript, but “tensodoct” does work just as well as the old Perl version did (which is a conversion of the published Basic listing in Byte Magazine, for which I blame some of the oddities in the code).


Gonna finish SALAD #2 soon, I swear!


Haha, well I’ll be waiting with excitement for that then! I’ll finish syntax highlighting for ScottKit files for Visual Studio Code and the web version of “tensodoct” at some point before the end of this century. Sometimes there are just too many interesting projects to spend time on, in the limited amount of free time in a lifetime.

Sorry for spamming, but for anyone this may interest, I just updated PerlScott and tensodoct with optionally being able to type “N” instead of the more lengthy “GO NORTH”, etc for the cardinal directions. Before I added this, it never bothered me how annoying it was to have to type the whole thing out. :smiley:

In a fit of hubris, I decided to try to implement this in a complicated way that makes it possible for a game file to redefine the text of the cardinal directions, so if someone wanted to make a strange game world where up was down, and down was east, that would still work. (My real ulterior motive is to be able to make it possible to write games in languages other than english, at some point.)