Lectrote and Vorple?

I’ve heard good things about Lectrote. I’m considering binding a Vorple-based game into a one-file executable, to remove the hassle of having to set up a virtual Vorple server on the localhost. I’m unsure if Lectrote can do it at present, so I figured I’d ask. Can it? And if so, what are the steps if you’re on a Windows machine?

Probably not Lectrote directly, but you can package the Vorple interpreter with Electron (electronjs.org) which is what Lectrote does.

Also see recent thread:
https://intfiction.org/t/release-as-standlalone-exe/13575/9

  • Jack

Lectrote is just an Electron framework with Quixe stuffed in, plus a few additions. (Preferences dialogue, hooks to use native file dialogues for save/load, etc.)

It should be possible to replace that version of Quixe with the Vorple version and then go through the packaging process in the usual way. However, I’ve never tried it.

Alright. Does it still hold a complete Chromium binary? I ask because I recall Counterfeit Monkey as being much smaller than 35 MB.

I wrote an Electron project to bundle a Vorple story.

It is quite simple and does not handle things like preferences dialog. Since Vorple can directly use JavaScript and can itself modify the game layout (margins, fonts and such), I leave it to the author to implement preferences and additional features.

It is still a work in progress and full documentation has not been written yet, but you can still begin to use it. Some things may change but not a lot.

If you have a deadline, I can see what I can do to make it ready in time.

I decided to try my hand at exporting the Vorple example to a binary. Unfortunately, the last step (bundling it) didn’t go so well: I tried to use the npm pkg functionality and after addressing various issues, I ended up with an app called “vorplectron-win.exe” which is a cli window with a black background and a simple prompt (writing most anything in that gives you “ReferenceError: [x] is not defined.” or “Invalid REPL keyword.”).

Looks to me like I’ve bundled node.js, but that it can’t talk to the actual game. Possibly because npm pkg required med to specify “bin”, which I have no idea what it is given that I don’t bundle a binary per se – I ended up putting in main.js, figuring that was the binary to point to, but apparently not.

I’m a bit at a loss here, honestly.

1 Like

You are using the template I made, Vorplectron? If so, you have to package the app using npm run dist. (Building an Electron app from scratch is not trivial, so the project uses electron-builder.)

You can also add a folder named build to the project, and put a image called icon.png for the application’s icon.

I haven’t written documentation about all this yet, but you can go to the electron-builder page linked above to have more informations.

(Also note that Vorplectron does not handle saving the game well. You can save, but it’ll use the standard, clunky, Vorple interface. You won’t be able to save to a file on your computer yet. If you really need this feature, I’ll see what I can do.)

2 Likes

That worked a treat! Thank you!

And holy crap that’s a huge file. Still, for portability alone, I’d say it’s well worth it.