Ludum Dare 31 — December 5th-8th, 2014 — Theme: Entire Game on One Screen

Back to Browse Entries

Bugs are Hell

by jellyislovely - Compo Entry

A bullet hell game built in Elm ( a functional reactive programming language.

SPACE to start, AD to rotate, arrows to move, refresh the page to restart

Definitely didn't manage to achieve what I was going for, but got the basics of the gameplay down.

As you lose lives you go down from a hexagon to a triangle, after that you lose. And then refresh the page to play again because I forgot to add a restart button... :p

Also, apologies if you have issues with the screen resolution, I ran out of time to make it respond to different window sizes.

Interesting fact: The game is largely deterministic. So the enemies spawn in the same places for you and every one else so the scores are completely fair. Though bullets are more random.

Thanks, please enjoy and post your high scores :D

Mine so far is 129300.

Downloads and Links




Zwergesel says ...
Dec 8, 2014 @ 4:07am

Pretty difficult. I can't survive longer than a couple of seconds.

BaneStar007 says ...
Dec 8, 2014 @ 4:19am

I like the sides = health = bullets, well done. Yet, elements are in the game but not in one screen (they phase in)

jellyislovely says ...
Dec 8, 2014 @ 4:07pm

Yeah I had a bug near the end where instead of bouncing off the edge of the screen the enemies would get stuck there. So I just made them reappear in the centre. Not a bug to be fixed at 1 hour before deadline :p

SnoutUp says ...
Dec 8, 2014 @ 4:47pm

Truly enjoyable game and truly a bullet hell! Great job on that side/health/bullet mechanic indeed!

tonypai says ...
Dec 8, 2014 @ 5:48pm

38300... I tried my best. Too many bullets I can't even see the bugs. :P

NoahbroCZ says ...
Dec 8, 2014 @ 5:52pm

Nice and pretty hard game, but you should improve colision (I sometimes cross the pink ball and the game didnt stop), there could be also some music, but I have the same problem - I added music and sounds, but they dont play). In conclusion, it is fun to play.

CheeseyBob says ...
Dec 8, 2014 @ 6:00pm

By far the most intense game I've played this LD! Great concept and well executed. The only improvement I can think of is getting it to run at a higher frame rate, if that's possible. That might make it easier to keep track of what's going on!
I managed to get just over 58000 :D

mrexcessive says ...
Dec 8, 2014 @ 7:16pm

Hi there. Strange experience... Real shame no sound. Lasted about 30 seconds, didn't seem able to affect outcome really, but maybe that's not the point in a bullet hell game - or maybe I am just really bad at playing them! Good job. Nice to see a functional language - was playing with Haskell a bit recently, will have to look into ELM.

jellyislovely says ...
Dec 8, 2014 @ 7:23pm

@mrexcessive Unfortunately elm doesn't support sound just yet, there is a custom package for it but I didn't want to waste time fiddling with it. Despite that I would very highly recommend it as a language, just don't take my terrible code as an example...

And yeah, there's no win condition :P just get lots of points.

Dec 8, 2014 @ 9:55pm

Bugs are Hell is a fun arcade game, that have some interesting parts of avoiding "bullets". If I lost the game locked itself so I couldn't restart. Good luck and Merry Christmas!

alecmilne says ...
Dec 9, 2014 @ 12:29pm

Great concept for a bullet-hell game. Not too difficult when you get the hang of it. Managed to beat my previous high score of 170700 just now with 214100!

asobitech says ...
Dec 9, 2014 @ 3:15pm

It's a Bug-hell game. How many elements on screen at it's peak?

jellyislovely says ...
Dec 9, 2014 @ 7:07pm

@asobitech There's no limit besides the game crashing...

Mr.Greenhat says ...
Dec 10, 2014 @ 12:48am

I like how you display the health in this game! Don't really feel/see the impact of the bullets. The game ran quite slow on my machine, so I could get a lot of points :P

Dec 10, 2014 @ 1:09am

I really love this concept. Well done. I Included it in part 4 of my Ludum Dare 31 compilation video series, if you would like to check it out :)

Dec 10, 2014 @ 2:00am

Great start to something bigger!

Awesome effort put forward taking the time to learn a new scripting language and put it to good use. :)

This won't need much to make it a fully-fledged game. Great job!

Anshul Goyal says ...
Dec 10, 2014 @ 9:31pm

Cute looking game. I like the rotation part. Its fun to add more degrees of freedom like this so the player can perform multiple stunts.

FYI: The game crashes in the browser (chrome) as soon as I die.

jpmit says ...
Dec 11, 2014 @ 8:43pm

Good job :)

Backterria says ...
Dec 13, 2014 @ 9:18am

Cool style and colour pallette my friend!

voidstar69 says ...
Dec 15, 2014 @ 7:21am

Very hard! I only survived about a dozen seconds. Does the framerate affect the collision detection?
Interesting ideas in this game, if you add a progression from easy to hard, it could be lots of fun.

Wertle says ...
Dec 26, 2014 @ 5:07pm

I think there are a couple of key things you can address if you decide to keep working on this game. Because I was so focused on paying attention to the ship(?), I didn't feel the impact of my killing the enemies because I couldn't see when it was happening and there was no feedback to tell me that I was actually killing dudes. You might want to try out how this feels if you can also destroy the projectiles, because that was the biggest source of noise that made it difficult to parse what was going on, though I'm not sure how much that would alter the gameplay. Otherwise, it was just really hard to distinguish the enemies because the projectiles visually dominated the screen, so maybe just work on making the enemies stand out and have more distinct feedback when destroyed (or mess with the size of projectiles vs enemies, etc). I didn't feel any value in rotating because I couldn't tell what it gained me, but I think i started to see the end effect that you were trying to go for. It might just be a matter of tuning rotation speed and projectile spawn speed. I did like the idea of losing sides as a way of representing health, but it was hard to see when that had happened. Might just be a feedback thing. Nice job.

You must sign in to comment.

TEAMS: Teams entering the Jam should pick a single representative to submit your game, or create a team specific account you can share. We currently do not support Team Voting, but sharing an account and together playing and rating games is acceptable.

NOT LOGGED IN?: If you get a message about not being logged in, even though you are, it’s because your web browser cached the non-logged in page. You can fix this by either refreshing your cache or clearing your cache. CTRL+F5 in many browsers. Chrome is a bit more work. Press F12 to enable Developer Mode, then you can right click on the refresh button and select “Empty Cache and Hard Reload”. This option is unavailable if you are not in Developer Mode.

PORTS: Ports to other platforms can be done after the deadline. That said, the sooner you finish your port, the sooner people can play your game, improving your chances of placing in the final results. For best results, provide a Web version of your game, or a Windows version with no dependencies. Also be sure to rate about 20 games to improve your visibility.

MY GAME DOESN’T SHOW UP: If you can’t find your game, it’s usually because the URL to your downloads are missing ‘http://‘. Fix your URLs ( and you will show up. Alternatively, if you just posted it, wait a minute. The cache may not have refreshed yet.

MY GAME CRASHES, IS UNBEATABLE, OR I MADE A TYPO: We allow you to fix crash or win condition bugs after the deadline (in a sense, like “porting” to support more players). We also allow “typo” bugs. I.e. A true that should have been a false, a word that should have been a different word, very tiny changes that you would have caught if you had more sleep. We leave this open to interpretation, but generally speaking your game should be identical to the game you submitted. No new features, just things you messed up last minute. Typos.

[cache: storing page]