Do NOT ever use that 4 word description of the genre nor the well know 4 letter acronym. Trademark owner goes VERY AGGRESSIVELY after both. Erase every mention of it everywhere, delete repo and create new one. Replace it with something like
- Interactive Story
- Branching Narrative
- Pick Your Path
- Create Your Own Quest
- Personalized Plotline
- Dynamic Storytelling
When I looked into CYOA, I opted for Ink. It's using a nice text-based language, a bit like markdown. It worked well for me, and I think it's a good option if you want to use a text editor.
Theoretically, epub format is ideal for a cyoa format book. Each choice at the end of the page can be a hyperlink to the next (internal) file, and the pages/files themselves could be marked non-linear (so that someone can't just page through to see all the pages).
Unfortunately, Apple and the others who have authored epub clients do not implement it correctly and behave as if non-linear pages are supposed to be some sort of footnote, and pop up models to display them, rather than just treating them as the reflowable content that they should be. Not marking them as non-linear is also problematic, because something about it seems off when you can just scrub through pages in linear order. It's unlikely to ever be fixed either, so the format itself is ruined for this purpose.
dskhatri 18 hours ago [-]
Ink looks iteresting! Twinery provides a nice visual editor for the passages and branches which I found appealing. Ultimately, I used Mermaid to create visual snapshots of the story which were useful when editing the physical book.
I'm torn on the use of AI generated images. I want to like them but they are distracting...
Anyway, nice work!
sjm 1 hours ago [-]
I know not everyone has this distaste for it, but as soon as I hit the landing it was so obviously AI-generated that I had to close it.
hofrogs 23 minutes ago [-]
Sadly, enough people will fall & pay for it
Loic 11 hours ago [-]
Sorry to hijack a bit the thread. I have been using Emacs for the past 20+ years. Before I could live in Emacs, now, I find it harder (software forced on me by external customers, AI tools, ...).
I try everywhere I can to install an Emacs mode for code/text navigation. But they tend to be inconsistent and for some software, it is simply not possible.
Do you have good resources to help there (running Linux/Gnome)? Do you keep the faith or switched "out"?
internet_points 10 hours ago [-]
Install the latest emacs release and you will be able to do `M-x eglot` – this by default knows about language servers for many programming languages, so if you e.g. do this while in a C++ file in some project, it will start clang or ccls (whatever's in PATH); the language server will then be active for all files in that project and you can use `M-.` (xref-find-definitions), `M-,` (xref-go-back), `M-?` (xref-find-references). Try also `M-x eglot-code-actions` on a symbol to see all available actions (renaming, add imports, refactoring etc.; what you get here depends on the language server).
I also use this plugin https://github.com/minad/consult which has the command `consult-ripgrep`, very useful for e.g. looking up all occurrences of the symbol at point (and text navigation across multiple files).
For "AI", start with https://github.com/karthink/gptel/ (its README lists alternative packages, as you can see there is no lack of llm support in emacs, both chat, "agents" and more specific use-cases)
mijoharas 7 hours ago [-]
To add to this, consult works great with embark, and orderless, which make for a wonderful emacs experience.
Also, on the llm point even though I know elisp, and use emacs heavily, they can be great for creating little personal commands that just make things a little nicer to use (lowering the barrier of "I'll write a command for this" from 15 minutes to 2 minutes is huge and means I can be bothered to do it for more marginal things which makes the editor even more pleasant to use).
azaras 10 hours ago [-]
Regarding AI, I don't have a replacement, but for code/text navigation, eglot is a good option.
I think that the AI CLI agents are the response for AI, but for now, I am opening VSCode with an Emacs extension and some keybinding changes.
chrisweekly 18 hours ago [-]
This is awesome! Thank you for sharing the backstory, and open-sourcing the tools you built. THIS is the kind of thing that keeps me coming back to HN more often than I should.
dskhatri 15 hours ago [-]
Thank you! I have been an Emacs user/consumer for many years. This project finally got me into the proverbial weeds, a fun venture, learning elisp, exploring the Org code base especially around the export backends [1]. It was useful going through the one.el source code as well, and I now write my blog in Emacs, rendering it using this package [2].
Daphne's eyes are brown, except in the supermarket scene, where they're grey.
How were the images produced?
dskhatri 13 hours ago [-]
Thanks! The story images were made in Google Whisk. The tool allows you to generate a character and then apply the character to a scene separately defined. While more advanced than other image generation platforms, it isn't perfect and the images required lots of editing in GIMP. The vectors (achievement stickers, play cash) were made in Inkscape.
kleiba 8 hours ago [-]
Were the illustrations generated with Twinery? How do you guarantee consistency of the generated characters across multiple drawings?
babuloseo 13 hours ago [-]
Ai slop for art, people really need to stop buying these products. Atleast publicize or disclosed you used ai for the art.
- Interactive Story - Branching Narrative - Pick Your Path - Create Your Own Quest - Personalized Plotline - Dynamic Storytelling
Stop whatever you are doing and do it NOW!
I no longer do game dev but I'm already sweating.
https://www.theverge.com/2020/11/25/21720533/netflix-banders...
When I looked into CYOA, I opted for Ink. It's using a nice text-based language, a bit like markdown. It worked well for me, and I think it's a good option if you want to use a text editor.
I wrote about my experiments here: https://laurent.le-brun.eu/blog/my-adventures-with-narrative...
Unfortunately, Apple and the others who have authored epub clients do not implement it correctly and behave as if non-linear pages are supposed to be some sort of footnote, and pop up models to display them, rather than just treating them as the reflowable content that they should be. Not marking them as non-linear is also problematic, because something about it seems off when you can just scrub through pages in linear order. It's unlikely to ever be fixed either, so the format itself is ruined for this purpose.
M-x dunnet
which has shipped with GNU Emacs since 1994.
https://en.wikipedia.org/wiki/Dunnet_(video_game)
Anyway, nice work!
I try everywhere I can to install an Emacs mode for code/text navigation. But they tend to be inconsistent and for some software, it is simply not possible.
Do you have good resources to help there (running Linux/Gnome)? Do you keep the faith or switched "out"?
I also use this plugin https://github.com/minad/consult which has the command `consult-ripgrep`, very useful for e.g. looking up all occurrences of the symbol at point (and text navigation across multiple files).
For "AI", start with https://github.com/karthink/gptel/ (its README lists alternative packages, as you can see there is no lack of llm support in emacs, both chat, "agents" and more specific use-cases)
Also, on the llm point even though I know elisp, and use emacs heavily, they can be great for creating little personal commands that just make things a little nicer to use (lowering the barrier of "I'll write a command for this" from 15 minutes to 2 minutes is huge and means I can be bothered to do it for more marginal things which makes the editor even more pleasant to use).
I think that the AI CLI agents are the response for AI, but for now, I am opening VSCode with an Emacs extension and some keybinding changes.
[1] https://github.com/emacs-mirror/emacs/blob/master/lisp/org/o... [2] https://github.com/tonyaldon/one.el
Daphne's eyes are brown, except in the supermarket scene, where they're grey.
How were the images produced?