Broken Broom Adventure! by RubixNoob13
Procedurally generated dungeon crawler where you've been captured and thrown into a cell by as yet unknown baddies! (Unknown because unfortunately, due to my work schedule, I only had about 1.5 days to work on this project, so there are exactly: Zero enemies)
There is an HTML5 version as well as Windows, Linux, and MacOS variants, with the following cautions: - I haven't had time to test the Linux build on my actual hardware, but the export from Godot normally works - I don't own a Mac to test on, so hopefully the export from Godot works :)
However! You CAN experience:
- 10x10 room dungeon, Procedural Generation (special thanks to Derek Yu for releasing Spelunky and the source code, as well as http://tinysubversions.com/spelunkyGen/ for helping me to understand what is going on)
- Every play through is different
- Don't forget to grab the broken broom, it grants special powers!
- Start at the bottom, climb your way towards the top
- Some sound effects and cutesy pixel art (special thanks to 0x72 for pixeldudesmaker located at: https://0x72.itch.io/pixeldudesmaker) *
Controls: - Arrow Keys or A/D keys to move, Space to jump - The final screenshot shows the "End" room (the one that doesn't have a texture yet)
*"Cute" is subjective, as I drew all of the artwork.



Ratings
| Overall | 993th | 2.9⭐ | 22🧑⚖️ |
| Fun | 892th | 2.85⭐ | 22🧑⚖️ |
| Innovation | 869th | 2.775⭐ | 22🧑⚖️ |
| Theme | 990th | 2.632⭐ | 21🧑⚖️ |
| Graphics | 627th | 3.425⭐ | 22🧑⚖️ |
| Audio | 624th | 2.694⭐ | 20🧑⚖️ |
| Humor | 586th | 2.647⭐ | 19🧑⚖️ |
| Mood | 915th | 2.842⭐ | 21🧑⚖️ |
| Given | 12🗳️ | 12🗨️ |
Y'know. Though with the missing enemies and end and potentially other stuff a lot is unfinished, I really like your style. The background and blocks all have very nice colors that go well together. I could see the broken broom mechanic be extended too in the future. The procedural generation is cool, too. I'll have to take a look at spelunky myself now that you mentioned learning from it. So yeah. Though a lot is unfinished right now, I would like to see more of this in the future. If you continue, contact me somewhere.
Shrinking the hitbox on the character slightly would help avoid that "I'm not really standing on this corner" feeling you get.

How were you planning on implementing enemies? Would you get an attack also?
- @iak I am definitely planning on expanding this in the future, so I'll try to keep you posted somehow
- @justcamh I've been wanting to do procedural gen in something for a long time and keep putting it off as "too hard", but now that I've dabbled in it just a little bit, it's actually pretty easy. You should definitely check out the website I linked on the post, because it kinda steps through how the code works and breaks it down. I tried looking at the actual Spelunky source code, but "what even are comments?" Meanwhile, bobbo down there knows what's up. Currently the gen is very similar to Spelunky, except that instead of going down into some mines, you're trying to go UP and escape a dungeon! (and the map is 10x10, where Spelunky is like a 4x4 room grid) :stuck_out_tongue:
- @minibobbo I've definitely re-thought the broom mechanics. Currently there is a lot of "spaghetti-code" in the jumping mechanic, step 1 is look at Finite-State machines so we can have a "We're falling, but we haven't flown yet, so we can start to fly now". I didn't even notice that you can stand off the ledge, but I know exactly what you mean. Thanks for the tip, that'll be added to the list (you SHOULD be able to have your toe on the platform, but not float off of it lol). As far as enemies, I have a few ideas for them in mind, probably some simple chase-pathfinding AI with another FSM so they'll go from "idle" to "attack" when they see the player. I know it's a little hard to tell from the art, but player is technically supposed to be a "witch" (hence the broom?) and I was going for sort of a Halloween theme, so enemies might be things like bats, evil pumpkins, ghosts, etc. Also the guards who put you in the dungeon in the first place. You were actually intended to have a VERY short (think melee range) attack, probably some type of magic sparkle thing, and there is a cell door for the area where you initially start which would require you to use this attack to escape.->  I'm sure eventually there will be powerups and items to give different attacks with more range.
- @lamossus I like the way the hovering feels as well. It's kind of designed to help give a boost if you need to to get up just a LITTLE higher, but you can WHOOSH over things like you mentioned (maybe pits of lava or spikes at some point?). I definitely wanted to allow flight after falling off the platform, but when I tried to implement it, as I was telling minibobbo above, I had some bugs and couldn't get it to work properly, so I just took it out to make sure the other things worked as intended before releasing it. The generation is kinda a proof of concept, I am planning to expand it to be able to look less like it's done on a big grid, as well as to combine some textures for optimization, since right now the entire map is literally a 10x10 box of 8x10 rooms, plus the outside impenetrable border tiles (the reddish ones on the edge). I think those are 3 high and 4 wide, so maybe 106 x 84, which is like 8904 total map tiles. Right now, those are all individual sprites in Godot, which thankfully works on most of the things I tested on. However, I've since done some optimization checks, and with a little optimization, I got another render test to go from "way too many single tiles" running at like 51 fps with vsync disabled to like "a few textures that have a lot of tiles drawn on them" running at around 2100 fps with vsync disabled (yeah, that's like 40x faster!) Essentially a lot of the background tiles don't do anything really, other than make the background "not just gray", so they can be static, which allows more processing for stuff that matters (like collisions on terrain and enemies and stuff).
Whew! I think this is the closest to the 4096 character limit I've ever made it on a post, so I'm gonna wrap this one up. Thanks for all the feedback so far, and thanks for playing to everyone who's done so!
Edit: Now it's decided to work again. Will give it another shot.
Okay, I think I've found the 2x2 gray box that marks the potential end or exit. I like the graphics and the controls are pretty smooth, though waiting for that extra bit of hover to get to the third tile up takes a little too long IMO. Implementing procedural generation was definitely a plus! The map is pretty large, but maybe with additional features it wouldn't seem so. Congrats on the submission!
@julianbeutel Thanks so much! As far as I know, you're the first Mac user to download and test it, and this project is the first thing I've released using Godot engine, so basically I just had to assume it would work correctly since I don't have a mac to test on. But I know the Mac community often feels left out at release time, so I thought I'd try to be inclusive lol
The world generator is great.
Are you planning to make a post mortem version with enemies, story...?
btw: What is about the theme?
- Add some background music
- Add enemies to fight
- Add an attack to fight the enemies with
- Add an end goal
I would really like to see this made into a full game, it looks great thus far!
P.S. I love your profile picture, as I am a bit of a rubik's cube geek myself :smile:
I like the tiles, they give off both whimsical and a ruined tower feel. I found the end room but having barely read the description before playing I thought it was a bug in level generation and ignored it, thinking I got caught in a dead end.
This game needs more Stuff. You know, enemies, items, hazards this kinda Stuff.
It's still enjoyable but really feels like something's amiss. I'll be looking forward for the post-jam version.
One thing that is different from spelunkey in the map generation is that the main path is always in a zigzag pattern, I think that its more interesting to explore the level if its a little random like in spelunkey with a main and some branching with goodies.
I also think that spikes would have added a lot to the gameplay.
One idea I just got was that spelunkey use bombs to make the player progress impossible parts that's generated. Maybe the broom could do something like that. And you could have coins in the level which add broom mana or something. Anyway, what is there is surprisingly playable!