[HN Gopher] Odyc.js - A tiny JavaScript library for narrative games
       ___________________________________________________________________
        
       Odyc.js - A tiny JavaScript library for narrative games
        
       Author : achtaitaipai
       Score  : 166 points
       Date   : 2025-06-06 13:46 UTC (9 hours ago)
        
 (HTM) web link (odyc.dev)
 (TXT) w3m dump (odyc.dev)
        
       | kevinsync wrote:
       | The Magic Mushroom is incredible lol
       | 
       | https://achtaitaipai.github.io/odyc-exemples/games/mushroom....
        
         | chrisweekly wrote:
         | This one's my fave so far https://achtaitaipai.github.io/odyc-
         | exemples/games/vroum.htm...
        
         | mNovak wrote:
         | John Wick is an accurate summary of the recent movie
         | 
         | https://achtaitaipai.github.io/odyc-exemples/games/john-wick...
        
       | hahahacorn wrote:
       | 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.
        
         | nartho wrote:
         | 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.
        
           | hahahacorn wrote:
           | 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 :)
        
         | achtaitaipai wrote:
         | Love the idea! Wish I could've helped out sounds like the
         | perfect use case :) Hope it works out!
        
       | eldog_ wrote:
       | 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.
        
         | achtaitaipai wrote:
         | Thanks! I put a lot of effort into the typing and getting the
         | editor autocomplete to feel right. Happy to hear it shows :)
        
       | c0nfused wrote:
       | 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.
        
       | socalgal2 wrote:
       | 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?
        
         | SamBam wrote:
         | Indeed, I was assuming it was a text adventure engine.
        
         | achtaitaipai wrote:
         | 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!
        
           | WorldMaker wrote:
           | "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.
           | 
           | https://museumofzzt.com/
        
             | achtaitaipai wrote:
             | 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!
        
           | socalgal2 wrote:
           | Was just curious if I was missing something that facilitated
           | "narrative games" more than other engines.
           | 
           | It's a cool project. I like that your examples use ASCII
           | maps. So simple to prototype. No need to break out a map
           | editor.
        
         | 90s_dev wrote:
         | I was kind of hoping it would be for text based adventures,
         | 
         | since last night I had the idea for one,
         | 
         | where you're an adult and you have to do adult things
         | 
         | like file taxes and go to work and dust your house
         | 
         | and the less you do these things the harder life gets,
         | 
         | but the more you do them, the easier it gets,
         | 
         | and the goal of the game is to die with no debt.
        
           | hombre_fatal wrote:
           | You've got an idea. Now for the hard part: make it fun. :D
           | Especially in a text-only medium.
        
             | 90s_dev wrote:
             | My only plan for that was to add shadertoys effects to the
             | text. Not great hence I hadn't started.
        
               | hombre_fatal wrote:
               | Speaking of, check out this shader ascii text game I saw
               | on Steam: https://www.youtube.com/watch?v=dfe3VK7H6uI
               | 
               | I kind of love the look.
               | 
               | Maybe with a new set of ansi escapes we can get Zork to
               | look like that. :D
        
               | 90s_dev wrote:
               | 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.
        
               | nihiven wrote:
               | That is cool! I like the look of this one too:
               | https://andreifomin.itch.io/effulgence
        
               | hombre_fatal wrote:
               | Ooh, that's actually the game I had in mind!
               | 
               | It's so much more impressive. Those 3D effects are just
               | insane. Just look at that 3D globe.
        
         | hombre_fatal wrote:
         | 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".
        
           | RodgerTheGreat wrote:
           | A closer comparison than Pico-8 might Bitsy or PuzzleScript,
           | but with all the power (and complexity) of arbitrary
           | JavaScript code underneath.
        
         | dicytea wrote:
         | From the intro[^1]:
         | 
         | > Odyc.js is a tiny JavaScript library designed to create
         | narrative games by combining pixels, sounds, text, and a bit of
         | logic.
         | 
         | [^1]: https://odyc.dev/doc/getting-started/intro
        
       | fudged71 wrote:
       | game.prompt("Dude, you ran out of eggs!|Would you like to buy|an
       | 80 pack of eggs?", "Yes", "No");
        
         | achtaitaipai wrote:
         | await game.openDialog("Dude, you ran out of eggs!|Would you
         | like to buy|an 80 pack of eggs?") game.prompt( "Yes", "No")
        
         | gatopingado wrote:
         | That one egg was forty eggs?
        
       | NotAnOtter wrote:
       | 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.
        
       | ryoshu wrote:
       | I love this. Fits with a side project perfectly!
        
       | sciolizer wrote:
       | Reminds me of [puzzlescript][1].
       | 
       | [1]: https://www.puzzlescript.net/editor.html
        
       ___________________________________________________________________
       (page generated 2025-06-06 23:00 UTC)