Difference between revisions of "AI"

From Elite Wiki
m (Oolite standard AI's: made links)
(Added note about age of page)
 
(21 intermediate revisions by 6 users not shown)
Line 1: Line 1:
All entities in Oolite have an AI, this is a plist file that defines a [[state machine]] that determines their behaviour. This behaviour can be simple for rocks tumbing (DumbAI.plist) to complex for escorting craft (escort.plist).
 
  +
This page was last edited in 2012. Oolite v.1.80 introduced new AI's which probably replaced what is here. See the '''notice''' on [[OXP howto AI]].
   
== Oolite standard AI's ==
 
  +
  +
All entities in Oolite have an AI, this is a plist file that defines a [[state machine]] that determines their behaviour. This behaviour can be simple for rocks tumbling (DumbAI.plist) to complex for escorting craft (escort.plist).
  +
  +
== Oolite standard AIs ==
 
* [[buoyAI]]
 
* [[buoyAI]]
 
//Sends warning messages when attacked, summons police.
 
//Sends warning messages when attacked, summons police.
 
* [[collectLootAI]]
 
* [[collectLootAI]]
//intercepts and scoops loot.
 
  +
//collects loot, jobAI.
  +
  +
//(Requires: scanForRandomLoot>TARGET_FOUND:setTargetToFoundTarget,setAITo:collectLootAI.plist)
 
* [[dockingAI]]
 
* [[dockingAI]]
//scripts the docking maneuvres.
+
//scripts the docking manoeuvres.
 
* [[dumbAI]]
 
* [[dumbAI]]
 
//just tumbles randomly
 
//just tumbles randomly
 
* [[enteringPirateAI]]
 
* [[enteringPirateAI]]
//pirate behaviour, navigation towards planet.
 
  +
//pirate, checks cargo switches to either [[pirateAI]] or [[enteringTraderAI]].
 
* [[enteringTraderAI]]
 
* [[enteringTraderAI]]
//trader behaviour, navigation towards planet.
+
//trader role behaviour, choosing route.
 
* [[escortAI]]
 
* [[escortAI]]
 
//escort behaviour.
 
//escort behaviour.
Line 20: Line 25:
 
* [[fallingShuttleAI]]
 
* [[fallingShuttleAI]]
 
//Shuttle station -> planet.
 
//Shuttle station -> planet.
  +
* [[fttAI]]
  +
//Introduced v1.65, NPC racing pilot AI.
 
* [[hardMissileAI]]
 
* [[hardMissileAI]]
 
//Identical to missileAI, minus detonation upon ECM.
 
//Identical to missileAI, minus detonation upon ECM.
Line 31: Line 38:
 
//Intercept and detonation.
 
//Intercept and detonation.
 
* [[nullAI]]
 
* [[nullAI]]
//Only uses performIdle-method, preferred AI for [[sub entity|subentities]].
+
//Only uses performIdle-method, preferred AI for [[Shipdata.plist#subentities|subentities]].
 
* [[pirateAI]]
 
* [[pirateAI]]
 
//Pirate behaviour.
 
//Pirate behaviour.
* [[planetPatrollAI]]
+
* [[planetPatrolAI]]
//Police patroll navigation around planet waypoints.
+
//Police patrol navigation around planet waypoints.
 
* [[policeInterceptAI]]
 
* [[policeInterceptAI]]
//Interception, attack, comms and legal bussines.
+
//Interception, attack, comms and legal business.
 
* [[risingShuttleAI]]
 
* [[risingShuttleAI]]
 
//Shuttle: planet -> station.
 
//Shuttle: planet -> station.
 
* [[rockHermitAI]]
 
* [[rockHermitAI]]
//Behaviour of rockhermit.
+
//Behaviour of rock hermit.
* [[route1PatrollAI]]
+
* [[route1patrolAI]]
 
//Police patroll navigation route 1.
 
//Police patroll navigation route 1.
* [[route1TraderAI]]
+
* [[route1traderAI]]
 
//Trader navigation route 1.
 
//Trader navigation route 1.
* [[route2PatrollAI]]
+
* [[route2patrolAI]]
//Police patroll navigation route 2 (sun).
+
//Police patrol navigation route 2 (sun).
* [[route2SunskimAI]]
+
* [[route2sunskimAI]]
//General navigation route2.
+
//General navigation route 2.
 
* [[scavengerAI]]
 
* [[scavengerAI]]
 
//Scavenger behaviour, looks for loot.
 
//Scavenger behaviour, looks for loot.
Line 59: Line 66:
 
//General navigation sun -> witchpoint.
 
//General navigation sun -> witchpoint.
 
* [[thargletAI]]
 
* [[thargletAI]]
//Checks for presence of motherThargoid, requests target from mother, or tumbles.
+
//Checks for presence of mother Thargoid, requests target from mother, or tumbles.
 
* [[thargoidAI]]
 
* [[thargoidAI]]
 
//Kills all humans.
 
//Kills all humans.
 
* [[timebombAI]]
 
* [[timebombAI]]
 
//Pauses 5 second, sets range, then detonates with cascade effect.
 
//Pauses 5 second, sets range, then detonates with cascade effect.
  +
  +
{{Stub}}
  +
  +
== AI back in 2008 ==
  +
  +
...Anyway...I wonder if something's wrong, because the pirates typically are so peaceful. It's very rare that a whole group of them shoots at me. It's far more common that a single ship attempts this, while the others (even if they switch to red on the HUD) just fly around without firing.
  +
:Furthermore, there's a bug in the AI, I'd say. If I pursue an enemy ship, that typically does a LOT of direction changes in order to get out of the lasers sights. However, if I am fast enough or hit the injectors just a little bit in order to get closer, then the fleeing ship stops its escape attempts and flies on a straight line, waiting to be shot down. Only if the distance grows again, the pursued ship will re-attempt to get out of my sights.
  +
:Another thing where the AI is very vulnerable: It's very easy to lure a pirate into hitting the injectors. One way is to very briefly hit my own injectors and wait, the other is a very brief burst with the military laser without causing the ship to permanently flee (fer de lance are prone to flee). Examples:
  +
:1) When the screen flashes with multiple yellow lights...I don't check whether they are pirates or not by targeting them, but briefly hit the injectors. True pirates will then use up ALL their fuel to fly around my ship. When they stop, they very soon deliver their cargo to me ;)
  +
:2) As I installed the game shortly ago, I had the constrictor mission today. I wonder why such a whimp counts like about 250 kills...I had common Asps give me a better fight. I hit the constrictor very briefly with the laser, and then the constrictor used up all fuel in the injectors in order to make rapid approaches towards me (without firing), then turn and come back for another approach. It did not fire. So when the fuel was used up, I just pursued it with my Boa Cruiser and shot it down. It didn't even try to evasives.
  +
:So...why better fighting help for the players when the computer enemy has so much trouble? ;)
  +
:Concerning the game: WOW! Very big THANK YOU to all those involved. This game does feel much much better than the original, which did cost me so much time of my youth, back then.
  +
:[http://aegidian.org/bb/viewtopic.php?p=63365#p63365 Screet] who likes to ram enemy ships to death with his cruiser
   
 
== Related Links ==
 
== Related Links ==
[[OXP_howto]]
+
[[OXP howto]]
[[OXP_howto_AI]]
+
[[OXP howto AI]]
 
[[Methods]]
 
[[Methods]]
[[Category:Oolite]]
 
  +
[[AI_methods]]
  +
  +
[[Category:Oolite scripting]]

Latest revision as of 05:13, 4 November 2021

This page was last edited in 2012. Oolite v.1.80 introduced new AI's which probably replaced what is here. See the notice on OXP howto AI.


All entities in Oolite have an AI, this is a plist file that defines a state machine that determines their behaviour. This behaviour can be simple for rocks tumbling (DumbAI.plist) to complex for escorting craft (escort.plist).

Oolite standard AIs

//Sends warning messages when attacked, summons police.

//collects loot, jobAI.

//(Requires: scanForRandomLoot>TARGET_FOUND:setTargetToFoundTarget,setAITo:collectLootAI.plist)

//scripts the docking manoeuvres.

//just tumbles randomly

//pirate, checks cargo switches to either pirateAI or enteringTraderAI.

//trader role behaviour, choosing route.

//escort behaviour.

//Trader behaviour, navigation towards witchpoint.

//Shuttle station -> planet.

//Introduced v1.65, NPC racing pilot AI.

//Identical to missileAI, minus detonation upon ECM.

//Landing on planet.

//General interception and combat.

//Looks for rocks, mines them.

//Intercept and detonation.

//Only uses performIdle-method, preferred AI for subentities.

//Pirate behaviour.

//Police patrol navigation around planet waypoints.

//Interception, attack, comms and legal business.

//Shuttle: planet -> station.

//Behaviour of rock hermit.

//Police patroll navigation route 1.

//Trader navigation route 1.

//Police patrol navigation route 2 (sun).

//General navigation route 2.

//Scavenger behaviour, looks for loot.

//Shuttle behaviour.

//Station behaviour.

//General navigation sun -> witchpoint.

//Checks for presence of mother Thargoid, requests target from mother, or tumbles.

//Kills all humans.

//Pauses 5 second, sets range, then detonates with cascade effect.


This article is a stub. You can help EliteWiki by expanding it.

AI back in 2008

...Anyway...I wonder if something's wrong, because the pirates typically are so peaceful. It's very rare that a whole group of them shoots at me. It's far more common that a single ship attempts this, while the others (even if they switch to red on the HUD) just fly around without firing.

Furthermore, there's a bug in the AI, I'd say. If I pursue an enemy ship, that typically does a LOT of direction changes in order to get out of the lasers sights. However, if I am fast enough or hit the injectors just a little bit in order to get closer, then the fleeing ship stops its escape attempts and flies on a straight line, waiting to be shot down. Only if the distance grows again, the pursued ship will re-attempt to get out of my sights.
Another thing where the AI is very vulnerable: It's very easy to lure a pirate into hitting the injectors. One way is to very briefly hit my own injectors and wait, the other is a very brief burst with the military laser without causing the ship to permanently flee (fer de lance are prone to flee). Examples:
1) When the screen flashes with multiple yellow lights...I don't check whether they are pirates or not by targeting them, but briefly hit the injectors. True pirates will then use up ALL their fuel to fly around my ship. When they stop, they very soon deliver their cargo to me ;)
2) As I installed the game shortly ago, I had the constrictor mission today. I wonder why such a whimp counts like about 250 kills...I had common Asps give me a better fight. I hit the constrictor very briefly with the laser, and then the constrictor used up all fuel in the injectors in order to make rapid approaches towards me (without firing), then turn and come back for another approach. It did not fire. So when the fuel was used up, I just pursued it with my Boa Cruiser and shot it down. It didn't even try to evasives.
So...why better fighting help for the players when the computer enemy has so much trouble? ;)
Concerning the game: WOW! Very big THANK YOU to all those involved. This game does feel much much better than the original, which did cost me so much time of my youth, back then.
Screet who likes to ram enemy ships to death with his cruiser

Related Links

OXP howto
OXP howto AI
Methods
AI_methods