Decoupling the AI traffic system: Difference between revisions

Jump to navigation Jump to search
m
→‎Status 01/2013: http://sourceforge.net/p/flightgear/mailman/message/34600516/
m (→‎Status 01/2013: http://sourceforge.net/p/flightgear/mailman/message/34600516/)
Line 4: Line 4:


[[File:Dedicated-aircraft-subsystem-group-for-fgcanvas.png|600px|thumb|checking how difficult it would be to put all aircraft related subsystems (fdm, replay, history, controls etc) into a single SGSubsystemGroup named "main-aircraft" to easily make the whole shebang optional using a single --prop for "FGCanvas" use, but also to check if it's feasible to prepare things for later reuse by the AI traffic system (for AI traffic that uses actual FDMs, APs and RMs - but also so that things are affected by the environment) , and it's actually working - even though reset/re-init is obviously hard-coded currently, which I am breaking by shuffling around subsystems, but as long as  each SGSubsystemGroup implements the full SGSubsystem interface (postinit, reinit, shutdown etc), this could help clean up fg_init.cxx quite considerably [http://forum.flightgear.org/viewtopic.php?f=71&t=23499]]]
[[File:Dedicated-aircraft-subsystem-group-for-fgcanvas.png|600px|thumb|checking how difficult it would be to put all aircraft related subsystems (fdm, replay, history, controls etc) into a single SGSubsystemGroup named "main-aircraft" to easily make the whole shebang optional using a single --prop for "FGCanvas" use, but also to check if it's feasible to prepare things for later reuse by the AI traffic system (for AI traffic that uses actual FDMs, APs and RMs - but also so that things are affected by the environment) , and it's actually working - even though reset/re-init is obviously hard-coded currently, which I am breaking by shuffling around subsystems, but as long as  each SGSubsystemGroup implements the full SGSubsystem interface (postinit, reinit, shutdown etc), this could help clean up fg_init.cxx quite considerably [http://forum.flightgear.org/viewtopic.php?f=71&t=23499]]]
= Status 01/2013 =
= Status / News =


This article should be considered outdated, while the underlying issues still persist, this is currently being worked on via the [[HLA]] effort. In particular, there's a prototype named "fgai" that demonstrates how to use HLA in order to decouple an AI component from the FG main loop, please see: [http://www.mail-archive.com/search?q=fgai&l=flightgear-devel%40lists.sourceforge.net] [https://gitorious.org/fg/flightgear/commit/d79b2385b4f4a64a2460c32e6123ea399bfa83d6].
This article should be considered outdated, while the underlying issues still persist, this is currently being worked on via the [[HLA]] effort. In particular, there's a prototype named "fgai" that demonstrates how to use HLA in order to decouple an AI component from the FG main loop, please see: [http://www.mail-archive.com/search?q=fgai&l=flightgear-devel%40lists.sourceforge.net] [https://gitorious.org/fg/flightgear/commit/d79b2385b4f4a64a2460c32e6123ea399bfa83d6].


The long term plan is to move the current AI system into its own HLA component, so that it can be run separately from the fgfs main thread and to ensure that AI traffic can be properly synchronized among multiple clients (multiplayer) or multiple fgfs instances that are configured in a master/slave fashion (think FSWeekend/LinuxTag).
The long term plan is to move the current AI system into its own HLA component, so that it can be run separately from the fgfs main thread and to ensure that AI traffic can be properly synchronized among multiple clients (multiplayer) or multiple fgfs instances that are configured in a master/slave fashion (think FSWeekend/LinuxTag).
{{FGCquote|1= I've started looking at the HLA integration for FG, after some very useful discussion with Mathias Froehlich. This is just a note to say what I'm looking at and how I'm thinking of developing it. Any comments/advice is welcome - this is a new area for me. As background, we currently have a partial HLA implementation in SimGear which has a dependency on OpenRTI. As the name suggests, OpenRTI is an open-source RTI, which is developed by Mathias himself.|2= {{cite web  | url    = http://sourceforge.net/p/flightgear/mailman/message/34600516/  | title  = <nowiki>[Flightgear-devel] HLA developments</nowiki>  | author = <nowiki>Stuart Buchanan</nowiki>  | date  = Nov 6th, 2015  }}}}
{{FGCquote|1= As a first use-case I expect to start looking at a very basic AI integration so other aircraft in the federation are displayed within FG. That doesn't really leverage the power of HLA, but should at least allow me to get to grips with the problems and architecture before moving onto more ambitious plans, including the Holy Grail of separating the viewer from the FDM.|2= {{cite web  | url    = http://sourceforge.net/p/flightgear/mailman/message/34600516/  | title  = <nowiki>[Flightgear-devel] HLA developments</nowiki>  | author = <nowiki>Stuart Buchanan</nowiki>  | date  = Nov 6th, 2015  }}}}


= Goals =
= Goals =

Navigation menu