Question Addon Development Startup Help

YCT

New member
Joined
Feb 19, 2016
Messages
6
Reaction score
0
Points
1
Hi,

I've been playing the game for a long time. I just want to make a small satellite with rcs and one small engine. Send it away with brainJ´s Falcon9 or other rockets. I want you to guide me.
What should I do?
What resources should I use?
Where should I start?

Note: I am a indie game developer. I know modeling and coding.I just want to improve Orbiter I played for years.

Thank You :)
 

GLS

Well-known member
Orbiter Contributor
Addon Developer
Joined
Mar 22, 2008
Messages
5,953
Reaction score
2,973
Points
188
Website
github.com
Martin provides some (and more than some) pointers on adding things to Orbiter in the API_Guide.pdf and 3DModel.pdf files, located in the Orbitersdk\doc folder.
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
105
Points
78
for a simple project as this as startup I'd suggest spacecraft4 by vinka!

and anim8r for the mesh (the graphics).

All simple tools that can be learned quite quickly. Check the tutorials in this forum around about them. If you don't find them I'll send the links
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,659
Reaction score
2,379
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
First important thing to do:

Ask yourself very skeptically, what you want to make. Not just simply say "I want this". Think about the how it should be like, make pencil drawings, write small texts how the player should use it, what you like. I prefer the pencil version simply because I can take my idea sketchbook with me whereever I may roam and need no electricity or internet for it. I am sure, as Indie game developer, this is no new idea for you.

Then, when you have decided on your goal and have a clear vision of the (intermediate) result. You decide about your tools. It is a good idea to already think about your current skills and the skills that you want to have in the future. You can't become a master of all trades, and at least you won't become it with the first add-on. Consider the possibility of making errors along the way and learning often the hardest way.

You will need a mesh in any scenario, so lets start there. i am no mesher, so I can't make you a good recommendation there. I think Blender has become a good free alternative, many still prefer Anim8or, AC3D is also popular, despite it costing you a bit of money. If you already know modelling, sure no big deal for you.

When I need a mesh, I prefer to ask for help by people who are more skilled there. That is also a viable option. And I deeply respect people for having those skills because my own attempts at making meshes are embarrassing in comparison. Again, this is a path where having good pencil drawings helps. Good drawings and ideas can help you convince people that its a good plan that you are up to. But it must not be successful. Even if you think you have the best greatest idea of all times, it can happen that you are the only one who thinks so and nobody wants to help you. Then you should decide: Is it? If yes, you should make the mesh yourself if you have that much confidence. Even if it is a bad mesh.

For everything related to making Orbiter add-ons, you should also get some help about physics. Not just astrodynamics, that is enough for playing Orbiter. Learn basics of aerodynamics, mechanics, newtonians physics, you name it. Learn math. Orbiter is written by somebody who knows linear algebra so good, that he made it left-handed. (pun intended) if you can understand what a vector is and how a matrix multiplication works, you are on a good way. The concept of affine transformations (from linear algebra) is very important for understanding how animations work in orbiter.

Then, look at the behavior of your spacecraft. If it is just static with some thrusters, you need no programming at all, a configuration file is enough. This is much easier than any kind of programming, and a very important basic skill in making Orbiter add-on. Its never bad to solve as much as possible with a configuration file.


If you need animations, you can avoid C++ code by two alternatives: generic vessel modules (like spacecraft3.dll) or Lua scripts. I am no expert in both, so don't expect much help there from my end... but there are people who can do magic there.

And finally... yes, there is C++. Not sure how much C++ you have seen in your life. C++ allows you to do it all. If you can think it, you can find a way to code it. But C++ has a price. It takes a long time to learn and will drive you mad while you learn it. It takes really long to master C++. And again, it takes away sanity. Not because it is a crazy programming language. Or a crazy way to do add-ons. But because it gives you freedom and freedom means also the freedom to make your own life hell. And that is what you will learn the hard away in C++. C++ not just allows you to shoot into your own foot. If you shoot into your own foot with C++, your whole leg will be blown to Mars. That is the power of it. If you can't control the power, the power will turn against you.

If I now failed to scare you and you still think C++ is your future skill: Learn in small steps. Get your Visual Studio set up, learn compiling the examples in the samples folder of Orbiter. Then make your own small add-ons. Maybe even make no add-on. Just some C++ program to try something before you get into Orbiter and have a more complex environment than a simple console application.
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
Start with the basics.
» Copy and adapt a scenario (scenarios folder)
» Copy and adapt a simple .cfg vessel (config/vessels folder)
» Copy and adapt a mesh and use it on your .cfg vessel

Can you do that already? Great!
Try to export your mesh and use that on your test vessel.
Expand the .cfg so that you have mass, fuel, engine placement, etc right.

After that try spacecraft4 for some extra options and multistage to handle the rocket launch.

Once you master that you can go into LUA or C++.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,404
Reaction score
581
Points
153
Location
Vienna
After that try spacecraft4 for some extra options and multistage to handle the rocket launch.

Great advice except for the quoted one IMHO. I wouldn't recommend using the domain specific languages of the generic vessel infrastructures if the goal is to eventually get into module coding.
The argument here is that your mode of thinking is very different when you use SC4 and multistage:

  • restrictions get circumvented with workarounds (e.g. complex animations modeled with robotic arms, extra features "bolted on" by means of docking/attaching feature-"vessels", meshes duplicated instead of copied and rotated/translated/scaled, etc.)
  • bugs exploited and/or circumvented (e.g. the robotic arm shift-release thingy, SC4 misplacing payloads on 2016, etc.)
  • lock-in to frameworks that might not be updated for new Orbiter versions (SC4 is the prime example here)
After the very important first steps with Orbiter's file formats, I'd instead recommend to get into the SDK examples, perhaps starting with the ShuttlePB to get the basics covered. Especially since the OP mentioned that he knows coding.
 

Mojave

60% Ethanol
Moderator
Addon Developer
Joined
Apr 6, 2010
Messages
1,647
Reaction score
132
Points
78
Location
Somewhere, but not here.
As a newbie to the add-on creation scene, my best advice is to follow your nose; that is, the search function is your very good friend. There is so much information available from those that came before you, and their development stories offer the most keen insights into developing for Orbiter.

The second best thing you can do is learn who has experience and tailor your questions to them because they can guide your path with the most efficiency, and help you avoid stumbling. Other peoples' experience, as I've learned, is a very valuable commodity. Some of those who've spoken in this thread have aided me both passively and actively in my own endeavors, and I couldn't thank them more, nor could I have a greater appreciation for the effort they put into their projects.

Urwumpe's response carries so much weight, and I would encourage you to follow his recommendations especially if you're considering C++.

This community is wonderful, and will definitely help in any way they can as they, too, have burned with a desire to add their contributions to the best space simulator on the market.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,891
Reaction score
2,141
Points
203
Location
between the planets
restrictions get circumvented with workarounds (e.g. complex animations modeled with robotic arms, extra features "bolted on" by means of docking/attaching feature-"vessels", meshes duplicated instead of copied and rotated/translated/scaled, etc.)
bugs exploited and/or circumvented (e.g. the robotic arm shift-release thingy, SC4 misplacing payloads on 2016, etc.)

Sounds like css! :lol:
 
Top