Talk:An integrated AI traffic system

From FlightGear wiki
Jump to navigation Jump to search

It is getting more and more obvious that these three different subsystems (AI Traffic, AI ATC, Multiplayer) could benefit seriously from an orchestrated effort to properly integrate these systems to ensure sufficient interoperability

Benefits

  • improve interoperability and increase code reuse/sharing and standardization among subsystems: FDM, autopilot, route manager (i.e. share standardized flight plan format across AI and route manager systems)
  • synchronize AI air traffic (and other objects) across multiple clients (i.e. multiplayer)
  • decouple, allow AI traffic computations to be run inside a different thread or process to improve FG performance
  • standalone "injector" that may connect to fgms to feed in AI traffic instances remotely
  • option to use conventional FDM instances for controlling AI traffic: respond to weather, turbulence ...
  • conventional aircraft models (LOD conversion at runtime)
  • decouple AI logics from c++ source code, Nasal scripts
    • MVC pattern, powerful
    • allow AI aircraft (and possibly even AI ATC) to be scripted -> ai-pilot.nas (URL)
    • which allows end user to create, modify and update or maintain AI logics without requiring recompilation of the fgfs binary
  • increase code reuse: leverage existing code (fdm, autopilot, route manager)
  • AI ATC for MP + AI traffic

Related

  • "Maybe a more productive way to argue about architecture would be to concentrate on the "toolbox" functionality you *both* are going to need. :) Clearly you both want the ability to tell "the system" to load up a 747-400 model, position it at this location/orientation/velocity, and update as needed. You both want the ability to enumerate the active "AI" aircraft in the system, set up an interpolative path for the aircraft, etc..." [1]
  • "A massively multiplayer server will most likely prefer to have a global set of flight plans rather than auto-generating aircraft "near" the (potentially very large) player set. The server's approach to the same problem (too many AI aircraft for the client to handle) is going to revolve around deciding which of the thousands of AI aircraft to update on which clients at what time. Likewise, it probably won't want auto-generated aircraft "polluting" the skies around players."[2]
  • the AI system is no longer being used explicitly for modeling virtual traffic, but also various other scenery elements (i.e. clouds)

Scripting Flights

FDM/AP driven AI Traffic

AI ATC + AI Traffic


Server side scripted AI

Multiple FDM instances for AI traffic use

AI Traffic: GA vs. commercial

Multi FDM / Multi-Instance

Multi FDM for use in Multiplayer


Why FDM driven AI is the right approach