Live data from Hacker News

Ink 1.0 – Open-source scripting language for interactive narrative

inklestudios.com

51–58 of 58 posts

Re: Ink 1.0 – Open-source scripting language for interactive narrative

#51
post #41
post #36

Ink is great, and very extendable. I used it as the scripting engine for a machine-learning-powered chat bot.

That sounds amazing! Where would be a good place to start digging into chatbot tech? Specifically, I'm wondering how to dynamically rewrite scripted dialogue and it is a deceptively deep topic.

There are two types of chatbots -- unreliable freeform ones (e.g. GPT-3) and reliable script-based ones (e.g. Alexa). I believe that what you're looking to do (dynamic rewriting) is moreso an active research topic!

The script-based chatbots are very similar to those in the 80s, with one major addition -- the options at each choice point are now "intents" instead of exact text (e.g. "the user intends to order a taxi"). Machine learning is then used to classify whatever the user says/writes as an "intent," then the script is followed to the next choice point.

Here is a nice Java framework that uses Ink to drive a script-based chatbot similar to Alexa: https://github.com/rabidgremlin/Mutters

Re: Ink 1.0 – Open-source scripting language for interactive narrative

#52
post #50

Looks like there is an actively developed godot integration - https://github.com/paulloz/godot-ink and a emacs major mode - https://github.com/Kungsgeten/ink-mode There is an lsp implementation - https://github.com/ephread/ink/tree/language-server/inklecat... Seems like I should spend some time with ink!

Awesome. When I noticed the Unity plugin, I came here hoping there would be somebody asking about Godot. Thanks for the link!

This is also a good implementation in pure gdscript: https://github.com/ephread/inkgd

Re: Ink 1.0 – Open-source scripting language for interactive narrative

#53

Wow this is awesome. I think it would be really cool to write some documentation or more interactive education using this tool.

I wrote my "portfolio" page[1] in a choose-your-own-adventure style with Ink. Documentation would be pretty cool, might experiment with that at some point. [1] https://maxsond.github.io/

This is so cool! Is your site open sourced ?

Re: Ink 1.0 – Open-source scripting language for interactive narrative

#54
post #53

Earlier quoted context omitted.

I wrote my "portfolio" page[1] in a choose-your-own-adventure style with Ink. Documentation would be pretty cool, might experiment with that at some point. [1] https://maxsond.github.io/

This is so cool! Is your site open sourced ?

Thanks! It's just a Github page, so you can see the source at https://github.com/maxsond/maxsond.github.io/

homepage.js is the translated Ink script after processing by inkjs (from Inkle)

ink.js is a bunch of Inkle magic

main.js has some custom choice behavior I wrote for things like opening browser tabs when you pick certain choices, as well as some other stuff.

I actually didn't commit the original Ink script to version control, and I'm kicking myself for that now.

Re: Ink 1.0 – Open-source scripting language for interactive narrative

#55

Wow this is awesome. I think it would be really cool to write some documentation or more interactive education using this tool.

I wrote my "portfolio" page[1] in a choose-your-own-adventure style with Ink. Documentation would be pretty cool, might experiment with that at some point. [1] https://maxsond.github.io/

I'd change the "exit link" on the first prompt to a flat version of your website (and there an option to comeback in) instead to some random website.

Re: Ink 1.0 – Open-source scripting language for interactive narrative

#56
post #37

Earlier quoted context omitted.

> It's quite good compared to ink at simulating objects with a lot of metadata can you give an example? I have zero familiarity with IF programming, but I would be very interested in understanding this.

In inform7, you can do this: > A race is a kind of person. Dwarf, elf, and half-elf are kinds of race. > A town has numbers called friendliness, services, comfort, and population. Leadership relates a person to a town. The verb to lead implies the leadership relation. "F [friendliness] / S [services] / C [comfort] / P [population]". > Rivalry relates various towns to each other. The verb to be rivals with implies the…

If you’re going to use something outside of Ink to provide most of the logic, is Ink the superior solution?

Re: Ink 1.0 – Open-source scripting language for interactive narrative

#58
post #37

Earlier quoted context omitted.

In inform7, you can do this: > A race is a kind of person. Dwarf, elf, and half-elf are kinds of race. > A town has numbers called friendliness, services, comfort, and population. Leadership relates a person to a town. The verb to lead implies the leadership relation. "F [friendliness] / S [services] / C [comfort] / P [population]". > Rivalry relates various towns to each other. The verb to be rivals with implies the…

If you’re going to use something outside of Ink to provide most of the logic, is Ink the superior solution?

Ink isn't a programming language, it's a markup for scripts that branch a lot or have text substitution rules. The FFI means that if a project hits ink's limits, you can go beyond them. Despite being a markup, ink is very close to turing complete. XML is another type of markup that relies much more heavily on external languages. So I think ink is quite powerful. (at least enough for most interactive fiction!)
Post reply on HN