Game Development Development
summary
A desktop IDE is reimplemented in Clojure with JavaFX on top of an in-memory transactional dataflow graph that turns file string refs into edges, uses Prismatic fnk for production functions, and models state changes as Datomic-like transactions. The system currently exposes 78 node types, provides undo/redo by a paper‑tape transaction log, guarantees precise forward invalidation and cache correctness during concurrent evaluation, achieves sub‑second rebuilds for live iteration, and supports live shader edit and hot‑reload into the running C++ engine.
AI-written summary · about
chapters (25)
- 0:00Introduction
- 0:31Game Editor
- 2:40Why we ship bugs
- 4:34Goals
- 6:17Graphs
- 7:05Dart Editor
- 8:47The Graph
- 10:23The Graph Schema
- 11:05Nodes
- 12:03Set Property
- 12:43Node Language
- 13:14Node Example
- 15:25Production Functions
- 17:17Transactions
- 18:57Life Cycle
- 19:49Mutability
- 20:36UndoRedo
- 21:56Caching
- 23:13Evaluation
- 24:07Evaluation Context
- 24:46In Practice
- 26:46Outline View
- 31:37Conclusions
- 32:45Computational Graph
- 34:24Thank you
related talks
41mFunctional Game Engine Design for the Web
09mGame Development in Clojure
38mUSE lisp WITH game - Making an Adventure Game with Clojure
54mfn and Games with Arcadia
38mGames and 3D Graphics in Arcadia
52mFull stack FP in Datomic, Clojure, and ClojureScript
43mScaling Full-Stack Applications
05mGameDev in Elixir using ECS and Live View
