The tools we use for Trip the Ark Fantastic development
Hey folks. Every week we'll (do our best to) publish some kind of a dev-blog/shout-out article with a hashtag #arkblogthursday. For now, this seems doable, but if we run out of stuff to write about... well, we probably wont
Btw, Ark Fantastic is on social networks too, so we'd really appreciate a follow or two
Ark Fantastic on Discord
Ark Fantastic official website
Ark Fantastic on Twitter
Ark Fantastic on Facebook
Ark Fantastic on Instagram
ANYWAY, December is an
open source game appreciation month.
Since that's the case, we wanted to give a shout out to all the open source tools we use! Of course there are so many, and December only has a few weeks so we decided to focus on three of our most important open source tools -
Ink for interactive dialogues,
Godot Engine for code, and
Krita for art.
This weeks shout out goes to
ink, a wonderful markup language for writing interactive fiction. It's perfect for character dialogues, but we also use it for stage directions during the dialogues and even triggers for characters scene behaviour.
What we love most about it is the fact that it’s easily readable by a writer, even when it has many different options. Check out this snippet for example:
This is a much more complex example than basic Ink but it also shows its power.
Ignoring the codey part and starting from line 12, you not only see that there after a few starting dialogues there are 3 options to choose from (indicated by * stars) and what the answer is for each of them, but you can also send function calls to the engine running the game.
In our example, the {s(“A”)} and {s(“P”)} functions change the portrait, voice, and animation of the character currently speaking (especially useful in a tavern where a dozen characters interrupt each other constantly!)
The most wonderful fact is that it’s simultaneously human readable and computer readable and when the dialogue writing starts it has almost zero overhead (just text with an occasional symbol here and there to denote some function or something).
This is how it looks in-game:
On the programming side of things, the folks at Inkle studios unfortunately don’t directly provide an integration package for the Godot Game Engine. Luckily the community has our backs and we would like to give a shout out to Frédéric Maquin who has kindly supplied the FOSS community with a
direct port for Godot!