I’ve tried to get Vorple installed on my computer and working with my projects on Inform, and I’m just having a hard time and I can’t get it.
Would some patient, blessed soul be willing to show me a very slow/clear/treat-me-like-I’m-five step by step to what I need to do to get it installed and running? I’ve tried using it on a friend’s computer before and it’s a lot of fun. I’d like to try using it again! (note: I use windows, not apple/mac)
Unpack the file “nginx-1.16.1.zip” somewhere.
On my system: “D:\Spiele\IF\Vorple\nginx-1.16.1”.
Start Inform 7 and create a new project. I will call it “Vorple Test Game”. For the directory in which to create the new project, choose the subdirectory “html” in the nginx directory which we created in step 5.
So, on my system: “D:\Spiele\IF\Vorple\nginx-1.16.1\html”.
Add the following code to the test game:
Include Vorple Notifications by Juhana Leinonen.
Release along with the "Vorple" interpreter.
The Laboratory is a room. "A room for experiments with Vorple."
When play begins:
display a notification reading "Welcome to Vorple!".
Open the project’s Materials directory: within Inform, open the “Release” menu and click “Open Materials Folder”. This will open the location on your hard drive in a file explorer window.
For my system, it’s “D:\Spiele\IF\Vorple\nginx-1.16.1\html\Vorple Test Game.materials”.
Go to the folder which we created in step 3 above, in my case: “D:\Spiele\IF\Vorple\vorple-inform7-3.1.0”. This contains two folders: “Extensions” and “Templates”. Copy both of them into the Materials folder which we opened in step 8.
On my system, they are now at “D:\Spiele\IF\Vorple\nginx-1.16.1\html\Vorple Test Game.materials\Extensions” and “D:\Spiele\IF\Vorple\nginx-1.16.1\html\Vorple Test Game.materials\Templates”.
In Inform 7, click on the Release button to generate a release. Inform puts the files into the Release folder, which is a subfolder of the already-mentioned Materials folder.
So, on my system, the release is at: “D:\Spiele\IF\Vorple\nginx-1.16.1\html\Vorple Test Game.materials\Release”
Start “nginx.exe” from the nginx directory which we created in step 5.
So, on my system: “D:\Spiele\IF\Vorple\nginx-1.16.1\nginx.exe”.
It will run in the background and serve any web pages which are stored in its “html” subdirectory.
Start a browser and open the “play.html” page in the “Release” subdirectory which was created in step 10: put “http://localhost/Vorple%20Test%20Game.materials/Release/play.html” in the URL address field.
Note: do not open the play.html file from a file explorer, because we do not want to look at the file as a “static” file, so to speak, but rather as it is served by the nginx server.
You should see the game starting up and displaying a notification in your browser (the notification which we defined in the game code in step 7 above).
I hope this helps, and feel free to ask if something isn’t clear.
Hmm. I must have done something wrong again, or something is weird with my computer. I get to step 12/13 and I get a message in my browser saying ‘404 not found’ (no matter the browser I use) when I try to run the game in the server.
Here is what my folder set up looks like:
C:\Users\chandler\Documents\VORPLE\nginx-1.17.3
nginx1.17.3 contains conf, contrib, docs, html, logs, temp and of course, nginx
In the html folder I’ve got: Vorple test.inform, vorple test.materials, 50x and index.
In the vorple test.materials folder, I’ve got: Extensions, Release and Templates
Lastly, the release folder contains: interpreter, cover, index, play, small cover, style and vorple test (glulx file)
Is there something I could be doing wrong? (I tried nginx 16 and 17, identical directory setups both times) Inform works on my computer though - I’ve had that installed for a long time before hearing about Vorple. In any case, its directory looks like this:
I think it’s because in step 12 above, the link points to a folder called “Vorple Test Game.materials” and yours is called “vorple test.materials”.
You can also just go to to http://localhost, and normally a list of folder should appear and you can just click your way to play.html.
(Also, if you know how to use Python and have it installed, you can use it instead of nginx. But if you don’t have it installed, it’s better to stay with nginx.)
The 404 error probably means that nginx wasn’t able to find the requested file at the given URL.
The “html” subdirectory is treated as the root directory of “localhost” when nginx is running, so to work correctly, anything that follows the “localhost” in the browser’s URL bar must be exactly in the corresponding location within the “html” directory on the hard drive.
My suggestion would be to try out these things:
Make a subdirectory “testing” in the “html” directory and copy the “index.html” file from the “html” directory there (this is the file which has a greeting from nginx)
Try to get this file served by accessing “http://localhost/testing/index.html” in the browser. If it works (you should see “Welcome to nginx”), everything else should also work in principle.
For the Inform project, try a directory name without spaces. Make a subdirectory “testingvorple” in the “html” directory and copy the contents of the Release directory there.
Thank you my dudes! I changed the name of my game and changed the URL I followed, and I also made that subdirectory per StJohnLimbo’s instruction, and everything is running smoothly now!
Thanks for these instructions. (They really ought to be in the Vorple Extension documentation.) I was indeed able to get the test game to show up in Firefox.
My next question is, how does all this rigmarole about a local host relate to what happens when the game is actually sitting on a remote server somewhere? What is the arcane process through which it becomes accessible to other people?
This is my guess based on my experience with HTML, JS and local servers and not Vorple itself, so I may be mistaken, but…
Browsers have varying levels of security based on where it’s accessing the HTML file. One case, which I’m assuming Vorple is afflicted by, is that it doesn’t let you load files (whether it’s a JS file, text file, etc) through Javascript if you load the HTML file into your browser like a normal local file (with the address like “file:///c:/bleh.html” or whatever).
To get around this, you can install a web server on your own PC (nginx in this case). The “localhost” part is redirecting to IP address 127.0.0.1, which is your own PC. So in other words, what I’m saying is that the browser is now treating your local file like a web hosted file even though it’s on your PC.
And now with that unnecessarily long explanation out of the way: putting your HTML file up on a normal web server should “just work” because it’s identical to how you’re running it now.
Thanks. I’ve now verified that. The URL is clumsy, but I was able to put the file up on my own seldom-visited website and then run the test game from there.
I’m still stewing about this question, because I really prefer T3 to I7. But the ability of T3 to produce a browser-playable game is, uhh, somewhat open to debate at this point. I haven’t yet been able to get it to work. It’s POSSIBLE to develop my game in I7, there’s not an actual problem, it’s just a question of what type of development system I’m comfortable with.
It seems like that port 80 is already in use or not open. It seems like people were able to solve the problem but stopping IIS. I vaguely remember having this issue myself and I think I solved it the same way.
That helped. It seems to be running now, but it’s still giving me a 404 error. I tried it in a couple different browsers. Should I try a different port?
I was about to link this, but I might as well link it even if you don’t need it anymore. It’s a site for checking to see if your port is accessible from the outside. It may not be necessary for accessing it locally, but it’s useful if you wanted to see if someone could access the link if you shared it.
Sorry for the necromancy, but the question I had seemed like something good to pair with these instructions.
When I follow these instructions, I successfully create a working, locally hosted, Vorple test game, as expected.
However, when I make some changes to the Inform project, let’s say by adding the following:
The laptop is in the Laboratory. The description of the laptop is "Sleak and sexy."
Rule for printing the name of the laptop:
place a link to command "examine laptop" reading "laptop".
And then save the Inform project, the hosted file remains unchanged.
Does this mean I need to replace the release files each and every time I want to compile my Vorple project in the browser?
Is there a more elegant way to do this?
(I’m using 6M62 and Vorple 3.2.8)
ETA: PS: Inform doesn’t recognize the line: place a link to command "command text" reading "link name" even though it’s pulled directly from the Vorple documentation: Hyperlinks · Vorple