I have very little familiarity with Parchment or Inform 7, but I have coded in Inform 6 extensively (I wrote a DM’s assistant in it for roleplaying back in the day, along with some unfinished IF projects).
I’m trying to figure out whether the final stage of a mixed media project I’ve been developing can be ported to Parchment/Inform 7. (Currently, the IF portion of the project has been roughed out in LambdaMOO, and I’m willing to finish it and release it in that form, if need be, but for reasons of scalability, it would be nice to have it in Inform as an option.)
The trouble is, in order for it to work as planned, there needs to be extensive crosstalk between the text adventure environment and the JavaScript on the surrounding page. I need to pass all sorts of variables (even very long strings) from inside the game, constructed out of the state of the game, from Parchment to my own website’s source code, and back. (Well, I could possibly make it work without passing any variables back into the game, but getting as much data as possible out of the game into the surrounding website in which it’s embedded, is essential to the concept and can’t be avoided.)
My questions:
(1) Are there any standard functions in either i7 or in Parchment to export the states of variables or objects out into the surrounding codebase?
(1a) If there are, are there strict limits to the size and types of variables that can be exported? Can I export a string of any size?
(1b) If there aren’t standard functions that allow this, is it possible to dig into the Parchment source code to create one and how difficult do you think this would be? The z-machine is a black box to me.
(2) If Parchment isn’t the way, is there another web-playable z-machine interpreter that will give me access to the internal state of the game in mid-play?
and
(3) Can any of this be done with Inform 6 instead of Inform 7? I’m willing to give i7 a chance and do plan to learn it, but as an old codemonkey my brain is quite used to formulas and braces and I’m more comfortable with that syntax than a more natural language approach. AppleScript, for example, drives me a bit nuts with its ambiguities. Also, I have custom libraries for Inform 6 that I’d rather not have to rewrite.
Thanks much for any insight you could provide, however small.
Paul.