USE lisp WITH game - Making an Adventure Game with Clojure
summary
Builds a 100% Clojure point‑and‑click adventure (~12,000 LOC) using play-clj, models SCUMM-style dialogue with Clojure zippers, implements dynamic choice trees (randomized name guesses) and imperative in-game scripts via core.async action channels (begin/update/finished protocol). Runtime edits happen over nREPL hot-editing so assets and behavior change while the game runs. Cross‑platform release targets PC/Mac/Linux; profiling finds occasional GC hitches and a slow image-mask pathfinder that proved the need for a navmesh or ECS.
AI-written summary · about
chapters (19)
- 0:00Start
- 1:31The Stealth Ninjas
- 2:02Tick's Tales
- 2:33We'll explore
- 3:59Famous dialogue
- 6:26Data structure
- 7:01clojure.zip/zipper
- 10:06Altered zipper
- 12:29Name guessing puzzle
- 14:20In-game scripting with Clojure
- 14:42Creating a simple script
- 15:05Goals in scripting
- 16:11Scripts are asynchronous
- 16:37Common Approaches
- 17:57The main game loop
- 18:57Using core.async
- 19:56Example action
- 22:35Next steps
- 28:44Lessons learned
related talks
09mGame Development in Clojure
38mMaking Games at Runtime with Clojure
18mWell I Wouldn't Want To Make a *Dys*functional Game
36mLearning Clojure and CLJS by playing a card game
31mLightning Talks
40mFun with Functional Programming in Clojure
36mLearning Clojure and ClojureScript by playing a card game
01h 02mSolving Problems the Clojure Way
