Expose an external control API

Giuseppe Cuccu shared this feedback 4 years ago
Submitted

Hi all, Machine Learning researcher and Space Engineer addict here.

Teaching a neural network to play a smooth game of Lunar Lander is old school cool, sure, but will it fly our monstrosity of a floating lunar base? Let's make Space Engineers the next standard for benchmarking complex control in artificial intelligence!


# What we need:

- An API accepting numeric control and returning sensor readings (and possibly images)

- Time acceleration (tiny words are ok, but we need to run a lot of game-time)

- Python bindings (because everybody uses that; easy to wrap functions and objects from C/C++)


# What we offer:

- Sophisticate AI. In-game access to any class of behavior you can think of: prospecting, mining, transportation, maintenance, guard, assault, even clean-up in the aftermath. Complex, precise and reliable. Drone races? Hard with explicit scripting, but once you open a Python API you got all of Deep Learning coming through (and personally, Neuroevolution :P ).

- Procedurally generated content. We are already pretty good at that, Julian for example is currently holding a competition for generating Minecraft settlements.

- Contribute to human civilization. Seriously, if we want to conquer space we might as well start learning how in simulation, right?

- Automated testing. Agents learn to play in unpredictable ways. A program searching for the minimal amount of actions to summon clang for example would generate smaller logs, and provide alpha-testing in hours.


What do you think, can we play? :)

Replies (1)

photo
1

I would like to jump in here and add that the API requested has other uses and could potentially be expanded on way beyond this use case.


For example, user geneticus was working on this cracker looking mod here specifically to enable this sort of engagement. There's a few ways to enable this, and a generic API or possibly a DLL that can be called externally (excuse my lack of architectual prowess here), could be super cool and enable a plethora of use cases which haven't been thought of yet.


I'd love to see this get up - even if it's a custom workshop item, we just need KSH to enable the ability to be called externally in the vanilla codebase (whcih isn't there now, hence the custom codebase required above). Modders will build the rest.

Leave a Comment
 
Attach a file