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:

10 Likes

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.

5 Likes

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:

05

Great game @LukeWood!

2 Likes

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!!!

3 Likes

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ā€¦

2 Likes

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:

2 Likes

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:
Workshop
AttackJet-Body
Buggy-Body
Hope to find some time soon :slight_smile:

1 Like

https://www.panzerdog.com/

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:.

4 Likes

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:

2 Likes

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