Multiplayer games and (...) with LiveView
summary
Builds a working AgarX clone using Elixir, Phoenix, LiveView with a single GenServer as the authoritative GenServer world state that ticks (delta time for ~30fps) and resets rounds every three minutes; clients join via QR and use phones as joysticks. Uses nested structs, normalized event routing, and an effects list so logic is pure and testable (property tests via norm/typecheck). Demonstrates limits—LiveView latency and DOM/canvas constraints—but shows the multiplayer demo running and scalable across browser sessions.
AI-written summary · about
chapters (28)
- 0:00Intro
- 1:00Overview
- 1:34Why LiveView
- 2:09Color Correction
- 3:17Collaborative Editing
- 4:13Multiplayer games
- 5:04Global Game Jam
- 6:19Foundation of LiveView
- 6:31Realtime requirements
- 8:19Elixir architecture
- 10:03Integration
- 10:21Issues
- 11:22Architecture
- 11:37Shared State
- 13:12Agar X
- 14:08Game logic
- 16:05State
- 17:08Nested State
- 18:20Controls Module
- 19:01Nested Event Handling
- 20:01State Handling
- 21:02Side Effects
- 22:24Example
- 23:25Diminishing Returns
- 23:43Effect Interpreter
- 25:39Rendering
- 27:27Software Complexity
- 31:06Extra Resources
related talks
28mLobbying with Elixir: Real-Time LiveView and OTP
01h 13mKeynote: Phoenix LiveView - Interactive Apps without Javascript
40mThe Power & Performance of Phoenix LiveView
39mBeyond Liveview: Real Time Features With Liveview
53mElixir: a potion to mix complexity and concurrency in real‑time
45mElixir: une potion pour mixer complexité et concurrence en temps réel
35mKeynote: Fireside Chat on LiveView, (...)
37mKeynote: All Aboard The Stateful Train
