Inkle Related

I found out about inkle after playing the wonderful game 80 Days. Inkle open-sourced many pieces of their toolchain that they used for creating the narrative portions of their game. Ink is the scripting language used under the covers. I wanted to play around with it but unfortunately (for me) it is written in C#

Ink Grpc Runtime

Ink Grpc Runtime

Since I didn't want to build a whole bunch in C#, I decided to write a GRPC wrapper around the Ink engine. It includes a small proto that manages the lifecycle of an Ink story and methods for working with a story once underway. Its not a full wrapper around everything the API can do but it does a good enough job for some simple text-based adventures

Ink Server

Ink Server

With the protos in place, I built a Golang server to act as a client to the Grpc runtime. It served an Angular front end that was more a POC than anything

Term Ink

I combined Wish with the ink-grpc-runtime above to create an ink client that runs in the terminal via ssh. A working version is available via ssh intercept.withrow.dev -p 23234.

This is running the game The Intercept which is a demo game to show off the capabilities of Ink. The source is available here