Wookash Podcast

Jonathan Blow on upcoming game, jai programming, and more!

Jan 24, 2026
Jonathan Blow, independent game designer behind The Witness and creator of the Jai language. He talks about the decade-long craft behind Order of the Sinking Star. He dives into tooling, editor workflows, visual and water systems, and how metaprogramming in Jai shaped development. He also covers team evolution, build systems, and plans for Jai’s beta and engine release.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Modules Tame Dependency Hell

  • Jai modules use compile-time parameters to avoid heavy link-time dependency issues common in C/C++.
  • The module/type-indicator pattern gives defaults but lets users swap implementations cleanly.
ANECDOTE

Beta Used To Protect Language Evolution

  • Jonathan recounts the beta and why he delayed public release to keep evolving language features without breaking users.
  • He changed a pointer operator and used metaprogramming to rewrite source across the codebase as a live test.
INSIGHT

Compile-Time Plugins Enable Safe Rewrites

  • Jai exposes compile-time execution/plugins so metaprograms can inspect typed ASTs and safely rewrite source with preserved formatting.
  • Blow used a 300-line plugin to refactor deprecated operators across 300k lines successfully.
Get the Snipd Podcast app to discover more snips from this episode
Get the app