Vorple version 3.1 available

The long wait is over: we’ve just released a new version of Vorple!

Version 3.1 of both Inform 6 libraries and Inform 7 extensions can be downloaded here: vorple-if.com/download.html

Documentation and getting started instuctions here

Here are some highlights:

  • Major issues have been fixed, including broken save/restore, double prompts when the game had ended, and occasional line break issues
  • New extension: Status Line, which creates a status line similar to the standard status line, but with extra flexibility and automatically adjusting to small screens
  • Added conceptual support and documentation for state-based user interface updating, which lets projects that extensively modify the user interface to work together with Inform’s own undo/save/restore/restart features
  • Full support for accented and non-English characters
  • Improved audio features, including preventing a music track or playlist from unnecessarily restarting when asking it to play while it’s already playing
  • Improved JavaScript evaluation performance, cutting in some instances as much as 97% off execution time
  • More modular JavaScript library structure, which allows for easier integration into larger JavaScript programs and use with other frameworks
  • Significantly smaller interpreter file size, which makes games load faster and saves bandwidth
  • Internet Explorer 11 support
  • New web site (vorple-if.com) with a new look and more extensive documentation

Lists of all changes are here: Main JavaScript library, for Inform 6 and for Inform 7.

If you have an existing project that uses the 3.0 preview version at the moment, it’s recommended to upgrade to the new version. Changes required to the Inform code should be minimal as there are very few changes to the Inform syntax. Check the changelogs (links above) for anything marked BREAKING CHANGE which are the most likely areas to need adjusting.

The upgrade process is to install the new version as per the instructions, overwriting old files. If you have made manual changes to the Vorple JavaScript/CSS/HTML files or Inform extensions, you’ll need to transfer the changes to the new version. (Manually changing the library should be avoided, as almost everything can be monkeypatched without touching the library files.)

Other related things of note:

  • Hugo Labrande (the I6 library maintainer) made a very cool looking demo game and an introductory video. It’s available in English and in French.
  • Natrium729 has experimented with packaging Vorple games both as Android apps and desktop standalone executables for offline play.
  • Something to watch for: Inform 7 team’s plans for the future of I7 open up even more possibilities with Vorple integration. See Graham Nelson’s presentation about the subject from last summer.

Also, a huge thanks to the above mentioned people and also others who have posted bug reports, developed related technology and used Vorple to make games!

Great! :smiley:

Thanks a lot for your work. I hope to have time soon to make something with Vorple, instead of juste writing extensions, because I really love Vorple.

Save/Restore working now is great! That will completely revolutionize Vorple. I would love to start using this now!

The save/restore thing is a huge deal. I’ve been keeping to short games, but now the floodgates are open.

Very excited about this! I’ve done a few small projects where the status bar wasn’t important, but that’s an addition I’m happy for.

Note that the save/restore feature is not yet quite ideal: the file is saved to the virtual filesystem and the player must remember the filename when restoring. The next version will let the user download and upload an actual file.

I’m having trouble getting this version of vorple to work by setting up a local server (macos).

Here’s what I’ve done:

opened Terminal
changed the directory to my materials folder with “cd /users/caleb/moongoon.materials”
typed “python -m SimpleHTTPServer” into Terminal
gone to “http://localhost:8000/moongoon.materials/Release/play.html” on the browser

It’s not working, though. “Error code 404. Message: File not found.”

I thought the method for running a server was explained differently on the previous vorple website, but I can’t remember how it differed – I thought maybe it just had a straight link to go to to run the game? I was able to get it to work on previous versions by following the instructions on the site, but with the new version I can’t.

Thanks for any help!

If the server was started in the moongoon.materials, you don’t need to type it in the adress (since localhost:8000 will already point to it). So the adress will be http://localhost:8000/Release/play.html.

The documentation is not clear about that, maybe it could be improved.

You can also just write http://localhost:8000 so that you’ll have the list of folders inside moongoon.materials. You can then just navigate to play.html by clicking on the list.

Excellent, thanks! Got it working.

Hey, some other example of the capabilities of Vorple is this really nice Spanish game by my friend JFM Lisaso. La pequeña cerillera. The classic tale by Andersen.

jomali.itch.io/la-pequenna-cerillera

It doesn’t matter if you can’t read Spanish, just hit the play button and be amazed.

The game interface allows experience the history by parser or by using completely the hyperlinks. It is a really nice feat evolving since Blue Lacuna. OMG this is XXI century IF as it should be.

Quick question, and it may sound like a dumb one.
Why Vorple, and not Blorple?
The tradition in the IF sceen is to name various and sundry things after Infocom spells and/or things (the Treaty of Babel, Frotz, Blorb, Etc.). So why not Blorple?

I’d venture it’s a good name - I didn’t even realize it wasn’t an actual Infocom spell until just now.

1 Like

From what I guessed, it comes from the Vorpal sword mentionned in the poem Jabberwocky (Lewis Carroll).

The hints that led me to this conclusion:

Now, why this name was chosen, and why “Vorple” and not “Vorpal”, we’ll have to wait an official answer.

2 Likes

The reason is somewhat convoluted and uninteresting, I’m afraid. The early proof-of-concept demos used Google’s Closure library which has “goog” as its main namespace. The custom “Vorpal” methods used similarly the “vorp” namespace. Therefore because goog --> Google, then vorp --> Vorple.

Naming tools and interpreters after Infocom spells was already in decline, and I didn’t want to tie a “future-oriented” thing too much to the past.

2 Likes

So I’ve gotten Vorple up and running and tried a few examples. There’s one piece of functionality I don’t really understand: whenever I click on the “>” prompt (any example really), I get a hover menu containing a few commands (presumably some of my commands, but oddly enough not the latest). What’s happening there? Can I change that behavior? The Vorple source itself yields no obvious clue.

I think that’s the browser’s autocomplete feature that suggests past input when you focus on the input field. You can disable it by editing the Templates/Vorple/(manifest).txt file and changing line 69 to:

    <form id="lineinput" autocomplete="off">

That’s interesting! Is there documentation that covers this and similar functionality?

There aren’t many other relevant options, but they’re listed at MDN here, here and here.

I am not sure if this is the right forum to ask this question. But is it possible to import data from an excel file into a table in inform 7 using the latest version of vorple?

1 Like

It should be possible, but quite a complex task. Roughly the process would be:

  • Parse the Excel file, possibly with something like https://github.com/SheetJS/js-xlsx . If you can use e.g. CSV files (exported from Excel) instead, that would make it somewhat simpler.
  • Write a table from Inform to an external file (see ch. 23.13. in Writing with Inform). Read the file (see below) and replace the contents in JavaScript with whatever data you want from the Excel file. The structure must be exactly the same as in the file that came from Inform (same columns and data types) and the first one or two lines which include an id (possibly the IFID, I don’t remember exactly) that lets Inform load the file correctly later.
  • Save the file and read it from Inform as per the same chapter, 23.13.

Files are saved into a virtual filesystem so you’ll have to operate it using methods documented here: https://emscripten.org/docs/api_reference/Filesystem-API.html#id2

So it’s quite a lot of work and requires some familiarity with JavaScript. Depending on the ultimate goal, another possibly easier option would be to parse the Excel file and send the data to Inform using normal Vorple methods, and then set the table data inside Inform with custom code instead of the automatic table import.

2 Likes