AI Systems: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 4: Line 4:
[[FlightGear]] has a number of more or less independently operating systems for simulating semi-intelligent interaction with the environment, so called '''AI Systems'''. Because there often times exists some confusion regarding to which system does what, one should take notice of the differences between them: The major distinction is that between an older ATC/AI system, and a newer AIModels system. The AIModels system can, in turn, be controlled in at least three different ways; directly, using a script, through the multiplayer system, and through a subsystem known as the traffic manager.  
[[FlightGear]] has a number of more or less independently operating systems for simulating semi-intelligent interaction with the environment, so called '''AI Systems'''. Because there often times exists some confusion regarding to which system does what, one should take notice of the differences between them: The major distinction is that between an older ATC/AI system, and a newer AIModels system. The AIModels system can, in turn, be controlled in at least three different ways; directly, using a script, through the multiplayer system, and through a subsystem known as the traffic manager.  


== User Information ==
=== Enabling and Disabling the AI Traffic System ===
To enable/disable the AI traffic system:
To enable/disable the AI traffic system:
* FlightGear 2.2.0 and above
* FlightGear 2.2.0 and above
Line 10: Line 13:
** <code>--prop:/sim/ai-traffic/enabled=[1|0]</code>
** <code>--prop:/sim/ai-traffic/enabled=[1|0]</code>
To enable/disable the AIModels system, use <code>--prop:/sim/ai/enabled=[1|0]</code>
To enable/disable the AIModels system, use <code>--prop:/sim/ai/enabled=[1|0]</code>
== AI Models ==
Starting with FlightGear version 0.9.4 you can place AI objects in the "FlightGear world". They are defined in a "scenario" XML file. The scenario file must be in the "data/AI" directory. There are several different types of AI objects.
NB: there is a similar description in [[$FG_ROOT]]/Docs/AI_doc.html.
=== Types of AI Objects ===
* aircraft
* wingman
* tanker
* carrier
* ship
* escort
* groundvehicle
* (thunder)storm
* thermal
* ballistic
* static
AI objects have some things in common:
* They have a location in the "FlightGear world"
* They can have an associated exterior 3D model
* They can move according to an internal [[Flight Dynamics Model|FDM]] (flight dynamics model).
Details regarding each object (e.g. available properties) can be found in the source files in {{repo link | site = sf
| repo = flightgear | path = src/AIModel/ | pre  = $FLIGHTGEAR_SRC}}. e.g. <code>AIStorm.hxx</code> . Common properties are in <code>AIBase</code>. Look for section <code>private:</code> in the file to find the properties and related comments. E.g. to get additional information like the units to be used:
<syntaxhighlight lang="cpp">double diameter; // diameter of turbulence zone, in nm</syntaxhighlight>
Even though you might not be familiar with programming, the information is readable (and more up to date than the information e.g. on this page).


=== Selecting Scenarios ===
=== Selecting Scenarios ===
Line 67: Line 42:
==== Load Scenarios at runtime ====
==== Load Scenarios at runtime ====
In newer FG versions it is also possible to load/unload scenarios at runtime with the menu entry "AI/Traffic and Scenario Settings".
In newer FG versions it is also possible to load/unload scenarios at runtime with the menu entry "AI/Traffic and Scenario Settings".
==Developer Information==
=== AI Models ===
Starting with FlightGear version 0.9.4 you can place AI objects in the "FlightGear world". They are defined in a "scenario" XML file. The scenario file must be in the "data/AI" directory. There are several different types of AI objects.
NB: there is a similar description in [[$FG_ROOT]]/Docs/AI_doc.html.
==== Types of AI Objects ====
* aircraft
* wingman
* tanker
* carrier
* ship
* escort
* groundvehicle
* (thunder)storm
* thermal
* ballistic
* static
AI objects have some things in common:
* They have a location in the "FlightGear world"
* They can have an associated exterior 3D model
* They can move according to an internal [[Flight Dynamics Model|FDM]] (flight dynamics model).
Details regarding each object (e.g. available properties) can be found in the source files in {{repo link | site = sf
| repo = flightgear | path = src/AIModel/ | pre  = $FLIGHTGEAR_SRC}}. e.g. <code>AIStorm.hxx</code> . Common properties are in <code>AIBase</code>. Look for section <code>private:</code> in the file to find the properties and related comments. E.g. to get additional information like the units to be used:
<syntaxhighlight lang="cpp">double diameter; // diameter of turbulence zone, in nm</syntaxhighlight>
Even though you might not be familiar with programming, the information is readable (and more up to date than the information e.g. on this page).


=== Scenario File definition ===
=== Scenario File definition ===
Line 335: Line 340:
</syntaxhighlight>
</syntaxhighlight>


Here endeth Interpolation tables 101
:-Dene


=== Wingman ===
=== Wingman ===
648

edits

Navigation menu