About Loreline

Loreline picture

Loreline is made by Jérémy Faivre, a software engineer and game developer based in Paris. Games, creative code, music: the common thread has always been building tools that bring ideas to life.

Why build another narrative scripting language?

Creating interactive stories has always appealed to me, and my background in game development led me to build dialogue systems, branching narrative tooling, and other systems that tell stories. I created and shipped video games with Cyprien and Étienne Périn. Together, we also prototyped real-time narrative gameplay with the participation of FibreTigre.

Narrative games

Every time, the narrative systems were custom-built. But over time, with the ambition to go further in creating interactive stories, the need for a more versatile tool that wasn't tied to a single game became clear. So I first evaluated existing options like Twine, Ink, and Yarn Spinner, only to find them decent but not quite what I'd want to use long-term.

I have a rather radical track record when it comes to tooling: I built an entire open source game engine from scratch, the very one we shipped those games with. I also use a little-known but incredibly powerful programming language called Haxe, made in France 🥖. Let's just say following trends isn't my top priority*!

So, for better or worse, why not pathologically go again and build a tool from scratch?

That's how Loreline was born.

doctor: You're relapsing, Jérémy.

jeremy: Doctor, this time it's different. It's narrative.

The doctor sighs, puts away his notes,
and quietly closes the door behind him.

* Don't worry, after 20 years of software development, I've worked with plenty of different technologies and languages: Unity, C++, Node.js, Android, iOS, React and even Flash. You have to live in society... (and by the way, Loreline is compatible with many of these!)

What shaped the design

A few deliberate choices define Loreline:

The rich aroma of coffee fills the room.

barista: Hey there! How's your day going?

choice
  Having a great day
    barista: Wonderful! The coffee will make it even better.

  Need caffeine...
    barista: Say no more! Let me take care of it.

  Your name is Alex, right?
    barista.name = "Alex"
    barista: Oh, I didn't expect you to remember!

Who uses Loreline

Dogfooding matters. I use Loreline for the dialogue system of my puzzle platformer in development: Radiant Zenith, which progressively unfolds an entire narrative arc.

By making the tool available and building this website, I hope to encourage game developers and interactive fiction creators to try Loreline, and maybe even adopt it for their future projects. That will probably happen gradually!

Loreline has just been made public. If you're using it in a project, let me know: I'd love to feature it here!

What's next

Loreline is still recent. The language and its tooling will evolve based on real usage and feedback. I also have plenty of ideas to explore to make it better!

Want to explore further? Start with the Introduction to Loreline, or try it directly in your browser.