Elixir Games!

Inspired by bulletz.io (built by @LukeWood) and the recent Phoenix Phrenzy winners! I thought it might be cool to see what other games are out there that were built using Elixir or Phoenix!

Do you know of any? Do have any favourites? :101:


Who was playing Bulletz.io just now? That was FUN! Even if I couldn’t work out how to change direction of fire!! :man_facepalming: :lol: (Edit: the mouse/trackpad seemed to do the trick :023:)

1 Like

Thanks for the support :slight_smile: Bulletz is still in a relatively early stage and I’m definitely still shaping the experience up.

It’s been a huge journey making a game from scratch in elixir! Any feedback would be greatly appreciated!

I’ve thought of writing a full fledged framework specifically for web based games in elixir but have ultimately punted it off for the time being.


You should start a thread about it in our #your-libraries-projects:projects section (or just post info in here if you prefer) :023:

How long did it take? What stack are you using? It’s really fun!

With regards to the game itself I’d love for it to be a little faster (maybe 2x the speed) and perhaps whenever you encounter some kind of event there is a flash message telling you what happened/what it means etc - though maybe on a ‘training’ level. It would also be cool to know when a human player is in the game (maybe force all humans to type their name in?) …don’t know why but it’s more fun killing real players :icon_twisted: :lol:

A framework for building web games in Elixir would be SO cool!!! Do it! :003::orange_heart:

1 Like

Unfortunately for me bulletz is only showing “loading…”

I’d really like to try a combination of liveview and WebGL(threejs), if only I had time…

1 Like

Try again it’s working here @Rainer :smiley:

I had to allow firestore.googleapis.com XHR requests for the loading to pass. The game is sluggish most of the time on my computer / firefox…

My iPhone froze otherwise I could have got an even higher score :icon_twisted:


Great game @LukeWood!


I just used phoenix websockets for the frontend/backend communication and then the frontend is written in rxjs. If I could go back in time I think I’d do the same thing for the backend (it’s a Genserver per player, genserver per bullet, etc) but on the frontend I’d probably use the phaser game engine.

Good idea on indicating who is a player and who is a bit - I’ll open a bug for it!!!


Are firestore xhrs typically disabled in some setup I am not aware of?

And yeah it can get a bit clunky right now due to a lack of any webgl use- all raw JS.

Thanks Aston- saw your highscores that’s awesome.

I need to implement some error handling as I’ve noticed that there are occasional freezes.

1 Like

Just didn’t work at office, no problem at home :slight_smile:
I like the concept :+1:

It makes me wanna finish my never finished tank shoot 'em up. I started that many years ago first with my own c++ engine, later started again with the godot engine, but always stopped developing after i got all the movement & gfx done :roll_eyes: Maybe i should give it another try with WebGL and Phoenix…


You should :023:

I used to run a gaming platform (was actually my first stab at a social network) and all this talk of games is making me want to do something with the domain now - might even make a game and put it up there :lol: perhaps you and @LukeWood could write up a few tuts… or work on that framework together :003:

1 Like

I fond that I still have one very early version of it online: http://visualsoft.ch/pixeltank/pixeltank.html
Shooting was also possible and there were track marks from the tank on the grass, I’ll check at home if I still have the sources… The version online is poorly working but showing in which direction it would go, you can move the tank with ‘wasd’ and rotate the turret with the mouse. I’ve got many graphics with different tanks and upgradable parts :slight_smile: Every now and then it gives me a headache that i never finished something with it :smiley:

I’d be totally up for some project, only my “nerding time” is very limited as i’ve got a young family. Also my elixir knowledge is yet limited, but this would be a good opportunity to improve :+1:


at one point I had a test branch running bulletz in 3d using the same backend but threejs to render the frontend instead of my homebrew engine (so sort of like a diagonal camera down)

never saw it through - decided to work on other features

1 Like

threejs is the way I’d go :+1: Even if I always enjoyed writing an engine by myself, it’s very time consuming to do so…
I definitively should do it, just looked through my graphics (which a friend did for me, I think that was in 2012…), here some examples:
Hope to find some time soon :slight_smile:

1 Like


These guys have their backend written in Elixir.

1 Like

It’s two (nearly three) years ago now, but back then our Global Game Jam game used Elixir+Phoenix with websockets as backend that allowed people to play with a virtually unlimited number of people on a big screen using their mobile phones.

I’m still hoping I’ll have time to write a post-mortem about it at some point, as well as maybe an updated version :sweat_smile:.


I use uMatrix to disallow all scripts coming from outside the main domain by default, and thought he might do the same! I will try again when webgl will be supported :smile:


At the least I should have a fallback saying scores failed to load instead of getting stuck on loading.

And not sure if that’s a high priority right now, we’ll see :). I kind of want to get back into feature work like mini bosses and some sort of rewards system.

I have a feeling the clunkiness May have to do with a “websocket backlog” building up and how I handle that so I may do some tuning on how the websockets send out messages and stuff.

1 Like