Loreline – Tools for writing interactive fiction

(loreline.app)

187 points | by smartmic 16 hours ago

12 comments

  • fbcpck 15 minutes ago
    Having messed with RPG Maker formats recently, I find this fascinating because it's so much more elegant and nicer looking.

    Though it seems like it's more suited to fully text based scripts. The format I was messing with was full of markers to e.g. change the facial expression of the speaker's portrait, play sound effects, etc. (mid dialogue!)

    Makes me think about how script/dialogues are written and formatted internally in other mediums. Umamusume in particular stands out in my mind; it has a lot of movement and actions as the dialogue lines are spoken. Sounds silly but they really do make it feel more dynamic and alive.

  • Agustin19 7 minutes ago
    Really cool! Congratulations, and great work. I hadn't heard of this kind of tool before and yours looks really nice.
  • inigyou 8 hours ago
    Inform 7 will forever be the best language, not because it's a good language, but because of the way programmers react when you present them a page of Inform 7 code.

    https://github.com/I7-Examples/Bronze/blob/main/Bronze.infor...

    • noufalibrahim 4 hours ago
      I wrote a few games using Inform 7 and ran a couple of workshops for it too.

      It's not just the technical idiosyncrasies of the language. I've noticed that if you use it for the few hours and get into "the zone", you start to inhabit the world that you're creating and "see" it. The overall attitude is that of a world creator rather than a programmer fixing technical issues. Breaking the flow is trying to figure out how to handle an array or something like that. I liked the experience and this idea that the nature of the language will affect how you interact with it and hence the DX is, I think, not fully explored.

      • michaelbuckbee 28 minutes ago
        This, more than anything else I'd ever read about Inform, really makes me want to give it a try.
      • jeremyfa 3 hours ago
        I don't know Inform 7 much, but I'm trying my best to make Loreline language syntax never get in the way of the writing and thinking process. Kept refining it since 2024 and this is still an ongoing process. I'm hoping that it will resonate to other writers too!
    • ghtbircshotbe 1 hour ago
      To paraphrase a description of inform 7 I once heard in a podcast -

      Inform 7 awkwardly pretends to be regular English, similar to how text adventures awkwardly pretend that the player has meaningful freedom to act in the game.

    • photios 7 hours ago
      I wonder if someone's tried IF tools like Inform 7 as the specification language you give an LLM agent. Looks like a good way to describe UI screens.
      • ElFitz 7 hours ago
        Would also work very well for "open prompts" interpreted and mapped to one of the available options by a LLM. As some sort of constraints.
    • yjftsjthsd-h 5 hours ago
      What do you mean, that's just a text file full of prose-

      Oh.

      Oh no.

      (Seriously, that's either very clever and perfectly reasonable, or... Not. Haven't decided which. Guess someone had to follow COBOL's footsteps.)

      Edit: Thought about it more, and I've decided that for the intended users that's excellent. In the same way I wish formal proof languages would just use alphanumeric reserved words like a normal programming language, meeting writers closer to home is probably a helpful step that need not have any real downsides assuming you document it well.

    • ElFitz 7 hours ago
      I am glad to have checked that one out. I don’t know whether to be amazed or horrified.
  • er4hn 12 hours ago
    I wonder how it compares to https://github.com/inkle/ink of Sorcery! and 80 days fame?
    • sltkr 12 hours ago
      There is a comparison here: https://loreline.app/en/docs/comparison/
      • nodezsh 1 hour ago
        I'm wondering why Ren'Py is never mentioned here at all. Judging from that comparison it seems to be much more powerful than these alternatives. But maybe I'm misunderstanding what these tools are actually for.
  • queeshonda 13 hours ago
    I thought these are tools for managing an Open source version control system designed for scalability?
  • rsalus 5 hours ago
    so cool! how does this compare to ChoiceScript?

    https://www.choiceofgames.com/make-your-own-games/choicescri...

    • jeremyfa 3 hours ago
      I'd say it shares a lot of similarities given that both languages look indented and have similar keywords. The main differences are going to be the tooling, the portability, and the syntax itself where Loreline tries to avoid the use of symbols, favoring the semantic structure of the script instead and taking advantage of the indentation.
  • riidom 12 hours ago
    What I missed in the docs: Is there some out of the box deploy target? Ink has a web export for example, so if that's all you need you don't need to deal with any middleware aspects and simply write your game, export for web and get the interface for free, basically.
    • jeremyfa 3 hours ago
      You can use the Loreline Writer app to export an HTML page right from the editor. It's pretty basic for now but it will get improved over time!
  • gcampos 9 hours ago
    I like how readable the script is!

    Long time ago I build my own interactive story system, but it was more focused on visuals and portability

    • jeremyfa 3 hours ago
      Portability is actually a key element of Loreline, you can get more technical info about how it's addressed there: https://loreline.app/en/docs/technical-overview/
      • jorisd 1 hour ago
        Very interesting to use Haxe for the core interpreter. I compile my own language into a string of tokens that can be interpreted by a simple stack-based VM (which also enables compiling other languages like a sunset of Yarn Spinner), but in my system I need to create an interpreter myself for every language I want to target. Not difficult (the VM is trivial) but a chore. I need to look into how this works with Haxe, thanks for the link?
  • xmprt 12 hours ago
    I like how in the example gif, barista.name is set in the "Your name is Alex, right" block, implying that the barista didn't have a name/didn't know their name until after being prompted.
    • voidUpdate 42 minutes ago
      I believe before the "name" attribute is set, the name in the dialog is "barista", but once it has a "name", it displays as that instead. Technically, no, the barista didn't have a name until that selection was chosen
  • SpyCoder77 13 hours ago
    Comments:

    10% The post

    90% Epic Games' version control system

  • kgwxd 14 hours ago
    I know exactly how I'm going to version my .lor files!
    • jeremyfa 3 hours ago
      I'm glad Epic didn't go with .lor extension
    • ncr100 14 hours ago
      Lemmie guess - not git.
    • totetsu 10 hours ago
      I get this reference
  • Pay08 5 hours ago
    Not really related to the post, but does anyone else get a reflexive negative reaction to a .app TLD?