intfiction.org

The Interactive Fiction Community Forum
It is currently Mon Nov 12, 2018 4:09 pm

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 29 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: Lectrote 1.2.0
PostPosted: Thu Dec 29, 2016 7:06 pm 
Offline

Joined: Sat Jan 23, 2010 4:56 pm
Posts: 5796
I have replaced the older Parchment engine with Dannii's current ZVM (for Z-code games). The interface is now consistent with the other VMs, and it now supports Z-code V3/5/8.

https://github.com/erkyrath/lectrote/releases


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Lectrote 1.2.0
PostPosted: Sat Jan 07, 2017 11:18 pm 
Offline

Joined: Sat Jan 23, 2010 4:56 pm
Posts: 5796
I've posted 1.2.1, which fixes some hangs and status-line screwups in Inform 6 Z-code games.

https://github.com/erkyrath/lectrote/releases

If nobody ran into any hangs or status-line screwups, that tells us something about how much Lectrote is being used for Z-code games. :)


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Lectrote 1.2.0
PostPosted: Sun Jan 08, 2017 2:22 am 
Offline

Joined: Sun Apr 18, 2010 3:58 pm
Posts: 832
I did just play Savoir Faire, but I realized in hindsight that I was using Lectrote 1.1.8.

So if the hangs/status screwups were newly introduced in 1.2.0, then maybe nobody noticed because not many people upgraded.

(Electron has an auto-updater/update-detector thingy doesn't it? Maybe turn that on?)

_________________
At Choice of Games, we sell long-form choice-based interactive fiction games. We're looking for writers, paid in advance.


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Lectrote 1.2.0
PostPosted: Sun Jan 08, 2017 1:24 pm 
Offline

Joined: Sat Jan 23, 2010 4:56 pm
Posts: 5796
Quote:
So if the hangs/status screwups were newly introduced in 1.2.0


That's correct. We switched to a new Z-code VM.

I don't trust auto-updaters. In this case, it would have prevented you from playing Savoir Faire!

(And, in general, the times when I am not updating Lectrote will outweigh the times that I am.)


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Lectrote 1.2.0
PostPosted: Sun Jan 08, 2017 2:12 pm 
Offline

Joined: Sat Oct 04, 2008 9:21 pm
Posts: 242
If you really need to, provide three Z-code VMs (four when I make XJSZM). You can then add VM implementations for other systems too if/when needed.

But I agree with not using auto-update; I also don't like auto-updates.

Maybe you should also change the title of the top message to say 1.2.1 as well; then you can see more easily when is the new version released (it is what I have done with my own releases too, and I think everyone should probably do).

_________________
.


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Lectrote 1.2.0
PostPosted: Fri Jan 27, 2017 3:51 pm 
Offline

Joined: Fri Jan 27, 2017 3:29 pm
Posts: 15
Unfortunately, Electron (and so Lectrote) doesn't support Windows XP, which can be in use among IF aficionados since some of them love everything retro :)
I was thinking to add a couple of interpreters written in C as Native Client modules, but 1) Electron doesn't support those, too 2) they would not be able to read/write files from/to disk, as they are sandboxed.
However, it seems that they can be added as Pepper plugins, which Electron runs as trusted non-sandboxed code. Or probably just as a subprocess of node.js server, if I'm understanding correctly how it works.

There's a competing project, NW.js, which works on XP and even supports Native Client.
However, what I was thinking about is use PyWebkitGtk library running interpreters as subprocess and having a smaller download size.
So I'm asking for opinions on this:
1) is there a real need to replace zvm.js and Quixe with faster vms? or improvements in V8 together with decompiling into AST and so on will reduce the difference over time?
2) what looks to you as a better platform choice for this - NW.js, if I insist on WinXP support, or Python with GTK and Webkit bindings? (all kind of comparisons - ease of installation, ease of packaging for 3 or more operating systems, App Store support, ...)


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Lectrote 1.2.0
PostPosted: Fri Jan 27, 2017 6:35 pm 
Offline
User avatar

Joined: Wed Oct 14, 2009 4:02 am
Posts: 2545
Compiling a Glk interpreter with RemGlk and connecting to it through a subprocess would probably be the easiest way to get additional VMs into Lectrote, but it would need to be done for each OS. I'm not sure how the bundling procedure would work for that.

Compiling to JS with Emscripten would also work, and would allow them to be used on the web as well.

Once I adapt Emscripten's relooper algorithm then I expect ZVM (and a future GVM interpreter I plan to write) to be as fast or faster than the C terps.

Using NW.js would allow you to reuse most of the electronfs.js Dialog library. Switching to Python would mean reimplementing it from scratch, and probably also changing how the JS connects to it. And hopefully it's improved by now, but last time I used PyWebkitGtk it was a real mess. But NW.js wasn't much better then either...

And forget about using Native Client. If you really want something like that, use WebAssembly.


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Lectrote 1.2.0
PostPosted: Fri Jan 27, 2017 10:25 pm 
Offline

Joined: Sat Jan 23, 2010 4:56 pm
Posts: 5796
Faster interpreters are never a *bad* idea. However, there are already interpreter solutions for WinXP. Lectrote isn't aimed at that target. So I don't plan to replace Lectrote's Javascript engines with native-client engines. But if you want to try making such an interpreter, have at it.

I understand that PNaCL gives you the benefits of native-client engines without the portability problems, but I have no experience with them.


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Lectrote 1.2.0
PostPosted: Sun Jan 29, 2017 4:03 pm 
Offline

Joined: Fri Jan 27, 2017 3:29 pm
Posts: 15
So let me sum it up:
1) ZVM will potentially run at least as fast as Bocfel and analogous GVM (once implemented) will run as fast/faster than GIT, so using Bocfel/GIT with Webkit could be of lower priority. (I am assuming, maybe wrongly here, that the default choices Gargoyle offers are the fastest terps - thus Bocfel and GIT).
2) The easiest way to target WinXP desktop with web-UI would be: NW.js+ZVM+Quixe.

And if I don't go web-UI and just want a bit more user-friendly software, I could consider this:
3) Another possibility is to enhance Gargoyle with GUI dialogs for tweaking it's configuration file. This way I could reach Debian users without additional effort (as currently gargoyle-free package is present in Jessie repository), and wouldn't need to distribute Windows builds myself. I would just need them to accept my pull-request.


Top
 Profile Send private message  
Reply with quote  
 Post subject: Re: Lectrote 1.2.0
PostPosted: Sun Jan 29, 2017 4:27 pm 
Offline

Joined: Sat Jan 28, 2017 2:03 am
Posts: 9
WebAssembly is not fully alive yet, and won't be for another year. If you want to use it, asm.js is its current analogue.


Top
 Profile Send private message  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 29 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group