Geometry Survivors by udo

[raw]
made by udo for Ludum Dare 50 (JAM)

This is a simple bullet hell survival game with a predictable ending!

The game and all assets (such as they are) were made for and during LD50.

Your character is a green square, control it with W, A, S, D. Shooting happens automatically, control the direction of the weapon with the mouse. Walk over loot boxes to get items. Equippable items can be used with the 1, 2, 3, or 4 keys depending on the slot they're in. As you kill enemies, you'll acquire XP to level up.

Screenshot from 2022-04-05 03-25-56.jpg

Timelapse

https://www.youtube.com/watch?v=oJIydo--4FA

Post LD Changes

  • fixed a potential memory leak that would cause enemy game objects to accumulate
  • limited particle effects based on CPU load
  • fixed a bug that would sometimes spawn players inside black holes
  • increased chance for obstacles
  • fixed a bug that would level-up even if you just died
  • fixed a bug that would not let you heal when near death

Known issues / won't fix

  • when exiting bullet time opponents can sometimes approach you quite quickly
  • HP is shown as a rounded value, sometimes it shows you 0 HP when in reality you still have like 0.3HP left
  • people are confused about the effect of the obstacles (gray boxes), they don't do anything but hold you up!
  • this game should really have a dash move, obvious in hindsight
  • if your screen resolution is gigantic, or you zoom out in an epic way using the browser's zoom function, weird things will happen

About Meeee

Hi, my name is Udo, I'm a programmer from Germany and long-time sporadic Ludum Darer. I also run the tabletop roleplaying site rolz.org. My day job are scientific applications and some business stuff, but gamedev is my passion! I'll be making my first commercial game this year. Follow me on https://Twitch.tv/ud0 because I plan on streaming some of the development process :videogame:

Tools I used to make this

  • Graphics: just code
  • Sound effects: Audacity + mouth sounds
  • Music: Logic Pro X
  • Graphics library: PIXI.js
  • Programming language: vanilla Javascript
  • Platform: browser only
  • IDE: text editor (Geany)
  • coffee

Ratings

Overall 560th 3.615⭐ 28🧑‍⚖️
Fun 307th 3.731⭐ 28🧑‍⚖️
Innovation 1226th 2.654⭐ 28🧑‍⚖️
Theme 1067th 3.288⭐ 28🧑‍⚖️
Graphics 1210th 2.673⭐ 28🧑‍⚖️
Mood 872th 3.326⭐ 25🧑‍⚖️
Given 10🗳️ 20🗨️

Feedback

mindexpositions
05. Apr 2022 · 11:55 UTC
game feels a little laggy, maybe it's about my computer but it feels like there are too many enemies generating early on. herding enemies into death trap feels brutal, maybe you can add a random movement to them when you not in close proximity.
Daniel Klautsch
05. Apr 2022 · 12:00 UTC
A very fun game. Very simple and yet very fun, the music excellently underlines the action and its just so fun to weasel in and out of bullets. The red squares are like Zombiehordes you need to outrun the purple cricles are intimidating but easliy dealt with once you realise that thier attacks are easily dodged if focused on and the blue.

The blue pose a difficulty spike that feels more like a difficulty wall. Its really a shame because the game is so good, but then you get to the blue and they kill you so quickly. It s very hard to dodge them and even if I stockpile items and powers, I can barely power my way through them. Maybe I just suck but the blue feel way to hard to me.

But seriously really fun game, please make a version of it without the blue specifically for me. =S
🎤 udo
05. Apr 2022 · 12:21 UTC
@mindexpositions thank you! It's true there are probably too many particles, I added some code that tries to skip unnecessary animations when the CPU load is too high, hopefully that will work on less beafy computers. Thank you for the suggestion about the random movement, but I quite enjoy the death trap mechanic :laughing:

@daniel-klautsch thank you for your kind feedback! I nerfed the blue spiral shooters a little bit, they fire less often now.
pepnou
05. Apr 2022 · 12:32 UTC
Fun game. The music goes well with the gameplay, the art is ... geometric x)

I played it multiple times but never got any items so idk about that. Each time at ~80 a swarm of blue pentagon rushed in to end me. How come they have long range weapon and we only get the water gun with 50cm range ?

Overall, i had a fun time on this bullet hell. Good job.
🎤 udo
05. Apr 2022 · 12:38 UTC
@pepnou You need to collect the bright blue boxes in order to gets items. When you kill enough enemy geometry, you'll also get a level-up screen where you can boost yourself :smile:
LDJam user 202408
05. Apr 2022 · 13:22 UTC
I like how fast paced this game can get, the visuals remind me of an old flash game I used to play, it's quite a fun game that doesn't get repetetive quickly. well done!
🎤 udo
05. Apr 2022 · 13:39 UTC
@0x-void-x0 thank you! <3
Chocolat-Endive
05. Apr 2022 · 17:06 UTC
Hi! The idea is simple and fun, and I had no lag issues on my computer. There's a thing we can find in your game that is a "classic" video game issue: our character move faster in diagonal directions (you add vertical and horizontal vectors, so it covers a longuer distance in the same time). It makes your game way easier if the player keep going in diagonals. That's not a big issue, and you can find this kind of mechanics in a lot of old video games!

Another issue I had, is that you can die and level up *at the same time*. Then, if you choose the 3hp bonus, you're stuck at the middle of the screen without being able to move, but without being dead, and nothing will never kill you.

I made a screenshot so you can see what I mean:
![gemobug.png](///raw/477/91/z/4cb37.png)

Overall, that's a good fun little game, good job!
🎤 udo
05. Apr 2022 · 21:47 UTC
@chocolat-endive thank you for the feedback! Yes, I know, I didn't do an angle-based controller for the player, just never got around to it, and I feel it would be cheating if I changed it now. But I can *prove* to you that I know the Math because the enemies do work that way! :smile:

Damn about that level up & death bug, I saw a streamer running into it as well. I guess I'll have to fix that...
LDJam user 279610
06. Apr 2022 · 01:44 UTC
I love this control mechanic. Auto-fire and aim at the mouse is my favorite for bullet hell games.
Simpathey
06. Apr 2022 · 03:07 UTC
I think the content of the game is solid, just focus on polish and it its gonna be great for a post jam build.
Renge
06. Apr 2022 · 15:28 UTC
The autofire is actually really thoughtful, lol. Prevents you from getting carpal tunnel and destroying your mouse.
🎤 udo
06. Apr 2022 · 15:29 UTC
@renge right? I couldn't imagine a situation where you WOULDN'T want to keep firing!
Yngvarr
06. Apr 2022 · 17:08 UTC
It was exceptionally hard to stop playing. I had fun! Good to see a game which is all about gameplay and feel. Grenades seemed to be a little useless since they're so hard to lure enemies in.

I've recorded a playthrough, take a look if you want. :)
https://youtu.be/hqCOacKz2jE

Btw, 2 heal chests in a row while having 8 out of 10 HP is just not fair! :D
🎤 udo
06. Apr 2022 · 22:25 UTC
OMG @yngvarr that's amazing, very cool, thanks for the recording! :smile:

True, grenades are just the bomb's shittier cousin, sorry about that...
LDJam user 280755
07. Apr 2022 · 00:56 UTC
Cool concept! I like how many powerups you have. If you're gonna have a powerup system, might as well have a bunch to choose from, right? Thanks for making this!
Welliton
07. Apr 2022 · 06:25 UTC
![asdasda.png](///raw/8f9/1/z/4d4df.png)

My best was 99, but i couldnt get this much again :(
I like the rhythm of the game, but several times an enemy spawned behind me, alawys hitting me (im not the fastest person in the world hahaha).
And the long play that i made, the game spawned 3 items exactly where i started, so this was a nice benefit.
The darkhole was a nice touch, definitely is a game that has a deeper gameplay.

Congratulations!
🎤 udo
07. Apr 2022 · 06:35 UTC
@welliton thank you for trying it out! I noticed the spawning problem as well, sometimes they spawn too close to the player, they're not supposed to do that... But yeah everything in this game is way too random, you get very good runs and very bad ones.
Xeke-Death
07. Apr 2022 · 11:24 UTC
I ran into a few bugs on my last run that killed me early.
Heal pickups only seem to heal me for how much HP I currently have, and sometimes I had 0 but was alive, and the heals did nothing.
After a bullet time, the red guys just launched themselves onto me so there was nothing I could do.

I had a lot of fun, and played about 10 runs, overall it's really good.
🎤 udo
07. Apr 2022 · 11:33 UTC
@xeke-death Thank you for playing! Damn, I just looked at the code and you're completely right about the healing bug, it should be corrected now. (It's debatable whether the "heal up" box should even be there, since there is also the way more useful "healing potion" but it would be too much of a change to take it out now.) Yes, the "alive with 0HP" issue happens because damage is actually a floating point value, but your HP gets shown as a rounded int. So if you got 0.1HP left it shows you 0HP. I'll leave that in :smile: Yeah that bullet time bug is bad but I don't think it falls within the scope of bugs that I should fix without making a dedicated post LD version.
elysiagriffin
09. Apr 2022 · 10:46 UTC
Thanks for submitting your game for me to play on my stream!

If you’d like to rewatch the playthrough, you can find it here:
https://www.twitch.tv/videos/1450162412?t=07h42m19s

Good luck on your ratings, see you next LD! :D

💜 Elysia Griffin AKA Button Feedback Lady

https://www.twitch.tv/elysiagriffin
🎤 udo
10. Apr 2022 · 00:16 UTC
Thank you so much for playing it on stream @elysiagriffin seeing how people actually play the game is the best part of LD!
ksimaster
11. Apr 2022 · 11:54 UTC
Dynamic game! To survive, you need to try! I didn't understand how to control the WASD movement for some reason it didn't work for me, maybe the problem is on my side. In general, I like it! :) Good job! :)
🎤 udo
11. Apr 2022 · 12:30 UTC
@ksimaster wait, your controls didn't work? How did you even play the game then? What happened?
🎤 udo
11. Apr 2022 · 14:38 UTC
@mrjoshuamclean thank you for playing the game on stream, I completely missed it! But I saw your entry on the hiscore list so I looked up the VoD on Twitch :laughing:

You are completely correct about the item pickups breaking the flow. This was mostly due to time constraints, because I re-used the level-up screen which at least has different options to choose from (whether those are necessary is another point).

And yes, the black holes are insta-kill if you get sucked in :smile:

Thank you again for your feedback, it's much appreciated!
ksimaster
11. Apr 2022 · 18:06 UTC
@udo I think it's a WEBGL glitch. Now I checked everything works! :) And without movements it was difficult, really. I click on WASD, and hero-square stands and does not move :)
Supersonic
12. Apr 2022 · 18:05 UTC
a bit hard to stay alive for long but fun :-) I really like the audio!
PTSnoop
15. Apr 2022 · 11:08 UTC
Very just-one-more-level-ish, this game! Just two minor quibbles - I'd have preferred it if the green square kept aiming even if the mouse was over one of the buttons, though. And, it turns out - if you zoom out with the mousewheel, then you can see a lot further (probably not intended?), but then zooming back in again doesn't keep the green square centred, so you can lose yourself off the bottom right corner of the screen. But that's just me being picky :) Good game!
🎤 udo
16. Apr 2022 · 21:42 UTC
@ptsnoop Thank you so much for the feedback! At first I thought I left the mouse wheel zoom code active by mistake, but testing it out right now that doesn't seem to be the case? Is it possible you activated the browser's zoom by holding down CTRL while scroll-wheeling? Or did you get the effect by using the mouse wheel only?
PTSnoop
17. Apr 2022 · 06:03 UTC
@udo Yeah, I did just mean Ctrl+Mousewheel - I didn't get any zoom effects with just the mousewheel by itself. Sorry if that was unclear!
🎤 udo
17. Apr 2022 · 08:38 UTC
@ptsnoop yeah that makes sense. It's the browser's behavior, not the game's. I can't influence that (I think?) I mean I could limit the canvas size to make sure you can't emulate a very large screen with that technique but I'm not sure it's that critical :laughing:
blubberquark
21. Apr 2022 · 06:53 UTC
Neat, but very stressful. I didn't even have time to move my index finger to use an item!