I've created a game in Elm

Almost exactly one year ago I started making a game and now I’m ready to release version 1.0! It’s called Circuit Breaker and you can try it out here.

You can also customize the colors used in the game and link it to people. Here’s one I made that uses the Elm tangram colors.

If you want to see what the game is about but don’t have time to play it, here’s a (slightly outdated) gameplay video .

And finally here’s the source code.

Possible future work:

  • Add a server to let people upload and view eachothers stages, replays, and highscores
  • Add touch screen controls and fix the layout on smartphone screens
  • Add more electronics themed gameplay mechanics
  • Add more stages

Enjoy!

39 Likes

Very cool :slight_smile:

Wow! Really nicely done!!!

Sound track really makes it and best Elm game I have tried yet.

Is the slider thing when you move around a chip really synched to the beat? It doesn’t feel like it is, and I was trying to play to the music rather than the visual. Maybe you could put the music through something that would extract the beat and provide a list of intervals in seconds, and then use that to synch up the visual animation.

1 Like

It isn’t actually synced to the beat. What happens is that every time you move on the chip, it resets to the left most position. If you personally try moving with the beat then the slider will follow the beat but you can move faster or slower than the beat by just changing when you try to move (as long as the black line on the slider is over the green region).

Originally I did have the slider synced to the beat but it was too unforgiving when trying enter a chip and quickly match the beat before an agent runs into you.

Edit: I’ll add that I’m not quite satisfied with how the chip movement has turned out. I’ve done some play testing with friends and often they have no problem with the wire movement but the chip movement is consistently a stumbling point.

I see, so it is possible to synch to beat just by starting off right, then staying on the beat. I did try again, without looking at all at the control and just using my ears, and I did find that I could synch in that time.

1 Like

A few people asked for keyboard navigation so I’ve added that to the game and released version 1.1 (the full changelog is shown on the start page).

Adding keyboard navigation to the stage select page that feels intuitive to use was tricky. I’d be happy to hear if people think it behaves how they’d expect.

Edit: To see the latest version, you might need to refresh the webpage twice.

Are you actually able to detect lagging or are you just showing that for every browser that’s not chrome? Would be interesting to dig into why the game lags in firefox.

Nope, the framerate warning can get shown on Chrome too if there’s lag. The framerate warning suggests using Chrome because I’ve found that both my Windows desktop and my Mac laptop run the game more smoothly on Chrome than Firefox.

I’m really not sure what the cause is. I haven’t been able to make much headway with the Chrome and Firefox performance profiling tools (Elm makes it difficult with all the A2, F2, A3, F3, etc functions). I’ve tried out GPU profiling tools for Firefox and Chrome as well and not made any progress there either. If you’re interested in doing some profiling yourself I’d be happy to assist!

Edit: By lag, what the game checks for is if the average framerate drops below 55 frames per second. Here’s the implementation for that.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.