Space Engineers

Space Engineers

Ver estadísticas:
Rays of Apollo 12 ENE 2022 a las 10:06
Neural Networks in C#
After poking around C# for a bit, I can't tell its difference from C++, my mother tongue, at all.

Has anyone ever 'taught' an AI for space engineers?
< >
Mostrando 1-9 de 9 comentarios
ShadedMJ 12 ENE 2022 a las 21:14 
Which type of AI are you looking for? What functions?

Overall, the problem comes in that the coding interface to the game is not the best. I write a lot of scripts for myself and for others here. Lot of players have a lot of ideas that just cannot be done in the game with a standard C# script.

Examples: You can't get data from the antenna on what ships are out there. You can't get data from ore detectors on what ore is found. You can't tell if the welders are actually welding something.

That said.... the Modular Encounters Spawner system can make drones that can be good opponents. This is a mod that has a lot more functionality than the programmable block scripts.
Última edición por ShadedMJ; 12 ENE 2022 a las 21:15
Rays of Apollo 13 ENE 2022 a las 0:50 
I suppose I should have specified.
My first idea was adaptive suspension/gyros in rovers. I'm sure I can get that working with a perceptron and maybe even run cycles in-game.


Then, I thought convolution would be great with cameras...

Well cameras can't give us images, AND they can't 'see' entities like the turrets can.
Mojo 13 ENE 2022 a las 5:03 
There were high hopes of something like this back in the day, but you have to remember this game is over 7 years old now, so yeah...
ShadedMJ 13 ENE 2022 a las 5:35 
That's why I asked you to define it better....

Adaptive Suspension : Sure you can manually use programmable block to change suspension parameters, but that isn't AI because its manual. I don't think that can be done by AI because there isn't a way to know wheel revolutions with a suspension. Like I said no values to check.

Motorcycles _might_ work but will be annoying to drive. The best for balance will probably be comparing the cockpit orientation vector vs planetary gravity vector to determine tilt, and changing a hinge or overriding gyros to correct which takes all control away from the driver.

'convolution' has many definitions, so don't know which one you are using.

Cameras in game cannot send images to displays. Cameras _CAN_ see entities though (camera raycast which I can describe). I have a couple of ships where I can pinpoint a moving target and plot out an intercept course by sending numbers to a remote control block.
Rays of Apollo 13 ENE 2022 a las 6:47 
The target for the perceptron could simply be suspension height, with output functions setting strength.
Inputs are current height, current strength, vessell mass, x, y and z distance from CoM, etc.
Hmm, the more I think about it, the less daunting it is. My activation function will have to be a simple one, though. I'll look at the math we have at our disposal.

Ohohoh, I'm excited. I can build like... one of those automobile test facilities.


A convolution neural network is super fast, yet beefy perceptron... basically. Its purpose is to say what it sees and where in its FOV. Looking at its math, it sort of does convolution in the way that you might understand it.

But, I'll look again at the camera's raycast abilities and see how I can use them.
Última edición por Rays of Apollo; 13 ENE 2022 a las 6:51
Rays of Apollo 13 ENE 2022 a las 6:49 
Publicado originalmente por Mojo:
There were high hopes of something like this back in the day, but you have to remember this game is over 7 years old now, so yeah...
Ah, so this hasn't been done? Finally, I can contribute something... maybe.
Mojo 13 ENE 2022 a las 8:51 
Publicado originalmente por Rays of Apollo:
Publicado originalmente por Mojo:
There were high hopes of something like this back in the day, but you have to remember this game is over 7 years old now, so yeah...
Ah, so this hasn't been done? Finally, I can contribute something... maybe.

Keen was working on it at one point, was going to use the sister company GoodAI (I think I got that right) programming, but that seems to have all been swept under the rug.
How would you define the criteria for success with the suspension? I can't think of any immediate feedback for the AI. Also, any knowledge stored would have to fit in the Save() method. I do not know what the maximum length of the string held there, but you're definitely going to have to serialize your data and deserialize if your AI is going to have any type of permanent memory.
Rays of Apollo 13 ENE 2022 a las 10:53 
Publicado originalmente por Ronin Planetary Industries (RPI):
How would you define the criteria for success with the suspension? I can't think of any immediate feedback for the AI. Also, any knowledge stored would have to fit in the Save() method. I do not know what the maximum length of the string held there, but you're definitely going to have to serialize your data and deserialize if your AI is going to have any type of permanent memory.


Publicado originalmente por Rays of Apollo:
The target for the perceptron could simply be suspension height, with output functions setting strength.
Inputs are current height, current strength, vessell mass, x, y and z distance from CoM, etc.

Ahhh... Ok, here's what I got. All you need to preserve a pereptron are its weight matrices and its target vector, a few bunches of numbers.

I think if I start small, I should be able to save it in the storage string. But, I think I'd rather use custom data, so I can look at it. And i should be able to save some character space using hex instead of decimal. I will have to convert "by hand" tho, since it'll be float values.

What do you think?


I'll start with as few things as possible, and slowly add more till it's 'good enough'. But, I bet I will need to consider of all things that hold storage.
Última edición por Rays of Apollo; 13 ENE 2022 a las 10:57
< >
Mostrando 1-9 de 9 comentarios
Por página: 1530 50

Publicado el: 12 ENE 2022 a las 10:06
Mensajes: 9