Explore Science Through Simulations.
I like to create explorables, which are small and interactive simulations that let you play with scientific ideas instead of just reading about them.
The goal is simple:
make abstract concepts more intuitive by letting people see them, tweak them, and feel how they behave.
Most of the projects in this organization exist either to:
- Build interactive physics simulations directly
- Develop tools and engines that make creating those simulations easier and faster
- Have fun by creating game engines that help me understand more of the reality and technical challenges of simulating things
A big part of this work is tooling. Over time, I ended up writing my own engines and libraries to support the kind of simulations I want to build.
Some of the main projects you'll find here:
-
WaterDropEngine (Rust)
A high-performance simulation / rendering engine focused on physics-driven systems that I develop on my free time for fun. -
PhysicsSimulationEngine (JavaScript)
A lightweight physics and math simulation engine for web-based explorables.
These engines are not meant to be 'general purpose game engines'.
They are designed specifically to support interactive scientific simulations.
Equations, diagrams, and static plots are useful, but they don't always build intuition.
Explorables let you:
- change parameters and immediately see the result
- experiment freely instead of following a fixed explanation
- develop an intuitive understanding of motion, forces, systems, and dynamics
That's the kind of learning experience I'm interested in building.
Most of the finished experiments, articles, and interactive explorables live on the website:
👉 https://www.explorablescience.com
This GitHub organization mainly hosts the underlying code, engines, and experiments behind them.
✨ Explore Science Through Simulations ✨