Fun With Playback

13/05/2026

Petteri Sulonen

Founder, CEO & CTO

I’ve been working on a pretty cool little feature lately — dialogue playback right inside Tarinoi. We want to give authors a way to see how their work plays out without having to have them switch gears or jump out of what they’re doing. Writers have a thing about context. They locate themselves in a project and work there. If they navigate somewhere else to do something and then have to return, they lose that context and it breaks their flow when they have to reorient themselves.

Our playback is right in the graph UI. Writers spend most of their time on the cards themselves, but if they need to drill in, the details are in an expandable drawer to the right. That’s also where you’ll find playback. It shows what the player would see if they had just selected the card you currently have focused, and you can play forward from that point on.

There’s one little twist we needed to figure out when making this playback feature. One of Tarinoi’s design pillars is that it is unopinionated — you can make any kind of game, in any genre, in any engine, with any kinds of mechanics. If it has words and the words matter and are linked to things that happen in the game, Tarinoi will give you what you need to do it. This is great but it does have one significant consequence: Tarinoi doesn’t actually know anything about what’s going on in your game. You just describe its shape: declare the variables, define the function signatures, and connect these up to the dialogues.

This means that since Tarinoi doesn’t actually execute any of your functions or keep track of any of your variables, it can’t make your dialogues reactive in exactly the same way as in the game engine. Yet when playing back a dialogue, you will want to see how it changes depending on game state. How to square this circle?

Our solution was really simple, but when playing around with it, it feels very “right.” We may not know how your conditions are evaluated, or how your forks are resolved — but we do know that you have a condition on a card, or a fork in your dialogue. So when, in playback, you encounter a set of cards with conditions, we just ask you: you’ll see some toggles you can set to tell Tarinoi that a condition evaluates as true or false, or which output pin to fork from. Moreover, Tarinoi remembers these choices and accumulates a pseudo-game-state so you can play through a dialogue several times and only flip the switches when you want to see things change.

The result feels really good to play with. It surfaces structural problems in your dialogue, your changes are reflected immediately, you can hop around, move forward and back, go through different branches, see how it changes with game state, all without leaving the graph you’re working on. It may not look as beautiful as a dedicated playback mode, but we do think that as an authoring tool – something you’ll spend hours working in – it’s pretty damn good.

#features
#updates