Building Game Engines in Elixir
summary
A production game engine called Phoenix Jackpot uses Riverside WebSockets, PixiJS clients, a dynamic supervisor per game, and a Registry of player processes to run multiplayer rounds where eight symbols must be collected in order and only one player wins. Client spins enqueue actions into a single play queue GenServer whose FIFO mailbox applies spins to per-player state, persists attempts to DB, performs optimistic updates of spin balance, and stops the game on the first completed sequence, avoiding double winners.
AI-written summary · about
chapters (14)
- 0:00Introduction to Phoenix Jackpot
- 1:02Game mechanics
- 2:42Game logic and objectives
- 4:14System architecture
- 5:20Managing game sessions
- 7:28Player actions and state
- 10:25Client-server communication
- 13:15Game state breakdown
- 16:58Command flow and handling
- 19:47Processing the spin command
- 22:05Winner determination
- 26:12Recap of message flow
- 27:45Why Elixir?
- 29:53Q&A session
related talks
06mLT: Elixir for Gaming! Using Network to Power a Sophisticated Multiplayer Simulation
05mGameDev in Elixir using ECS and Live View
47mEnterprise Java Can Do Games Too!
41mA Dwarf Fortress Clone In Elixir: A Story Of Doing It Wrong
41mFunctional Game Engine Design for the Web
01h 04mParallel Game Engine Design
29mBuilding a Game Engine for 300 DEFCON Hackers to Smash
22mMultiplayer Game with Angular
