inkle / ink

inkle's open source scripting language for writing interactive narrative.
http://www.inklestudios.com/ink
MIT License
4.14k stars 493 forks source link

List of ink integrations? #248

Open Natrium729 opened 7 years ago

Natrium729 commented 7 years ago

Is there a list of ink implementations somewhere? I know there are integrations for Unity (of course), Javascript, Java, and I think a Lua one is being written. Are there any others?

It would be cool if the readme mentionned them. (While obviously stating that it's not inkle who maintain them.)

lhughes41 commented 7 years ago

Informally I have done a python integration. So it is possible. But it is not public code.

micabytes commented 7 years ago

Would probably be a good idea.

jInk is a Java implementation (which I plan to port to the JVM compatible Kotlin in future). https://github.com/micabytes/jink

Unlike most Ink implementations, it's not a straight port, and contains some additional features such as object variables and method reflection in Java (permitting the execution of methods on objects from within Ink) that I find useful. jInk is used in the Android role-playing game Pirates and Traders 2 (https://play.google.com/store/apps/details?id=com.micabytes.pirates2).

blade-ink is a straight java port of Ink, AFAIK. https://github.com/bladecoder/blade-ink

bladecoder commented 7 years ago

Hi!

I am the blade-ink developer. As @micabytes said, blade-ink is a port of the Ink engine like ink-js but in Java.

It supports all the Ink features and it is really easy to maintain because the code is very similar to the C# port.

You can create multiplatform (Android, iOS, Desktop, Web) apps if you use it with libgdx. I want to create a template of a libgdx app as a tutorial some time soon...

micabytes commented 7 years ago

Regarding jInk. it may be worth mentioning that I am currently porting it across to Kotlin (port is pretty much done - just a few features left).

Much more readable code, less bug-prone, and is still 100% interoperable with Java. It also compiles across to Javascript.

The port is pretty much done (branch: kotlin), though not merged into the master yet - still need to write a few extra tests, plus I want to add a few of the new Ink features to jInk.

micabytes commented 6 years ago

jink has now been converted to Kotlin, so I've renamed it to mica-ink, since the old name no longer makes a lot of sense. While it is still 100% compatible with Java, it is now developed in Kotlin. The repository has moved here:

https://github.com/micabytes/mica-ink

I also set up a jitpack, so it is now easy to link the library directly into Java/Kotlin projects.

Earlier on, I did a simple Android app (StoryBytes) for viewing ink files. I'm planning to clean that up and releasing the source code when I can find the time; in the meantime, I recently put together a small desktop viewer - StoryBytes (Desktop). It's built in Kotlin (of course) using TornadoFX. Very simple and barebones, but should be easy to modify if you have the inclination.

clembu commented 6 years ago

I didn't know this issue existed.

I've started working on a rust version of ink: https://github.com/facelesspanda/inkrs

Still WIP but *shrug* it's out there.

KumoKairo commented 6 years ago

I think a Lua one is being written.

Is there info on this? I have only found https://github.com/premek/pink but it looks abandoned and with a TODO list (it also comes with a parser/compiler)