Rendered at 15:52:13 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
inigyou 12 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.
I've spent time with various versions of Inform, and bounced off of Inform 7 fairly hard, for the same reasons that I bounced off of AppleScript years ago: it's a read-only language. Which is to say, the English phrases you use read well...but are hard to remember and hard to look up.
I'm sure it's possible to become highly fluent if you use it a lot, but I'd much prefer something that didn't use English prose for logic and control.
noufalibrahim 8 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 4 hours ago [-]
This, more than anything else I'd ever read about Inform, really makes me want to give it a try.
noufalibrahim 1 hours ago [-]
Thanks. You should. I remember something I read about a teacher who asked kids to write little interactive fiction pieces using Inform 7 set in different parts of the school and then he stitched them all together into a large story and they could all play it. Everyone's imagination comes to life. You wander into the parking lot and some kid has created a portal there into a mirror universe. I don't know if I'm misremembering or the work involved but it's definitely feasible and not something you can do with a regular programming language easily in such an open ended way.
I've always loved interactive fiction. https://en.wikipedia.org/wiki/Get_Lamp is a great watch. "Before the first person shooter, we had the second person thinker." :)
jeremyfa 7 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!
sehugg 3 hours ago [-]
It's in the uncanny valley, that's for sure. I never had much luck with it because you have to memorize a ton of specific English phrase templates and remember how they are injected into the game logic, and you often have to escape into regular old procedural logic.
But it's an ambitious experiment, and the docs are worth reading through. Every now and again I give it another try :^P
photios 11 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 10 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 9 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.
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.
wduquette 27 minutes ago [-]
Yes. It brings the experience of playing a text adventure to writing a text adventure.
ElFitz 10 hours ago [-]
I am glad to have checked that one out. I don’t know whether to be amazed or horrified.
nathell 3 hours ago [-]
Ceterum censeo, anyone thinking to create an authoring system for IF should first read the Inform DM4 [0], preferably in its entirety but at the very minimum §24 of Chapter 3. It’s really enlightening to learn about how to model the world in a general yet simple way.
Loreline isn't aimed at parser-based interactive fiction like Inform, it's a choice-based narrative scripting language, closer to Ink or Yarn Spinner. DM4 solves a different kind of problem.
Edit: that said, you're right this §24 is interesting regardless!
nickosh 2 hours ago [-]
I registered on Hacker News to say: thank you! Really. Your scripting language for fictions looks great, it's MIT license and already a lot useful tools! Special thanks for Godot plugin!
I'm developing small games as hobby from time to time. I built my Visual Novel engine on Godot but I'm stuck exactly how to keep text and variables in convinient way. My system initially based on JSON but it's not human readable - I thought to create special editor but I was doubted and project stuck for long time. Loreline looks exactly how I wish it to be. Script is clean, human readable and also support translation on multiple languages. Great, just great!
I hope you will continue working on this and will maintain it for the long time. If this project will be helpful in my case, I could consider to become sponsor on GitHub, if you need support.
I'm going to play with Defold when I will have some time. I hope Lua implementation which you already have will work there.
jeremyfa 1 hours ago [-]
Thanks for the really kind feedback!
About Loreline's future, yes, I have plans to keep maintaining it and improving it in the long run!
The free Loreline Writer app on Itch.io is "name your own price", so that's currently the easiest way to support the project. I may set up a crowdfunding page later.
Lua version should work as well as the others, but if you encounter any issue you can file it on Github.
You're not the first one to mention it, but it's instead Lore (worldbuilding) + Line (dialogue) :)
fbcpck 4 hours 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.
jeremyfa 3 hours ago [-]
Loreline does have tags to address this. When you plug the language to an actual graphics/game engine, you can use them to change how you display things:
barista: <concerned> That's a lot of coffee...
<- use "concerned" tag in the engine to display a concerned face
jeremyfa 3 hours ago [-]
And you can also bind custom functions to the language too, to play sounds, animations etc. Here's an example from the docs:
sarah: What's this green diamond? Wait, let me touch it...
james: Nooo don't touch it!
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.
SpyCoder77 39 minutes ago [-]
Dark mode looks sooo good on this
queeshonda 17 hours ago [-]
I thought these are tools for managing an Open source version control system designed for scalability?
antran22 12 hours ago [-]
You are confusing it with Lore [0], which is currently also on the HN frontpage [1]
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.
shantnutiwari 3 hours ago [-]
Choice script is a terrible proprietary language-- I dont recommend anyone use it. Ink or Twine are much better tools. While Ink is built by a company the actual tool is free and open source
Agustin19 3 hours ago [-]
Really cool! Congratulations, and great work. I hadn't heard of this kind of tool before and yours looks really nice.
Kinrany 2 hours ago [-]
Man, why'd they have to make it whitespace-sensitive.
jeremyfa 2 hours ago [-]
Because if you don't, the language can't rely on indentation to detect the structure, and you need more symbols and delimiters and... then it becomes Ink or Yarn Spinner :)
riidom 16 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 7 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 13 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
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 16 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 4 hours 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 16 hours ago [-]
Comments:
10% The post
90% Epic Games' version control system
kgwxd 18 hours ago [-]
I know exactly how I'm going to version my .lor files!
SpyCoder77 41 minutes ago [-]
Comments:
10% The post
90% Epic Games' version control system
jeremyfa 7 hours ago [-]
I'm glad Epic didn't go with .lor extension
ncr100 17 hours ago [-]
Lemmie guess - not git.
totetsu 14 hours ago [-]
I get this reference
Pay08 8 hours ago [-]
Not really related to the post, but does anyone else get a reflexive negative reaction to a .app TLD?
https://github.com/I7-Examples/Bronze/blob/main/Bronze.infor...
I'm sure it's possible to become highly fluent if you use it a lot, but I'd much prefer something that didn't use English prose for logic and control.
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.
I've always loved interactive fiction. https://en.wikipedia.org/wiki/Get_Lamp is a great watch. "Before the first person shooter, we had the second person thinker." :)
But it's an ambitious experiment, and the docs are worth reading through. Every now and again I give it another try :^P
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.
Think it's a great fit for IF alright.
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.
[0]: https://www.inform-fiction.org/manual/DM4.pdf
Edit: that said, you're right this §24 is interesting regardless!
I'm developing small games as hobby from time to time. I built my Visual Novel engine on Godot but I'm stuck exactly how to keep text and variables in convinient way. My system initially based on JSON but it's not human readable - I thought to create special editor but I was doubted and project stuck for long time. Loreline looks exactly how I wish it to be. Script is clean, human readable and also support translation on multiple languages. Great, just great!
I hope you will continue working on this and will maintain it for the long time. If this project will be helpful in my case, I could consider to become sponsor on GitHub, if you need support.
I'm going to play with Defold when I will have some time. I hope Lua implementation which you already have will work there.
About Loreline's future, yes, I have plans to keep maintaining it and improving it in the long run!
The free Loreline Writer app on Itch.io is "name your own price", so that's currently the easiest way to support the project. I may set up a crowdfunding page later.
Lua version should work as well as the others, but if you encounter any issue you can file it on Github.
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.
barista: <concerned> That's a lot of coffee...
<- use "concerned" tag in the engine to display a concerned face
sarah: What's this green diamond? Wait, let me touch it... james: Nooo don't touch it!
playExplosion()
james: Sarah? Sarah!!
[0]: https://lore.org [1]: https://news.ycombinator.com/item?id=48571081
https://www.choiceofgames.com/make-your-own-games/choicescri...
Long time ago I build my own interactive story system, but it was more focused on visuals and portability
10% The post
90% Epic Games' version control system
10% The post
90% Epic Games' version control system