Can You Build a Commercial Game in Haskell?
summary
Builds and ships a commercial 2D action game called Defect Process (on Steam, source on GitHub) using Haskell, showing concrete techniques that worked: animations implemented as lists with the lazy cycle+take trick, collision detection as composed broad‑phase / bbox / polygon filters that short‑circuit via laziness, and deterministic simulation with rollback netcode using stored world snapshots. Uses DSLs, phantom types for phase safety, FFI for graphics/audio, and practical fixes for GC, space leaks and performance.
AI-written summary · about
chapters (12)
- 0:00Introduction And Commercial Haskell Games
- 4:22Lazy Evaluation For Game Animation
- 12:07Collision Detection With Lazy Evaluation
- 22:01Functional Purity And Game State Design
- 24:10Save Systems And Serialization
- 26:31Deterministic Simulation And Rollback Netcode
- 34:12Domain-Specific Languages For Game Logic
- 40:52Phantom Types And Compile-Time Safety
- 46:53Foreign Function Interface And External Libraries
- 50:34Performance, Garbage Collection And Space Leaks
- 58:10Design Lessons From Haskell Game Development
- 1:03:19Conclusions And Audience Questions
related talks
45mHow I Learned Haskell by Writing Tiny Games
01h 15mHaskell Adventures in IO
01h 07mHaskell The Legend of DSLs
46mPainless software development with Haskell
18mWell I Wouldn't Want To Make a *Dys*functional Game
21mProduction Haskell Demystified
25mHaxe: The little known secret to scalable, cross-platform game creation
09mGame Development in Clojure
