You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
2 months ago | |
|---|---|---|
| configs | 6 months ago | |
| docs | 2 months ago | |
| example | 3 months ago | |
| ext | 3 months ago | |
| scripts | 3 months ago | |
| src | 3 months ago | |
| tests | 3 months ago | |
| .gitignore | 3 months ago | |
| .gitmodules | 3 months ago | |
| AGENTS.md | 3 months ago | |
| Makefile | 3 months ago | |
| README.md | 3 months ago | |
| opencode.json | 6 months ago | |
README.md
Orbital Mechanics Simulation
A 3D orbital mechanics simulation using a 2-body gravitational model with sphere of influence (SOI) transitions.
Features
- 2-body gravitational physics with SOI transitions
- Configurable star systems via toml files
Getting Started
Cloning the Project
git clone --recursive https://github.com/yourusername/claudes_game.git
cd claudes_game
git submodule update --init --recursive # If already cloned without --recursive
This initializes submodules in both ext/ (tomlc17) and example/ext/ (raylib, raygui).
Dependencies (Debian 13)
sudo apt update
sudo apt install -y build-essential g++ make libx11-dev libxcursor-dev \
libxrandr-dev libxinerama-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev \
libcatch2-dev
Building
make # Build library (liborbit.a), tests, and visualizer example
make lib # Build library only
make example # Build visualizer only
make rebuild # Clean and rebuild all
make clean-all # Clean everything
The visualizer (./build/orbit_sim) links against the core simulation library.
Running
./build/orbit_sim # Run visualizer with default config
Pass a config file as argument: ./build/orbit_sim tests/test_moon_orbits.toml
Documentation
- Technical Reference - Data structures and module overview
Testing
make test # Run full automated test suite
All tests use Catch2 framework with configurable time steps and durations.
License
This project is provided as-is for educational and research purposes.