Building a Space Flight Sim in Clojure: A 5-Year Odyssey
2025-09-06

This post details a five-year journey building a space flight simulator using Clojure. The author tackled challenging 3D rendering aspects first (planets, atmosphere, shadows, volumetric clouds), drawing inspiration from the open-sourced Orbiter simulator. The project leverages numerous libraries, including the LWJGL suite for graphics and input, Jolt Physics for the physics engine, and Clojure's strengths like immutable values and safe parallelism. The author delves into atmospheric rendering, planet rendering techniques using NASA data, OpenGL shader templating, performance optimization, build processes, and Steam deployment. While core features are complete, future plans include adding cockpits, moons, and space stations.