Hello!
Here I would like to present an idea and a project that will accompany me in the near future.
But briefly something in advance:
I played Orbiter very actively until the release of Orbiter 2016. Many of my favourite add-ons didn't work any more and in addition I had less or no free time. I always took a look at the forum to see where things were going. Also, Orbiter is my playground when I want to try some things that don't fit into my work. So I had a very messy dev folder and many Orbiter versions.... However, I never finished the add-ons, everything stayed in experimental state.
What is different this time?
Not much, I still have a time-consuming job and my family has grown. However, I really want to learn and experiment with what is to be implemented here even if it doesn't fit into any of my current projects. The chance that it will take a very long time is high though, since I can only clear a few hours per week at a time.
But what's the point now?
I want to play around a bit with AI in Orbiter. I'm a scientist by training and have always worked with data analysis and physical simulations. In the last few years, however, this has evolved into a new direction, and it now ends up with control systems based on physical models. In doing so, I incorporate AI, such as models represented by artificial neural networks. Now I would like to try one here. But for that it needs a concrete development goal:
A very simple economic simulation with artificial counter-players. Here AI is used to simulate them.
Features:
1. there are resources, which can be mined on the planets/moons with mines
2. transport of the resources to earth brings credits
3. the credits can be used to spawn bases, mines, ships or anything similar
4. integration of an AI
4.1 Control of ships in the fleet that are not operated by the player
4.2 Control of one or more computer players
My interest is mainly in the last feature. However, I found 1. - 3. needs the add-on to be more rounded; and I to get back into the API of Orbiter.
So far there are only fragments to all this. And I don't even like them, that's why I want to start over from the beginning.
Why do I post the project now?
Because I want to post the detailed developments to the listed points. I want to discuss as much as possible here (to motivate me to continue) and since I can imagine making the project open-source someday it would be not bad to document a lot from the beginning.
So I would be very happy if you give me feedback on the ideas or my approaches, I am very sure that many people here have better suggestions than me when it comes to implementing something in Orbiter. I now have to read back into the Orbiter SDK and see what was possible or what I remember.
Now to my first approaches:
To 1. it would be nice if resources on the moons and planets are heterogeneously distributed and one would have to scan the surface with satellites to find worthwhile spots. But here I would not know how to implement this. So my first version would be that the resources are a property of the mine. The easiest way I can think of is to declare a fuel as a resource. This is then continuously replenished up to the capacity limit.
To 2. there is a station in the earth orbit, which serves as storage for the mined resources. In a base on earth the exchange in credits takes place. I think the resources can be as with the mine also simply as "Fuel" bound to a container, which is then transported by the ship (I bet here a little on the fact that the UCGO update comes).
I want everything to run in game, so I thought the fuel system is suitable, I seem to remember that with VESSELSTATUS2 multiple fuels were also possible (LOX for example).
As for the credits, I don't have an idea yet. Either they are like the resources and then just accessible at the earth base (where you can then buy new stuff). Or you can get them from a MFD. Generally I think about letting the whole interaction run over a MFD. Maybe you have a good idea how this can be programmed best. Somehow I like the idea to implement the resources and the credits as fuel, because I think everything is already available in Orbiter, you just have to call it differently. But I'm not sure yet that it works that way.
To 3. that depends now strongly on the first two points. It would be cool if there is a dry dock in Earth orbit where you can buy ships and base containers, which then become a mine when landing on a planet.
The first three points should be very easy to implement in the first version. I have to try out my suggestions here first. If you already have input for me or know directly how to implement something I would be very grateful.
To 4. this is somehow my core business. I want to build two separate AI modules here. The first one is an autopilot+. Here it should be possible to control every ship in the sim (that you own) remotely. It should be possible to fly from base to base automatically. That means you are either landed/docked or somewhere in orbit and now a target is set, no matter where and the ship flies there and lands by itself. For aerodynamic ships an atmospheric landing should also be possible. So this is the most complex task (but this is where I want to play). In principle, all the necessary tools already exist: IMFD to do the routing and plan the approach, landing autopilots for atmosphere-less celestial bodies, and tools to help you land on Earth. Right now I'm thinking about how to connect all this without having to reinvent the wheel. In the end the player stands with a ship of his choice on the runway and enters a base on Mars as a destination, then the autopilot takes over the planning of the route (time window and dV optimization) and performs the entire flight to landing. Once arrived, a trade task can be executed and a new flight is already saved (e.g. back to the runway on Earth).
However, I must say I imagine just the automatic approach to Earth with Reentry still difficult. But I don't see any point in all this that should not work. Do you?
The second module takes over the decisions for the computer player. So it programs the autopilots of the ships, builds mines and buys new ships etc… So the space should be fuller and give the player a possibility to compete.
That is so far my rough plan.
But I am very limited in time, so this project will be a generation project I am sure. If someone among you should have desire to participate I am pleased of course very much about it!
Now I am curious about your feedback!
Best regards
Max
Here I would like to present an idea and a project that will accompany me in the near future.
But briefly something in advance:
I played Orbiter very actively until the release of Orbiter 2016. Many of my favourite add-ons didn't work any more and in addition I had less or no free time. I always took a look at the forum to see where things were going. Also, Orbiter is my playground when I want to try some things that don't fit into my work. So I had a very messy dev folder and many Orbiter versions.... However, I never finished the add-ons, everything stayed in experimental state.
What is different this time?
Not much, I still have a time-consuming job and my family has grown. However, I really want to learn and experiment with what is to be implemented here even if it doesn't fit into any of my current projects. The chance that it will take a very long time is high though, since I can only clear a few hours per week at a time.
But what's the point now?
I want to play around a bit with AI in Orbiter. I'm a scientist by training and have always worked with data analysis and physical simulations. In the last few years, however, this has evolved into a new direction, and it now ends up with control systems based on physical models. In doing so, I incorporate AI, such as models represented by artificial neural networks. Now I would like to try one here. But for that it needs a concrete development goal:
A very simple economic simulation with artificial counter-players. Here AI is used to simulate them.
Features:
1. there are resources, which can be mined on the planets/moons with mines
2. transport of the resources to earth brings credits
3. the credits can be used to spawn bases, mines, ships or anything similar
4. integration of an AI
4.1 Control of ships in the fleet that are not operated by the player
4.2 Control of one or more computer players
My interest is mainly in the last feature. However, I found 1. - 3. needs the add-on to be more rounded; and I to get back into the API of Orbiter.
So far there are only fragments to all this. And I don't even like them, that's why I want to start over from the beginning.
Why do I post the project now?
Because I want to post the detailed developments to the listed points. I want to discuss as much as possible here (to motivate me to continue) and since I can imagine making the project open-source someday it would be not bad to document a lot from the beginning.
So I would be very happy if you give me feedback on the ideas or my approaches, I am very sure that many people here have better suggestions than me when it comes to implementing something in Orbiter. I now have to read back into the Orbiter SDK and see what was possible or what I remember.
Now to my first approaches:
To 1. it would be nice if resources on the moons and planets are heterogeneously distributed and one would have to scan the surface with satellites to find worthwhile spots. But here I would not know how to implement this. So my first version would be that the resources are a property of the mine. The easiest way I can think of is to declare a fuel as a resource. This is then continuously replenished up to the capacity limit.
To 2. there is a station in the earth orbit, which serves as storage for the mined resources. In a base on earth the exchange in credits takes place. I think the resources can be as with the mine also simply as "Fuel" bound to a container, which is then transported by the ship (I bet here a little on the fact that the UCGO update comes).
I want everything to run in game, so I thought the fuel system is suitable, I seem to remember that with VESSELSTATUS2 multiple fuels were also possible (LOX for example).
As for the credits, I don't have an idea yet. Either they are like the resources and then just accessible at the earth base (where you can then buy new stuff). Or you can get them from a MFD. Generally I think about letting the whole interaction run over a MFD. Maybe you have a good idea how this can be programmed best. Somehow I like the idea to implement the resources and the credits as fuel, because I think everything is already available in Orbiter, you just have to call it differently. But I'm not sure yet that it works that way.
To 3. that depends now strongly on the first two points. It would be cool if there is a dry dock in Earth orbit where you can buy ships and base containers, which then become a mine when landing on a planet.
The first three points should be very easy to implement in the first version. I have to try out my suggestions here first. If you already have input for me or know directly how to implement something I would be very grateful.
To 4. this is somehow my core business. I want to build two separate AI modules here. The first one is an autopilot+. Here it should be possible to control every ship in the sim (that you own) remotely. It should be possible to fly from base to base automatically. That means you are either landed/docked or somewhere in orbit and now a target is set, no matter where and the ship flies there and lands by itself. For aerodynamic ships an atmospheric landing should also be possible. So this is the most complex task (but this is where I want to play). In principle, all the necessary tools already exist: IMFD to do the routing and plan the approach, landing autopilots for atmosphere-less celestial bodies, and tools to help you land on Earth. Right now I'm thinking about how to connect all this without having to reinvent the wheel. In the end the player stands with a ship of his choice on the runway and enters a base on Mars as a destination, then the autopilot takes over the planning of the route (time window and dV optimization) and performs the entire flight to landing. Once arrived, a trade task can be executed and a new flight is already saved (e.g. back to the runway on Earth).
However, I must say I imagine just the automatic approach to Earth with Reentry still difficult. But I don't see any point in all this that should not work. Do you?
The second module takes over the decisions for the computer player. So it programs the autopilots of the ships, builds mines and buys new ships etc… So the space should be fuller and give the player a possibility to compete.
That is so far my rough plan.
But I am very limited in time, so this project will be a generation project I am sure. If someone among you should have desire to participate I am pleased of course very much about it!
Now I am curious about your feedback!
Best regards
Max