But someday when I learn how to make a program here's what I'm going to do.
Hi Motherbrain,
It is true that writing your dream version of orbiter is a complex undertaking (as the responses to your proposals rightly point out), but you shouldn't let that discourage you. The point is, you don't need to do it all in one go. You can start small and slowly build up complexity.
If you know a programming language (C, C++, Java, Python, Matlab - anything will do), you can write a simple numerical multibody gravity simulator in a couple of minutes. Adding some 2D visualisation may take a few hours. Adding a simple 3D renderer may take a few days, depending how quickly you can get to grips with OpenGL or DirectX.
Then it starts getting a bit more complex. Adding active spacecraft requires some form of user input. You need to add thruster layouts, and add angular state propagation. At this point you'll have a functional simulator, but not much to look at. The real effort (and you can spend years on that) is making it look good, and getting the details right (numerical stability at large time steps, physics of docked vessel assemblies, aerodynamics, etc. etc.)
