Camel Quest
A family expedition through OCaml 5.5, from the first expression to a multicore game engine โ building games the whole way. Lessons check themselves right here in the browser; the big guns (dune projects, parallel domains) come with copy-paste localhost instructions. Every adventurer gets their own account, XP and saved code.
How this works
- ๐ข Online checks: most exercises compile and test your OCaml right in the page โ a real OCaml 5.5 toplevel compiled to JavaScript with js_of_ocaml (the exact tech you'll use to ship your own games to the browser). Green checks pay XP.
- ๐ฅ Localhost quests: real projects (dune, the canvas starter, parallel domains) run on your machine. Those lessons give exact commands, expected output, and self-check checklists โ see Setup first.
- ๐ฎ Side quests: HTML & CSS live-sandboxes (Maks owns the DOM), creative extensions, homelab deployment.
- ๐ง Coach's corner: asides for Alexandre โ theory, review rituals, what to watch for.
- ๐ง Family accounts: on the family server, sign in and your XP, solved exercises and saved code follow you to any device on the network. The coach manages adventurers on the Family page.
- ๐พ Without a server, progress is saved in this browser โ export and import it on the Progress page.
The four phases
Bootstrapping & the Web Side Quest
Shapes on screen fast: the toplevel, functions, your machine's forge, the canvas, HTML/CSS for HUDs, and first motion.
Functional Game Loops & Immutability
Records, variants, lists and the pure tick: whole game worlds as immutable values โ no global mutable state, ever.
Structuring Complexity: Modules as Values
Signatures, functors, and first-class modules โ pass whole engines as arguments and hot-swap renderers and rulesets.
OCaml 5.5 Power-Ups
The frontier: effect handlers for game scripting, true shared-memory parallelism with domains, and the capstone: a deterministic interstellar simulator.