Why is the title '...for narrative games'? The library's front page itself doesn't say anything about 'narrative' games.
For that matter, what is a "narrative game". None of the sample games would fit the definition in my head of "narrative game". If I google for "narrative game", the sample games certainly don't seem to fit.
And, assuming there is a common definition of "narrative game", what does this library do special to facility making "narrative games" that other game engines do not?
That is really cool and inspires me and makes me want to play it and make stuff like it, thanks for showing it to me. I really do live under a rock it seems.
Ink language & their IDE make it very easy to get started with choice games ! And it exports to HTML/Js where you can add further visual effects via custom JavaScript.
Highly reccomend, its so good that it takes all the fun out of designing my own janky custom system.
Thanks for the recommendation, I never would have guessed someone made something like this! But of course they did.
I was definitely wondering how I would do this outside of Excel, but I have so many projects going on right now that figuring this one out didn't sound fun :D
There is also twinery or inklewriter for simple text stories with an online authoring option. And Inform7 for full on text adventures, where you write the stories in a declarative manner as plain english.
I think the idea is that it gives you a declarative way to build simple adventure games with text and dialogue.
Its selling point isn't for building mechanics-first games like a more general engine (e.g. Pico-8).
But what you can do is easily make maps, a character that walks between maps, NPCs, and triggers for dialogue/text.
Consider other engines aimed at non-programmers like RPGMaker: the main games people make with it are "narrative games" where you walk around and read text/dialogue, usually with zero additional mechanics outside of the built-in map + trigger system. It's probably 90% of games built with it!
So I'd reckon they're saying "you can build those games with this tool too".
You're right, there are only two more "narrative" examples accessible via the French version of the site. I used the term because the turn-based structure and focus on messages, prompts, and dialogues felt suited to narrative or text-driven games, but maybe that’s not the best label. Happy to rethink it!
"ZZT-like" would be the adjective/genre descriptor I'd use for this. It's a slowly forgotten genre these years (unlike "Rogue-like" and "Rogue-lite" you see being thrown around everywhere), but a classic genre of the early PC nonetheless.
I didn’t know about ZZT, but that makes a lot of sense now that I’ve looked into it. The format, simplicity, and screen-by-screen feel do seem closely related. Thanks for the reference. That museum is a great find!
I recall Anna Anthropy's book on ZZT doing a great job of capturing the feel of the early PC ZZT scene and some of its AOL/CompuServe/Prodigy communities in the early 90s. Might serve as other bits of inspiration, if you like short history books: https://www.amazon.com/Boss-Fight-Books-Anna-Anthropy/dp/194...
I really enjoy the way this is put together. I have written a number of javascript game engines, to play with over the years, and this hit a really nice spot between, I need to throw this whole thing to gether in the next 2 hours to entertain the kids, and the subsequent I really want to do a deep dive into the nitty gritty of this thing.
Looking forward to slapping a few quick games into this and distract the kids in a low bandwidth type style.
Neat little thing. Feels like a great learning tool for kids, like a new age pygame.
Scratch and the others in that style always felt like it went one step too far. It's designed for 5 yearolds, and 5 yearolds don't need to be learning about code.
This is a good sweetspot for a ~10 year old. Reasonably simple string manipulation , a couple of syntax tricks to learn, and not much else. Just to get a basic side scroller with some NPC's. Then they can incorporate control flow when they are ready.
Consider releasing a class for kids on this tool & investing in the playground. You could get some real sales.
A different angle, you could do some basic procgen game assets with this tool.
That's a truly inspiring project, thanks for sharing!
I noticed it's open source but is missing a license. Could you add one so developers can understand to what extent they can modify and publish their forks?
For example, it occurred to me that I could translate it into my native language and publish a fork of it (with credits, of course), since less than 5% of my country speaks English. Would that be okay with you?
Ohh thank you, I’d be thrilled! I’ll add an MIT-style license a bit later today.
What’s your native language? Right now it’s fairly easy to add translations to the site for left-to-right languages.
In any case, feel free to fork, send a pull request, or reach out if you'd like to help make it more accessible!
This is amazing and exactly what I needed as of ~12 hours ago.
The coincidence is kinda insane though - quick personal story I think is worth a readers time. I was just working on assets to develop a very quick (3-levels, built for one person) narrative romance game until I fell asleep last night. I’ve never developed any game of any kind.
I then wake up to a JS library for narrative games at the #1 spot on HN.
FTR the game is a simp game I’m using it to ask someone I’ve been seeing to make things official.
its a thoughtful idea – and been there too, just recently did a faithful html recreation of the 2005 MSN chat interface to surprise someone with teenage nostalgia. it was sweet.
If it's worth anything, this sounds very sweet and thoughtful, I don't think enjoying someone's company makes you a "simp" neither does showing attention.
Text doesn’t translate it well but that’s just my sarcastic sense of humor :)
I love trying and going a bit overboard because life is short and sweet and it’s your responsibility as a human to make it fun.
I do appreciate this comment though. I personally know a lot of my peers would be made better by internalizing your belief - I’m just not one of them :)
Great use of typing in the editor, e.g., I like how it knows the references to template sprites so it can highlight the errors when calling functions with incorrect arguments.