Twine Import Option

As per the advice of Luna from GDevelop, i am posting a suggestion which if implemented I believe will help the great community surround GDevelop. As far as I know Yarn is not actively maintained. I find the free alternative- Twine to be easy for beginners and it would be great if there was a way to import the Twine story node set into GDevelop. Also if it was possible, a more simpler implementation of dialog-tree conditions and actions would also make the prospect of interactive story telling more attractive to GDevelop users.

1 Like

Thanks for providing context. I’ve moved this over to the feature request section and added some categorization tags to the thread.

I’d strongly recommend that the dialog system move to Clyde or alternately to Ink JSON export or a custom derivative of those tools.

While Yarn is good for what it is, it’s not purpose built for dialog the way Clyde is or Ink JSON export can be.

Both tools are more complex than Yarn, but also have purpose built editors. Ink is especially good in this regard.

Alternatively, a VN toolkit similar to Ren’Py or Tyrano Builder would be great.

As a general heads up for people that may add to this thread, it is relatively important that any dialogue system will be implemented includes a html5 based editor and CC0 or MIT based license on both the editor and the library itself.

A dialogue language will likely not be supported unless it natively has an interpreter of some kind, which is why Bondage.js (not just yarn directly) was integrated originally.

This is more of a “minimum requirements” thing as far as I understand, not necessarily speaking to any of the suggestions in this thread. A plain text editor for something like Ink or Clyde may not meet those requirements (I’m not the judge on any of this, just adding context).

(That said, it may just be simpler to migrate over to YarnBound which is an actively maintained fork of Bondage.js with more modern features. Also Yarn/Yarnspinner itself is still actively maintained, so no worries there.)

An idea- cant we rework existing twine to json tools and optimize them to be imported to GDevelop, while it wont bring the ease of use of Twine, we would be able to simply export stories we created there to GDevelop scenes.

Twine is good but doesn’t provide any way to export the data for an external interpreter. It’s closed to their own system as far as i know.

I also discovered Ink, very intuitive and text-based so making an interpreter is doable, for the least. They have a GUI but it’s slow as hell.

1 Like

I am a technical noob but can we modify(optimize for GDevelop) such existing Twine to JSON tools:

First link is mostly dedicated to Harlowe so not suitable for an “all purpose” extensions (we won’t force users to use Harlowe even if it’s the default format)

Second link doesn’t have any update since 2020 (is it still maintained ?) and is a weird format (which means you have to change your story and prey nothing will break) displaying a JSON instead of the Story when you press play. Which means you can already put this JSON in your project and make your own Extensions to read all of these data ! :sunglasses:

So it’s a start, but i’m not sure that it’s on the good way tbh.

I personally understand little of the technicalities, but I think there are a number of similar twine projects on GitHub. Just trying to help! :slight_smile:

What i try to show you is that beside the technical part there are also things about the stability of the solution to take in account.

None of what you did is bad ofc, every solution is good to explore, as i told you, i didn’t even know people made exporters for Twine.

But to have any chance to be integrated it has to be highly maintained by their creators because Twine continue to evolve, so the exporter has to follow or GDevelop team takes the risk to provide a service that will break sooner or later.

Both Clyde and Ink have appropriate licenses. Neither really need a built in editor, as you can just import a text file, or link to the playground/editor, but the tech is available for use, especially in the case of Clyde.

That’s good to hear! Again, I’m not involved in any part of the process of deciding what’s added, just helping define what is required based on other integration asks in the past.

Although I would say there would likely be an expectation of having a visual editor that allows for the same functionality of Yarnspinner’s right now, because there would potentially need to be a way to go from the existing dialogue system to anything else if it’s replaced.

Just a plain text editor like Clyde and Ink’s playgrounds may not meet that need, although both seem relatively simple enough for folks.