6 ms·
Odyc.js – A tiny JavaScript library for narrative games
- deleted 1y ago[deleted]
- kevinsync 1y agoThe Magic Mushroom is incredible lol https://achtaitaipai.github.io/odyc-exemples/games/mushroom.html https://achtaitaipai.github.io/odyc-exemples/games/mushroom....
- chrisweekly 1y agoThis one's my fave so far https://achtaitaipai.github.io/odyc-exemples/games/vroum.html https://achtaitaipai.github.io/odyc-exemples/games/vroum.htm...
- TheGoodBarn 1y agoreminds me of braid, very satisfying
- mNovak 1y agoJohn Wick is an accurate summary of the recent movie https://achtaitaipai.github.io/odyc-exemples/games/john-wick.html https://achtaitaipai.github.io/odyc-exemples/games/john-wick...
- hahahacorn 1y agoThis 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 1y agoIf 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 1y agoText 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 1y agoLove the idea! Wish I could’ve helped out sounds like the perfect use case :) Hope it works out!
- janoelze 1y agoits 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.
- eldog_ 1y agoGreat 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 1y agoThanks! I put a lot of effort into the typing and getting the editor autocomplete to feel right. Happy to hear it shows :)
- c0nfused 1y agoI 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.
- zoom6628 1y agoI have never been able to throw any code together in 2h to entertain the kids so the fact you can do that is already awesome!
- socalgal2 1y agoWhy 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 1y agoIndeed, I was assuming it was a text adventure engine.
- achtaitaipai 1y agoYou'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 1y ago"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/ https://museumofzzt.com/
- achtaitaipai 1y agoI 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!
- WorldMaker 1y ago
- fudged71 1y agogame.prompt("Dude, you ran out of eggs!|Would you like to buy|an 80 pack of eggs?", "Yes", "No");
- achtaitaipai 1y agoawait game.openDialog("Dude, you ran out of eggs!|Would you like to buy|an 80 pack of eggs?") game.prompt( "Yes", "No")
- gatopingado 1y agoThat one egg was forty eggs?
- NotAnOtter 1y agoNeat 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 1y agoI love this. Fits with a side project perfectly!
- sciolizer 1y agoReminds me of [puzzlescript][1]. [1]: https://www.puzzlescript.net/editor.html https://www.puzzlescript.net/editor.html
- achtaitaipai 1y agoPuzzleScript is super cool! I also really like crisp-game-lib, in the same family of tiny engines
- wdiamond 1y agoawesome product. scratch like business.
- navs 1y agoNot related to the library at all, but I'm curious how that canvas video recorder works in the playground. Love to implement something similar.
- janoelze 1y agoI recently looked into that for a project and was surprised that it's a built-in feature! :) https://medium.com/@amatewasu/how-to-record-a-canvas-element-d4d0826d3591 https://medium.com/@amatewasu/how-to-record-a-canvas-element...
- achtaitaipai 1y agohttps://github.com/achtaitaipai/odyc-doc/blob/main/src/lib/gameCode/inlineScripts/gameRecorder.js https://github.com/achtaitaipai/odyc-doc/blob/main/src/lib/g...
- deleted 1y ago[deleted]
- matkurianski 1y agoThat'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?
- achtaitaipai 1y agoOhh 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!
- halfmatthalfcat 1y agoThis is super cool!