Borogove: Online editor for Vorple, Inform, Hugo, Dialog and Ink

This is incredible work, @Juhana. I created Playfic on top of Dannii Willis’s Parchment to make authoring and sharing interactive fiction a little easier, but the combination of Borogrove’s editor with Vorple’s multimedia capabilities is a huge leap forward.

The only thing it’s missing is hosting games, but it sounds like that’s coming very soon. Once that’s added, I might as well just start redirecting Playfic users to you instead. Congrats on an amazing release!

8 Likes

First this looks awesome and I’m very impressed with what it appears to handle so far.
So to preface all of this, I know nothing about Vorple and was working in the first Inform 7 option from the main app page.
So, when testing a quick check of supported features I noticed something odd about the righthand viewport (where the story plays). Once the story output progressed past the bottom of the viewport area, every new command resets that viewport back to the top of the scrolled text. So it requires scrolling back down to get to the prompt (and to see the result of the last command) each time.
So the question is:
Am I causing this through something in my code is this the expected behavior?

1 Like

It’s not just you, there seems to be something going on with the interpreter that causes that behavior. I’ll check it!

Quixe is now updated and the scrolling works correctly.

1 Like

Copying and pasting some examples from the “Writing with Inform” documentation. I tried running “The Undertomb 2” from Section 4.9 and got an error from this line:

Brightness is a kind of value. The brightnesses are guttering, weak, radiant and blazing.

The error message:

Problem. The sentence ‘Brightnesses are guttering, weak, radiant and blazing’ (line 3) appears to say two things are the same - I am reading ‘Brightnesses’ and ‘guttering’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Tarzan is Jane’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Treehouse is a lighted room’ says that something called Treehouse exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.

Is this a problem with the source code itself? Or the compiler? I’m wondering if there is an issue in converting Inform 7 to Inform 6 before running the game file.

1 Like

“Line 3” suggests that the code lost some empty lines while copy-pasting. If the code looks like this:

"Undertomb 2"
Section 1 - Procedure
Brightness is a kind of value. The brightnesses are guttering, weak, radiant and blazing.

then you need to add empty lines before and after the Section definition on line 2.

This happens because code blocks in the examples are separated by paragraphs instead of two line break characters so copied code also has only one line break where there should be two.

4 Likes

That was it. Thanks! Looking forward to using this more!

2 Likes

That’s amazing @Juhana !
I tried setting up a Vorple project a few years ago and never got it working so I’m excited to try this out.

4 Likes

This is very inspiring! Someday I hope to do something similar for Dialog, but it’s probably best to focus on the core functionality for now, in order to stand on solid ground. Again, good work!

5 Likes

The editor is designed so that new languages are easy to plug in, so if Dialog has an online interpreter (or did it also use standard Z-machine?) then it would be quite simple to add it. The compiler can be converted automatically to JavaScript the same way Inform 6 and Hugo compilers are implemented. But, if the system is still evolving rapidly, you’re right that it’s probably better to wait until it reaches a more stable phase.

The thing is, I would want to integrate this with the interactive debugger. That would allow you to edit the code in the left pane, and immediately have those changes merged into the running game in the right pane. I’m sure it can be done, but it’s a bit more involved than a simple recompile (because the state of the game needs to be taken into account).

I love the idea of Borogove. The UI is a lot less cluttered than desktop I7, which is a good thing in my book.

I could see it as a suitable platform for testing code on the go. On my Android phone, though, the editor becomes unusable. It rejects key presses (newline and backspace) and there’s something funky about the caret that suppresses the keyboard even appearing after a short period of editing.

This may be Android’s fault, but no other web forms do as badly, so I thought it deserves mention.

Great tool! Thank you very much for this, Juhana.

BTW: just for now I would be very happy to have Dialog support, even without the interactive Debugger. It would help polishing my german translation a lot. Releasing the documentation of borogove would help me doing it myself.

I am curious how exactly the system works. Are the compilers running on an extern werbserver?

The Inform 7 compiler runs as an external service, but all other compilers run in the browser. They’re converted from C source code to Javascript using Emscripten which is the same tech used e.g. in some of Lectrote’s interpreters and the Internet Archive’s DOS game’s library.

4 Likes

Dialog support has been added to the editor along with the Å-machine interpreter, mainly thanks to @Mikawa’s efforts.

In addition the issue where the Quixe interpreter didn’t print consecutive spaces has been fixed.

8 Likes

How do you use extensions? Specifically “Plurality by Emily Short” - my test game uses this but it fails to compile as it says it can’t find it, I also have an Include to “Basic Screen Effects by Emily Short” and that works?

The Plurality extension is defunct at this point, because its features have been incorporated into Inform’s core. So it doesn’t exist in recent versions.

2 Likes

Is everything ok? I keep getting an error at the very first phase of compilation inform 7 projects: “Could not connect to remote compilation service”.

Sorry, the compiler service was down for a few hours after a server update. It should now be working again.

3 Likes