Jump to content
Sign in to follow this  
Voyager

Publish an AI API?

Recommended Posts

Thought is to publish an API for the aircraft AI allowing interested entities to develop aircraft AI, similar to the way people make skins for the game, (just much harder). Given that the AI in the game is intended to be using the same flight controls as the human pilot, the AI pilots should not start out with an unfair advantage, though I'm sure god-teir AIs can be created. 

 

The licensing rules would need to be carefully worked out to balance allowing 777 to incorporate good ones into the game, while also ensuring good authors can benefit from making good AI's. 

 

Having a published API could open up new capabilities, such as running promotional competitions: best AI overall, best AI in under certain CPU utilization, most believable rookie AI, etc, with the winner(s) getting cash prizes for developing the best performing AIs, the game gets some eSport visibility, and a bunch of good AIs get incorporated into the data set. 

 

While AI are a key part of the game, I believe your main sale drivers are the level of fidelity of the aircraft, feel of flight and the worlds, so I don't believe opening up the pilot AI to outside entities and potential competitors will be a significant competitive disadvantage, and would open up a number of avenues for promoting and expanding the game for moderate risk.

 

Thoughts?

 

Harry Voyager

Share this post


Link to post
Share on other sites
14 minutes ago, Voyager said:

Thoughts?

 

Mainly negative.  

Share this post


Link to post
Share on other sites
Just now, DD_Arthur said:

 

Mainly negative.  

In what way? 

Share this post


Link to post
Share on other sites

Think about what you are proposing. 

 

The Devs are going to provide an 'API for AI'?  That means opening the core of the game to Tom, Dick and Harry?  I really can't see that happening, can you?  

 

Perhaps the time the Devs put in creating and releasing this API might be more fruitfully spent working on the AI themselves?

 

 

 

  • Upvote 1

Share this post


Link to post
Share on other sites
Posted (edited)

Just out of curiosity (since there is no chance whatsoever of this happening), what exactly would this 'AI API' exactly entail? What sort of data would it be expected to be output from the IL-2 GB application, and what sort of data would it be expected to send to the application?

Edited by AndyJWest

Share this post


Link to post
Share on other sites

That depends on the degree to which it is entangled with the rest of the game systems. Reportedly the AI is issuing control inputs to the aircraft, rather than directly altering the state of the aircraft. If that is the case, an API would be largely limited to the control inputs we ourself have access to. To be honedt, that's a necessary predicate for an API to work.

 

The thing is, the AI is not a profit center for this game; it is a tool. Good AI is necessary, but they can't just sell everyone an AI pack to fund dedicated AI improvement. Because it is a utility, rather than their core creative center, there are arguments to opening up to outside entities to make their own, so long as the good ones can be brought into the game. There is a game AI communities out there of people who wrote and grow programs to play games. I'm very curious to see what could come out of that. 

Share this post


Link to post
Share on other sites
Just now, Voyager said:

That depends on the degree to which it is entangled with the rest of the game systems. Reportedly the AI is issuing control inputs to the aircraft, rather than directly altering the state of the aircraft. If that is the case, an API would be largely limited to the control inputs we ourself have access to. To be honedt, that's a necessary predicate for an API to work.

 

The thing is, the AI is not a profit center for this game; it is a tool. Good AI is necessary, but they can't just sell everyone an AI pack to fund dedicated AI improvement. Because it is a utility, rather than their core creative center, there are arguments to opening up to outside entities to make their own, so long as the good ones can be brought into the game. There is a game AI communities out there of people who wrote and grow programs to play games. I'm very curious to see what could come out of that. 

 

You haven't answered the first part of my question. What sort of data from the core application would you expect the AI API make available to external software?

Share this post


Link to post
Share on other sites
4 minutes ago, AndyJWest said:

Just out of curiosity (since there is no chance whatsoever of this happening), what exactly would this 'AI API' exactly entail? What sort of data would it be expected to be output from the IL-2 GB application, and what sort of data would it be expected to send to the application?

 

I'm mostly thinking a program friendly input stream of data mirroring what's in the cockpit and an output stream that maps to the controls. They would likely also need the various difficulty settings,

 

How vision works would need to be worked out, though. 

Share this post


Link to post
Share on other sites

You think that the existing game AI works solely from data on what is visible from the cockpit?

Share this post


Link to post
Share on other sites
7 minutes ago, AndyJWest said:

You think that the existing game AI works solely from data on what is visible from the cockpit?

At this point, without access to the source code, we do not know. The assertions I have seen have been that the AI pilots the plane under the same physics that we do.

 

It is a valid point that I have never heard the devs assert that the AI makes decisions based on the same aircraft state data that is used to populate the player cockpit instrument data. I'm not sure that that necessitates a prohibition against providing the state data used to populate the cockpit, not am I certain it prohibits even providing a simplified state data, if that is what the current AI is implementing, though that would depend on what state data is being provided. 

 

Honestly I'd think the question of vision would be the sticky issue. 

Share this post


Link to post
Share on other sites

I can state with absolute certainty the the current AI needs more data than is available in cockpit. How else would it be able to fly between arbitrary waypoints? Or fly formation? It clearly 'knows' its 3D position and orientation, along with that of other aircraft. It presumably has access to map height data for terrain avoidance too.  I'd be very surprised if any of this data was based around what is 'visible'. 

 

Anyway, it ain't going to happen. Even ignoring the fact that any such API would reveal a great deal of information useful both to competitors and to anyone wishing to hack the game, the amount of effort necessary to implement this would be grossly disproportionate given just how few people would have the technological knowledge necessary to put it to its intended use. The developers have much better things to do with their time than enabling a few customers to try to do their job for them.

 

Share this post


Link to post
Share on other sites
Posted (edited)

So if we limit it to Icons Only settings, I believe we do get 3D location information on any aircraft with range, and 2D coordinates of most other objects from the minimap. That supports the positional data. Vector data could be provided based on level of detail distances. 

 

I'm not sure there's a real problem with making the map geometry accessable; the maps are covered under copyright rather than encryption.

 

While that doesn't yet address full realistic servers, one does not need to include everything at day one. 

 

Addendum: I'd honestly see this as something that one would seed out to grad students doing AI research. Extensions of the Google's AlphaZero have basically crushed all abstract games, but it's still an open question of how to handle more open ended tasks, and how to do it with less than a super cluster driving things in the background. 

Edited by Voyager

Share this post


Link to post
Share on other sites

You seem to be confusing two usages of the term 'AI'. The so-called 'AI' used in most video games is entirely pre-programmed, and has nothing to do with machine learning. 

Share this post


Link to post
Share on other sites

A proper interface is agnostic to the implementation of the external system.

 

As long as the 'AI' surrogate supplies the correct inputs and does not depend on outputs not available in the interface, the 'AI' can be a hyper kinetic rabbit thingy for all we care.

 

That's part of the beauty of a good interface; it could support anything from a conventional hard coded logic box to some insane self learning cluster.

 

I'll leave off now. It's just a very pernicious error is systems engineering. Once you've defined an interface it cannot care or know what is on the other side of it beyond whether it is compliant with said interface. Creating additional conditions on the other side leads to inappropriate intimacy between the system and its exterior. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×