The Tricks of Game Programming in a Pure Functional Language
summary
A recreation of Boulder Dash in Elm is used as a tiny game engine to run cellular automata and to solve Advent of Code 2018 day 15. The implementation uses a component-based update system that composes immutable transforms, JSON-defined levels and assets for loading/sharing content, and canvas rendering with actor indexing so only relevant actors update. Performance techniques are discussed for handling thousands of actors and tradeoffs between fixed timesteps, browser animation frames, and per-actor update costs.
AI-written summary · about
chapters (10)
- 0:00Functional game programming
- 4:52Pure functional games
- 8:35Compiler errors
- 13:16Time management
- 19:00Model-view-update
- 24:47Entity component system
- 30:11Rendering in games
- 34:32Performance optimization
- 38:50Testing game code
- 40:40Q&A
related talks
31mThe Tricks of Game Programming in a Pure Functional Language
37mElm and game development, a perfect fit
34mBringing the Fun to Graphics Programming
20mBuilding an Interactive Storytelling Framework in Elm
18mEmulating the Nintendo Game Boy CPU with Elm
01h 01mThe Art of Code
24mBuilding a Music Learning Game with Elm, Web MIDI, and SVG Animation
41mBuilding a Graphical IDE in Elm/Purescript
