Show HN: An open-source rhythm dungeon crawler in 16 x 9 pixels

github.com

55 points by jgalecki 6 days ago

I just released my latest Godot project, a rhythm-based dungeon crawler a la Crypt of the Necrodancer. The entire game plays out in 16 x 9 pixels because of a dare from my game dev group. I've open-sourced (MIT) the code and project files. Of course, the music files I don't own aren't included in the Github project, but I'm releasing the game's hand-crafted pixel sprites under CC0. The Github page also talks about some of the tricks you need to make the rhythm part of the game play nice with the dungeon crawling part.

zeta0134 2 days ago

Yes, fellow rhythm-based dungeon crawlers unite! This looks great fun, the tiny resolution is such a fun artistic constraint.

I love the way you describe the time travel aspect. My own project has to run on an NES, and memory constraints mean I can't actually store a previous game state entirely, so there are endless hacks and cheats to "rewrite history" after resolving most of the enemies in advance, to account for the player's actions at the last moment before display.

I can't cheat the beat timing though (drawing is way too slow) so I've got the beat judgement tuned to look less awful while being reasonably forgiving about late inputs. To compensate, I stretch out the animation timing on the following beat, so the early cels aren't weirdly bunched up after late inputs. It works well enough given the constraints.

It's fun seeing all the different approaches to this problem in the rhythm game sphere! It's way more complicated than you'd initially think, and games have all sorts of tricks up there sleeve to deal with it.

  • jgalecki 2 days ago

    Love the 'old console' dev scenes - the ways people deal with the hardware constraints are always so interesting. Making a rhythm game there sounds like a tricky problem. I'm not sure what audio demons you had to exorcise to get it working, but I hope it was more fun than frustrating. I think Crypt of the Necrodancer also lerps enemy animations after post-beat player input, but that wasn't an option for my tiny resolution.

    For more fun takes on rhythm games, check out this Roguelike Celebration talk from last year - some people in the Necrodancer community got together and added synchronous networked multiplayer (!!!) to the game. Black magic, haha, and it was a great reference when I was starting this project up.

    https://www.youtube.com/watch?v=zwhNSbFVKQM

ja2 2 days ago

I hope you'll submit a presentation for Roguelike Celebration 2025. Call for presenters ends on June 30th. I know you don't claim the work to be rogue-ish, but it is, and would fit the conference perfectly.

  • jgalecki 2 days ago

    Roguelike Celebration is, bar none, my favorite conference. It's such an enthusiastic mixture of ideas, techniques, and games history, and the group chat (sadly not preserved in the archived youtube talks) is high energy and hilarious.

    I actually gave a talk in 2023! It was about creating "proc gen" puzzles for a roguelite game. If you find a mathematical problem space where you can prove that every state is solvable, then you can just generate any set of starting conditions and let the player have at it. I don't have plans to present this year, but I'm working on some games that I hope will be worth a presentation in the future.

90s_dev 2 days ago

> the Tiny Mass Games project, a loose collective of game devs focused on creating polished short-form games in two-month dev cycles

What software is most often used by these persons? I assume pico8?

  • jgalecki 2 days ago

    Each developer chooses their own engine, so we're all over the place. Godot seems like a consensus favorite, followed by Unity and Unreal. We also have devs who have made games in Construct 3 and one game that was (somehow) made in Hypercard (https://bribrikendall.itch.io/blah-blob).

jasonjmcghee 2 days ago

Very creative - the size means you could do all kinds of creative things with it- reminds me of "snake in favicon" and making games in a font with harfbuzz etc