6 ms·
Xs of Y – roguelike that names itself every run. Written in 4kLoC
- sandoze 6mo agoNo credit for the art direction and inspiration? Brogue? Or did I miss the attribution? * Edit: I’m not looking for the downvotes or to stir things up. I’m simply calling out that this is a small niche community we notice these things, we’re very free with our code, and copy is a compliment, but so is attribution. The author wasn’t so much inspired the by Brogue style, but copied it directly down to the animations and ASCII.
- somewhatgoated 6mo agoCalling it rogue-like is basically attribution since Brogue is just the follow-up to Rogue which invented the genre
- sandoze 6mo agoI’ll be sure to keep that in mind with my next plumber platformer
- somewhatgoated 6mo agoNo one calls them plumber platformer though… If you call it “Mario-like” then I would say most people would understand where the inspiration comes from.
- fsckboy 6mo agomost people would name hack (1984) or the fork nethack (1987) as the successor to rogue (1980). brogue (2018) i never heard of till now but probably i aged out by then (aged out of spending many mindless i.e. repetitive hours of fun)
- Widdershin 6mo agoBrogue was released in 2009 for what it’s worth.
- fsckboy 6mo agothanks, since i had never heard of it i had to look it up but I guess I misread it, wikipedia says the project was started in 2009, latest version in 2018. I noticed the difference in word between "project started" and "released", i'm growing numb-er, and jumped to a terribly erroneous conclusion. I have been killed by a rattlesnake.
- bayarearefugee 6mo ago> No credit for the art direction and inspiration? Brogue? In the age of LLMs the "author" might not even know where the art direction and inspiration came from!
- marcingas 6mo agoI know, this is intentional :) I took things I like from Brogue and added my own spin on it.
- BeetleB 6mo agoWouldn't the credit go to ... rogue?
- sandoze 6mo agoThe genre of course. But this is almost a 1-1 copy of the Brogue style. Right down to the colors, animation, and ASCII
- devindotcom 6mo agoare you not familiar with the actual game rogue, or nethack?
- sandoze 6mo agoYes. I don’t think we’re having the same argument though.
- abathologist 6mo agoRogue looks like this: https://upload.wikimedia.org/wikipedia/commons/0/0c/Rogue_Screenshot.png?utm_source=commons.wikimedia.org&utm_campaign=index&utm_content=original https://upload.wikimedia.org/wikipedia/commons/0/0c/Rogue_Sc... Brogue looks like this: https://syltefar.com/screenshot/?id=624 https://syltefar.com/screenshot/?id=624
- coldcity_again 6mo agoare you familiar with the actual game Brogue[1]? 1: https://sites.google.com/site/broguegame/ https://sites.google.com/site/broguegame/
- deathanatos 6mo agoWhile I can see perhaps a claim of "inspiration", when I put Brogue & this side-by-side, while artistically there is similarity, I wouldn't say "copied". Brouge isn't the only rouge-like with LoS mechanics.
- marcingas 6mo agoBrogue is insanely well balanced and ingeniously designed. XsofY is a mere tribute ;)
- protocolture 6mo agoSounds like its close to red.
- marcingas 6mo agoyeah, this is a Brogue-like. I love Brogue and have been inspired by it. XsofY is not an exact clone but I've studied Brogue C source heavily when making this. I'll link to Brogue in the README :)
- sandoze 6mo agoAmazing and great work!
- deleted 6mo ago[deleted]
- SubiculumCode 6mo agoI'm a little confused. There were some differences, but this stuff is straight out angband/moria lineage stuff. https://angband.readthedocs.io/en/latest/version.html#previous-versions-outdated https://angband.readthedocs.io/en/latest/version.html#previo...
- jdiff 6mo agothe lighting effects are very brogue and like nothing I've seen in angband, which is very very barebones ASCII by comparison. brogue-likes push into ANSI art territory with their abuse of terminal formatting.
- SubiculumCode 6mo agoSome of the many variants did expand on the ASCII graphics a bit, but yeah, I see what you mean.
- bennettpompi1 6mo agofun project!
- Razengan 6mo agoNoun of Noun
- gchamonlive 6mo agoReminds me a lot of NetHack, good times
- Parcival 6mo agoPretty fun! I keep getting instantly killed by things though and I'm not sure why, possibly a bug.
- andai 6mo agoI see you haven't played Noita!
- marcingas 6mo agoNoita was another inspiartion when making this - the inverted power curve is real! Start squishy, become a god, die anyway.
- zardo 6mo agoA wand related accident has to be the number one cause of a Noita run ending.
- CyberShadow 6mo agoNo, I think I'm seeing the same bug. Time seems to sometimes subjectively freeze: ─── Messages ─── Old man shuts the gate behind you. You hear him mutter "every time, I swear..." You must retrieve the Amulet of Lost Semicolons. You kill the rat! (sneak attack!) The rat squeals and dies! You wait. (x10) ᛜ ᚢ You kill the rat! (sneak attack!) ᛉ The rat squeals and dies! You hear muttering. ᛋ You hear muttering. You hear muttering. You hear a distant creak. ᛖ ᛃ The runestone crumbles as you touch it. You learn: ᛟ means "ice"! ᛚ You hear a distant creak. The goblin misses you. (x3) The goblin hits you for 4. The goblin hits you for 3. ᛏ The goblin hits you for 4. The goblin hits you for 3. The goblin misses you. ᛚ The goblin hits you for 4. The goblin hits you for 2. The goblin hits you for 4. The goblin misses you. The goblin hits you for 2. The goblin misses you. (x2) The goblin hits you for 2. The goblin kills you! You die... Note how there were no user action messages during the time the goblin was attacking.
- otikik 6mo agoFound it a bit annoying having to press 'i' at the start in order to equip the dagger and armor that were on my backpack, but well done.
- Jeremy1026 6mo agoGets stuck in a redirect loop with the message: > Interactive input unavailable (no cross-origin isolation). > Deploy coi-serviceworker-js alongside this file. in Safari on 26.4
- feirlane 6mo agoSame in Firefox for Android 151.0b4
- marcingas 6mo agoAuthor here! Thanks for posting! This game is written in a Clojure-like programming language I've made. So this is a (B)rogue-like in a Clojure-like :) What I think is interesting is that this game computes the entire world state each tick and does so efficiently thanks to persistent data structures. To anyone who dared to fire it up: thank you for playing, I'm curious what you think!
- jackpirate 6mo agoThe name let-go of your programming language is awesome!
- marcingas 6mo agoThanks! Please check it out and leave me a star if you like it :)
- biosubterranean 6mo agoLittle buggy (dying from things not on the screen), but I love the dwarf fortress esque vibes
- Oakwhisper 6mo agoThere was a commit a few minutes ago that fixed the instakills for me
- marcingas 6mo agoThis was caused by a stdlib bug in the language, I bypassed it :D
- deleted 6mo ago[deleted]
- onlyrealcuzzo 6mo agoThis is awesome! I'm interested in building something similar, any tips besides looking at what you've done and Brogue?
- pgt 6mo agoNot a Rogue-like specialist, it's hard – I haven't made it out of level 1 yet.
- fhn 6mo agoI just got to lvl2 only because goblins aren't insta-killing me
- butz 6mo ago[dead]
- binary0010 6mo agoIsn't this the kind of thing you can essentially fully offload to Claude code these days? Don't really get the point of these tiny primarily llm generated game clones tbh.
- frakt0x90 6mo agoIs this a troll comment? I don't see where the author used AI to generate the code and if you don't see the point of experimenting with technology, you're on the wrong website.
- binary0010 6mo agoYou really don't see where the author uses ai? Pretty much everywhere, all the docs, the overview of the project, a LOT of the code is obviously primarily ai written, etc.
- sandoze 6mo agoSo the author used the latest and greatest development tech to create a unique little demo in their custom language. I'm unsure your point. You know what I don't use to program with anymore? Punch cards and Borland C++. The industry has evolved for better or worse.
- binary0010 6mo agoWhat are you going on about? No idea what you think you are arguing. Are you in the wrong thread? I said I don't get why people keep posting essentially vibe coded game clones... I get bored checking out GitHub projects on HN that are doing absolutely nothing new and are essentially baby projects made by Claude on a weekend, and terribly architected to boot. Cluttering the feed.
- marcingas 6mo agoFWIW it's a good fuzz test for the interpreter ;)
- 6mo ago
- seabass-labrax 6mo agoI killed myself with a flaming spear and the game said this: > FATAL ERROR: [program exited] "cannot subtract nil and let-go.lang.Int", :data {:trace ("game-loop (<unknown>)" "game-loop (<unknown>)" "update-world (<unknown>)" "run-until-player-turn (<unknown>)" "creature-turn (<unknown>)" "update-ai-state (<unknown>)" "distance (<unknown>)")}} A fatal error indeed!
- hope2 6mo ago[dead]
- cheald 6mo ago"Applied theology with inadequate safety margins" might just be my favorite difficulty description ever.
- fhn 6mo agolet's not have q=quit. most rouge games have q=quaff. I mean if people want to quit, they can just refresh or close the tab. At the very least, ask.
- ssalka 6mo agoNot sure how you feel about including sound, but I feel like there needs to be a warning sound that plays when you're low HP, like in Pokemon. I keep dying because I don't realize I'm at low health
- hales 6mo agoBeen having fun today trying to work this game out. Questions: 1. How do I learn the magic/rune system? I can inscribe them on weapons & armour. Some are verbs and some are adjectives. I am yet to see obvious effects (edit: except for 'arc'), so I wonder if they always do things or often do nothing unless specific combinations are used (like subject-verb-object requirements of a sentence or certain weapon/armour+spell combo validity)? 2. What does "magic" mean when I try to inscribe more than one rune on a thing? Does this mean one rune is free but multiple require magic and are detrimental if you have none? 3. How do I interpret the weapon stats? Eg "Current: 3-5 -> 2-4" Notes: 1. The game is much easier if I set my gamma up (xgamma -gamma 1.5). Most of the levels are very dark (10% of RGB values dark) so I easily miss items and routes to check otherwise. 2. There are a lot more keybinds than shown onscreen. 'x' to autoexplore, 'r' for a runes page I'm trying to work out. Shift+Z to autorest/heal. '>' will fasttravel you to the stairs down if you have already found them. Shift+direction will autowalk. 3. Don't press 'q'. There is no confirmatin prompt. There are no saves. Aieee :D
- marcingas 6mo agoThank you for playing! 1/2. There are no docs, in fact, the system is not really fleshed out yet. The core idea is that these runes really stand for lispy threading macro that gets evaluated by the game engine. So for instance `(magic-> fire)` sets the default target (enemy you hit, coordinates you shoot with the bow etc.) of action on fire, `(magic-> (area 2) fire)` is the same but here, the area rune expands the target into a circular zone. `(magic-> (damage 2) self (heal 2))` would damage the target, reset the target to yourself and heal you. The entire world state is chained through these expressions so it should enable some insane spells to be made: travel back in time, swap minds with a door, modify creatures ai etc. Try looking at the runic weapons you find, they show the spell syntax in the inventory. 3. These are damage ranges. re gamma, key binds and q: thanks for the feedback, I'll look into improving these.
- fhn 6mo agodamn, so that's what all those runes are for? I could have been so much stronger!
- bean469 6mo agoNice, an actual roguelike (as in, like Rogue)
- imdsm 6mo agoThis brings back ADOM memories from ages past. Thank you for that.
- MeshHideaki 6mo agoComputing the entire world state every tick with persistent data structures is a really interesting design choice. Makes the whole system feel unusually coherent for a roguelike.