Request Spacecraft3 for Celestia

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.)
 
Thanks for the link Bruce I'll definitely look into it.

Martins the first thing I would do if I wrote a space sim is create a point in "space". After modeling a Star, a Earth sized planet and maybe a moon, put them in orbit around that point that is the center of the "galaxy"
No textures, no dynamic lighting and no physics engine yet. The star and planet would have static orbits, and would not effect each others gravity.
Then after ironing out the details, scale, stability and such maybe add some simple textures, possibly some lighting.
Then after working on this part and making sure everything works smoothly I might making a simple physics engine and a test ship.
My point is I would make it as simple and stable as possible and take it step by step. My dad works for a company that uses a lot of computers and he has already taught me some things. And that link Bruce sent me will help also.
 
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.)

Yeah, pretty much my experience too. The code for conquering SPAAACE came together in a few weeks, but docking and collision detection are going to take a long time...

Just a minor note, but I thought Matlab was a library, not a language of its own...
 
...And please just drop it before I (I) get in trouble!
Motherbrain, cool down!
I don't understand why you think you will get "banned/in trouble" only for expressing your passions and dreams (given you express them in a polite way). You wrote that in more than one post.
Enthusiasm is vital and perfectly normal, just take our "critics" to your project as "wise-old-man's words".
We already saw big projects like yours, but nothing came out of those. It's a big effort.

You already had many answers from every guru here on OF, and even from Orbiter's creator himself!
Take your time, organize your ideas, and go for it.

:cheers:


Oh...btw, I also work in a place with "many computers" (over 50.000) but this doesn't make me a developer.
 
Actually, the aspects that really get hard for me in real-time simulations are:

  • Rigid-body dynamics solvers
  • Aerodynamic solvers

Just solving gravity like Orbiter does is really not that complex (but non-spherical gravity takes a bit more math)

Especially the aerodynamics of Orbiter are a constant pain - they work nice for most spacecraft, but have limitations that can make your life hell once you exceed the realm of the usual spaceplane (eg supersonic flight near ground level)

You can luckily get many good libraries that solve that all for you. But that does not make things easier in the beginning.
 
Just to add the what you can create has to do with time. And time = money.

Since Orbiter is free, what you get is what's possible within each individual freetime and motivation.

If there was € involved (to have full time developers), sure you could have more features, but it would become a product. That's a decision each individual has to make before undertaking a large project that will take many months of their time.

:idea:
Anyway, you can hire me to model all the world's spaceports by the reasonable amount of 40$ a building, fully textured, and low poly optimized. Will even throw some terrain to go along for free. If you then release it as a free add-on or not is up to you :lol:
 
Last edited:
Just a minor note, but I thought Matlab was a library, not a language of its own...

Matlab is a complete software package for mathematics. Together with Simulink, it is extremely powerful (and extremely expensive).

But once you have modelled something working in Matlab/Simulink, you can also create an implementation of the math in any other programming language based on the model.
 
Back
Top