frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Show HN: A 'Choose Your Own Adventure' written in Emacs Org Mode

https://tendollaradventure.com/sample/
124•dskhatri•12h ago
I authored and developed an interactive children's book about entrepreneurship and money management. The journey started with Twinery, the open-source tool for making interactive fiction, discovered right here on HN. The tool kindled memories of reading CYOA style books when I was a kid, and I thought the format would be awesome for writing a story my kids could follow along, incorporating play money to learn about transactions as they occurred in the story.

Twinery is a fantastic tool, and I used it to layout the story map. I really wanted to write the content of the story in Emacs and Org Mode however. Thankfully, Twinery provided the ability to write custom Story Formats that defined how a story was exported. I wrote a Story Format called Twiorg that would export the Twinery file to an Org file and then a Org export backend (ox-twee) to do the reverse. With these tools, I could go back and forth between Emacs and Twinery for authoring the story.

The project snowballed and I ended up with the book in digital and physical book formats. The Web Book is created using another Org export backend.

Ten Dollar Adventure: https://tendollaradventure.com

Sample the Web Book (one complete storyline/adventure): https://tendollaradventure.com/sample/

I couldn't muster the effort to write a special org export backend for the physical books unfortunately and used a commercial editor to format these.

Twiorg: https://github.com/danishec/twiorg

ox-twee: https://github.com/danishec/ox-twee

Previous HN post on writing the transaction logic using an LLM in Emacs: https://blog.tendollaradventure.com/automating-story-logic-w...

Twinery 2: <https://twinery.org/> and discussion on HN: https://news.ycombinator.com/item?id=32788965

Comments

laurentlb•12h ago
Interesting project!

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...

dskhatri•11h 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.
chrisweekly•12h 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•8h 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].

[1] https://github.com/emacs-mirror/emacs/blob/master/lisp/org/o... [2] https://github.com/tonyaldon/one.el

everybodyknows•8h ago
Bug report for https://tendollaradventure.com/sample/

Daphne's eyes are brown, except in the supermarket scene, where they're grey.

How were the images produced?

dskhatri•6h 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.
a_e_k•8h ago
Neat! IF-wise, there's also

M-x dunnet

which has shipped with GNU Emacs since 1994.

https://en.wikipedia.org/wiki/Dunnet_(video_game)

babuloseo•6h ago
Ai slop for art, people really need to stop buying these products. Atleast publicize or disclosed you used ai for the art.
Loic•5h 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"?

azaras•4h 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.

internet_points•3h 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•1h 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).

lordgrenville•3h ago
I thought this was going to be a game engine written in Emacs Lisp :) but this is still cool. Congrats!
dvh•2h ago
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

Stop whatever you are doing and do it NOW!

I no longer do game dev but I'm already sweating.

imglorp•48m ago
Ouch.

https://www.theverge.com/2020/11/25/21720533/netflix-banders...

kleiba•2h ago
Were the illustrations generated with Twinery? How do you guarantee consistency of the generated characters across multiple drawings?
quibono•26m ago
I'm torn on the use of AI generated images. I want to like them but they are distracting...

Anyway, nice work!

Show HN: InstaPodz – I made this to turn my boring commute into learning session

https://apps.apple.com/us/app/instapodz-ai-podcast-creator/id6744011584
2•AnsenHuang•19m ago•1 comments

Show HN: A 'Choose Your Own Adventure' written in Emacs Org Mode

https://tendollaradventure.com/sample/
124•dskhatri•12h ago•17 comments

Show HN: Improving search ranking with chess Elo scores

https://www.zeroentropy.dev/blog/improving-rag-with-elo-scores
159•ghita_•20h ago•53 comments

Show HN: 0xDEAD//TYPE – A fast-paced typing shooter with retro vibes

https://0xdeadtype.theden.sh/
95•theden•4d ago•24 comments

Show HN: Rqmts – Prioritize Requirements

https://apps.apple.com/us/app/rqmts-prioritize-requirements/id6748651044
2•indest•2h ago•0 comments

Show HN: Cobble – A hard daily word game

https://wilf.live/cobble/
21•wolfred•9h ago•15 comments

Show HN: BloomSearch – Keyword search with hierarchical Bloom filters

https://github.com/danthegoodman1/bloomsearch
60•dangoodmanUT•3d ago•12 comments

Show HN:Convert text/image to 3D model in seconds,No Login Required

https://fast3d.io
4•blacktechnology•3h ago•3 comments

Show HN: The HTML Maze – Escape an eerie labyrinth built with HTML pages

https://htmlmaze.com/
59•kyrylo•2d ago•16 comments

Show HN: An MCP server that gives LLMs temporal awareness and time calculation

https://github.com/jlumbroso/passage-of-time-mcp
80•lumbroso•19h ago•36 comments

Show HN: Shoggoth Mini – A soft tentacle robot powered by GPT-4o and RL

https://www.matthieulc.com/posts/shoggoth-mini
576•cataPhil•1d ago•105 comments

Show HN: Made Wheel of Names Without Registration

https://nameonwheel.com/
3•artiomyak•5h ago•0 comments

Show HN: DataRamen, a Fast SQL Explorer with Automatic Joins and Data Navigation

https://dataramen.xyz/
45•oleksandr_dem•23h ago•51 comments

Show HN: Timep – a next-gen profiler and flamegraph-generator for bash code

https://github.com/jkool702/timep
23•jkool702•2d ago•1 comments

Show HN: I built this to talk Danish to my girlfriend – works with any language

https://menerdu.vercel.app/
200•lil_csom•3d ago•107 comments

Show HN: Beyond Z²+C, Plot Any Fractal

https://www.juliascope.com/
99•akunzler•1d ago•26 comments

Show HN: We made our own inference engine for Apple Silicon

https://github.com/trymirai/uzu
174•darkolorin•1d ago•45 comments

Show HN: Bash.org MOTD for Terminal

https://github.com/graydot/bashorg-motd
3•graydot•11h ago•0 comments

Show HN: Quick Info on Cursor – Hoverless Tooltips for Keyboard-Only Coding

https://marketplace.visualstudio.com/items?itemName=developerjhp.quick-info-on-cursor
4•developerjhp•3h ago•0 comments

Show HN: Visualize Wikipedia link graph, opensourced

https://galaxy.wikiloop.org/
3•xinbenlv•10h ago•0 comments

Show HN: Reviving a 20 year old OS X App

https://andrewshaw.nl/blog/reviving-genius
71•shawa_a_a•5d ago•31 comments

Show HN: Clippy – a better pbcopy for macOS that handles files properly

https://github.com/neilberkman/clippy
33•nberkman•1d ago•14 comments

Show HN: ArchGW – An intelligent edge and service proxy for agents

https://github.com/katanemo/archgw/
114•honorable_coder•4d ago•15 comments

Show HN: I made a single landing page to serve all my unused domains

https://github.com/trizoza/nextjs-domain-lander
6•trizoza•11h ago•2 comments

Show HN: Ten years of running every day, visualized

https://nodaysoff.run
931•friggeri•6d ago•480 comments

Show HN: VS Code extension to edit the filesystem like a text buffer

https://github.com/ahrm/voil
67•hexomancer•4d ago•46 comments

Show HN: GitGuard - Painless GitHub PR Automations

https://gitguard.dev/
11•habosa•19h ago•4 comments

Show HN: FFmpeg in plain English – LLM-assisted FFmpeg in the browser

https://vidmix.app/ffmpeg-in-plain-english/
175•bjano•6d ago•46 comments

Show HN: Bedrock – An 8-bit computing system for running programs anywhere

https://benbridle.com/projects/bedrock.html
218•benbridle•6d ago•68 comments

Show HN: Doctor

https://merkoba.github.io/Doctor/
2•complex_city•16h ago•6 comments