logoalt Hacker News

Xs of Y – roguelike that names itself every run. Written in 4kLoC

183 pointsby andsoitislast Sunday at 3:32 AM76 commentsview on HN

Comments

seabass-labraxyesterday at 8:02 PM

I 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!

show 2 replies
halestoday at 4:51 AM

Been 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

marcingasyesterday at 5:44 PM

Author 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!

show 6 replies
chealdyesterday at 9:54 PM

"Applied theology with inadequate safety margins" might just be my favorite difficulty description ever.

Jeremy1026yesterday at 5:42 PM

Gets 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

ssalkatoday at 3:09 AM

Not 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

show 1 reply
fhntoday at 1:21 AM

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

Parcivalyesterday at 4:45 PM

Pretty fun! I keep getting instantly killed by things though and I'm not sure why, possibly a bug.

show 2 replies
gchamonliveyesterday at 4:31 PM

Reminds me a lot of NetHack, good times

pgtyesterday at 6:28 PM

Not a Rogue-like specialist, it's hard – I haven't made it out of level 1 yet.

sandozeyesterday at 4:20 PM

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

show 7 replies
Razenganyesterday at 4:25 PM

Noun of Noun

bennettpompi1yesterday at 4:23 PM

fun project!

otikikyesterday at 4:58 PM

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

show 3 replies
butzyesterday at 6:42 PM

[dead]

hope2yesterday at 9:22 PM

[dead]

binary0010yesterday at 6:49 PM

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

show 3 replies