A model rocketry simulator/game built with Bevy 0.18. Early stage — currently a sandbox/tech demo.
Play in Browser (WebGPU) (Chrome/Edge desktop) | WebGL2 Version (broader compatibility)
Why? I recently revisited model rocketry with my children and found myself writing a python script to discern where our first launch might have landed. After that, I thought it might be fun to explore the idea a bit more.
just run # dev build + run
just fmt # format code
just release # optimized build
just serve-wasm # build WASM + serve at localhost:8080Requires rustup-managed Rust (not Homebrew). See DEV.md for module overview, toolchain setup, WASM builds, and troubleshooting.
- Minimum playable game (not sandbox mode)
- Rocket building (currency, purchase body/cone/engines/fins/parachute/launch pads)
- Objectives (landing, elevation, etc.) with constraints (wind, build deficiencies)
- Title and game over screens
Publish to web(live)
- Better terrain (blog post, warbler_grass)
- Proper change detection via components
- Expand game states
- Camera upgrades (mouse pancam, FPS controller)
This project should be distinct from OpenRocket, which is pretty good at what it does. Maybe some future interoperability?
Based on bevy-egui-playground — thanks, whoisryosuke! Big thanks to my bro for inspiring me with his neat Bevy game jam entries (itch.io).
Thanks to Claude Opus 4.6 for helping migrate from Bevy 0.13 to 0.18, churning through five major versions of API changes, and getting the WASM build working.
- nbody simulation
- avian3d (formerly bevy_xpbd_3d)
- bevy_firework pitch/yaw

