Devlog 4: Kerbal Gravity Program
KGRP is a mission planning tool I’m building for KSP players and actual aerospace engineers to map out complex trajectories. It’s loosely based on libraries like Skyfield, Poliastro, and Trajectorize. The ultimate goal is to make it easy to plot out massive interplanetary trips, whether you’re trying to reach Jool and Sarnus (with the Outer Planets Mod) or calculating a real-world journey out to Neptune.
What Happened Today
We need to talk about a major turning point for this project. Today was the day I finally broke.
I sat down ready to write some beautiful orbital physics code, but instead, I spent hours staring at a screen full of red squiggly lines. I was trapped in a seemingly endless loop of configuring MinGW paths, updating JSON files, wrestling with Conan, and trying to force VS Code to recognize where the Eigen math library was hiding. I realized I was spending 90% of my energy fighting a stubborn C++ compiler and only 10% actually thinking about gravity and orbital transfers.
As a solo developer trying to build something massive, that is a recipe for burning out. I was totally fed up.
So, I had a choice: keep sinking precious hours into configuration hell, or do something radical to save my velocity. I chose velocity. I opened up my file explorer, went to the project root, and completely ripped out the entire cpp folder. Shift + Delete. Gone.
(To any C++ purists reading this: I am deeply sorry, but it had to be done.)
By committing to a pure Python architecture, I can keep the code lean, fast, and remarkably lightweight (for an interpreted language):
-
NumPy: We are using the best library for 3D math operations. -
SciPy: Gives me instant access to rock-solid root-finding algorithms. This means my Lambert solver is going to be incredibly robust and fast. Using this, We can get C++ execution speeds with the absolute bliss of plain Python syntax. -
Pyrr: A new Library that i am going to learn, this acts as a wrapper for numpy, allowing for easy rendering -
moderngl_windowa pythonic librayry that allows one to easily show and render stuff.
Next Steps
Now that the compiler weight is off my back, I can actually focus on making this program amazing. The real fun starts now:
- Setting up a clean Python environment with
scipy,pyrr,modernglandnumpyinstalled. - Rendering stuff (Yahoo!).
- Building the profile structures for the Kerbol system and our real-world solar system.
well then here is me installing pyrr and thinking of how to use and learn the library.