AI:Links: Difference between revisions

From Spring
Jump to navigationJump to search
No edit summary
Redstar (talk | contribs)
A few modifications
Line 1: Line 1:
'''AI''', or '''Artificial Intelligence''', is what the Computer Opponents in games are called. Developing a good AI is a major undertaking, and requires quite a bit of know how. As the SY's have more important things to do than develop an AI, they have left this job up to the community. The community has risen to the challenge remarkably well, releasing quite a few AI's, most of which are in working condition.
Skirmish AI's, are what the Computer Opponents in games are called. Developing a good Skirmish AI is a major undertaking, and requires quite a bit of know how. As the SY's have more important things to do than develop an AI, they have left this job up to the community.


There are currently a few AI's in development. The more notable of these include JCAI, which is shipped with Spring, and NTAI, which is not stable enough for release yet.
The community has risen to the challenge remarkably well, releasing quite a few AI's.
 
There are currently 4 major skirmish AI's, AAI (by submarine), NTai(by AF), OTAI(by veylon), and KAI(by krogothe). KAI is not currently available to the public. There is also talk of Epic AI which will be the future successor of NTai and promises along with KAI to dwarf the existing AI's.
 
Some people may have JCAI, which was bundled with spring but is out of date. AAI 0.63 and NTai XE4 are bundled with spring atm....


== Current AI's ==
== Current AI's ==
=== [[AI:AAI|AAI]] ===
=== [[AI:AAI|AAI]] ===
[[AI:AAI|AAI]] is an AI currently being developed by [[User:Submarine|Submarine]]. AAI 0.60 is stable and works with most popular mods. It also supports water and air units.
[[AI:AAI|AAI]] is an AI currently being developed by [[User:Submarine|Submarine]]. AAI 0.63 is 99% stable and works with most popular mods. It also supports water and air units.


=== [[AI:JCAI|JCAI]] ===
=== [[AI:JCAI|JCAI]] ===
[[AI:JCAI|JCAI]] is an AI that was being developed by [[User:Zaphod|Zaphod]]. As Zaphod has now taken over the job as head programmer, development on JCAI has come to a halt. Despite this, it is still good, and is currently being shipped with Spring, and is a good starting point for new players to train against. It is very stable.
[[AI:JCAI|JCAI]] is an AI that was being developed by [[User:Zaphod|Zaphod]]. As Zaphod has now taken over the job as head programmer, development on JCAI has come to a halt.


=== [[AI:KAI|KAI]] ===
=== [[AI:KAI|KAI]] ===
[[AI:KAI|KAI]]is an AI currently being developed by [[User:krogothe|krogothe]]. A very early version of the yet incomplete AI has been released, but is not yet up to a playable standard. It has several limitations such as only being able to play as XTA core and using only vehicles but still manages to produce a decent challenge in groups of 3 or more due to its relentless attacking and decent economy. For best results play in a flat, small map made of metal or with many mex spots.  
[[AI:KAI|KAI]]is an AI currently being developed by [[User:krogothe|krogothe]]. Not publicly available although krogothe has hinted at exotic ideas an algorithms, and promsies to be a powerful Skirmish AI.


=== [[AI:NTAI|NTAI]] ===
=== [[AI:NTAI|NTAI]] ===
[[AI:NTAI|NTAI]] is an AI currently being developed by [http://taspring.clan-sy.com/phpbb/profile.php?mode=viewprofile&u=73 Alantai Firestar]. It performs better than [[User:Zaphod|Zaphod's]] [[AI:JCAI|JCAI]], but is not quite as stable. Also being shipped with current Spring releases, it is a good alternative for people to practice against. However it is very cpu-power consuming.
[[AI:NTAI|NTAI]] is an AI currently being developed by [http://taspring.clan-sy.com/phpbb/profile.php?mode=viewprofile&u=73 AF]. Touting a huge featureset, it claims to be the best Skirmish AI available, taking aspects of the other AI's, and packaging itself with an array of groupAI's/HelperAI's and othertools.


=== OTAI ===
=== OTAI ===
OTAI is an AI being developed by [[User:Veylon|Veylon]]. It builds randomly using OTA-style profiles. It is relativly stable and works with some of the more important mods.
OTAI is an AI being developed by [[User:Veylon|Veylon]]. Originally intended to emulate the Skirmish AI in OTA, it's grown from there as veylon has attempted to improve upon what the original cavedog team made.


=== ZcAIn ===
=== ZcAIn ===
[[AI:ZcAIn|ZcAIn]] is an AI currently being developed by [[User:Cain|Cain]]. It is probably the least developed of the lot, but is coming along nicley. It is a new addition to the AI scene.
[[AI:ZcAIn|ZcAIn]] is an AI currently being developed by [[User:Cain|Cain]]. It isnt being actively developed as far as anyone is aware


=== [[Random enemies]] ===
=== [[Random enemies]] ===
Line 40: Line 44:


The [[Central Build AI]] organizes the build tasks given to construction units so that units build whatever tasks are nearest to them, or guards other construction units to help them if there aren't any tasks it can build on its own.
The [[Central Build AI]] organizes the build tasks given to construction units so that units build whatever tasks are nearest to them, or guards other construction units to help them if there aren't any tasks it can build on its own.
== Documentation ==


==== greenai ====
==== greenai ====


The [[greenai]] is currently for Nanoblobs.  It produces units exponentially using the groupAI interface.
The [[greenai]] page has basic documentation  for the Global AI interface.
 
== Documentation ==


=== Global AI Interface ===
=== Global AI Interface ===
Line 51: Line 55:


=== Metal Handler Class ===
=== Metal Handler Class ===
Cain has developed and released a Metal Handler Class that succesfully finds metal spots on maps, which can be a major stumbling block for many AI developers. Information about it can be found in [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2408 this thread]
Cain has developed and released a Metal Handler Class that succesfully finds metal spots on maps, which can be a major stumbling block for many AI developers. Information about it can be found in [http://taspring.clan-sy.com/phpbb/viewtopic.php?t=2408 this thread].
 
Since then a new algorithm has been written by krogothe that greatly improves upon this,a nd is used by all 4 major skirmish AI's


===[[AI:MAID]]===
===[[AI:MAID]]===

Revision as of 13:02, 9 May 2006

Skirmish AI's, are what the Computer Opponents in games are called. Developing a good Skirmish AI is a major undertaking, and requires quite a bit of know how. As the SY's have more important things to do than develop an AI, they have left this job up to the community.

The community has risen to the challenge remarkably well, releasing quite a few AI's.

There are currently 4 major skirmish AI's, AAI (by submarine), NTai(by AF), OTAI(by veylon), and KAI(by krogothe). KAI is not currently available to the public. There is also talk of Epic AI which will be the future successor of NTai and promises along with KAI to dwarf the existing AI's.

Some people may have JCAI, which was bundled with spring but is out of date. AAI 0.63 and NTai XE4 are bundled with spring atm....

Current AI's

AAI

AAI is an AI currently being developed by Submarine. AAI 0.63 is 99% stable and works with most popular mods. It also supports water and air units.

JCAI

JCAI is an AI that was being developed by Zaphod. As Zaphod has now taken over the job as head programmer, development on JCAI has come to a halt.

KAI

KAIis an AI currently being developed by krogothe. Not publicly available although krogothe has hinted at exotic ideas an algorithms, and promsies to be a powerful Skirmish AI.

NTAI

NTAI is an AI currently being developed by AF. Touting a huge featureset, it claims to be the best Skirmish AI available, taking aspects of the other AI's, and packaging itself with an array of groupAI's/HelperAI's and othertools.

OTAI

OTAI is an AI being developed by Veylon. Originally intended to emulate the Skirmish AI in OTA, it's grown from there as veylon has attempted to improve upon what the original cavedog team made.

ZcAIn

ZcAIn is an AI currently being developed by Cain. It isnt being actively developed as far as anyone is aware

Random enemies

There is a also the Random enemies script, which can be used for some basic testing. It is not an AI as such, but a spawn script that can be either used to test an AI, or to train against.

Group AIs

These AIs are designed for use by a human player, to be assigned to a group of units and give that group orders to reduce micromanaging.

Metal Maker AI

The Metal Maker AI turns member metal makers off when energy reserves get low and turns them back on again when energy reserves are nearly full.

Simple Formation AI

Simple Formation.

Central Build AI

The Central Build AI organizes the build tasks given to construction units so that units build whatever tasks are nearest to them, or guards other construction units to help them if there aren't any tasks it can build on its own.

Documentation

greenai

The greenai page has basic documentation for the Global AI interface.

Global AI Interface

Jouninkomiko has a topic on the Global AI Interface running here.

Metal Handler Class

Cain has developed and released a Metal Handler Class that succesfully finds metal spots on maps, which can be a major stumbling block for many AI developers. Information about it can be found in this thread.

Since then a new algorithm has been written by krogothe that greatly improves upon this,a nd is used by all 4 major skirmish AI's

AI:MAID

Theory

Useful existing documentation on the Spring unit AI can be found in K-man's Spring AI documentation, however this is not related to the Global AI.

Alantai Firestar has a lot of theory on the topic on his site, including details on his NTAI project.

Triaxx had a topic about the '5 Matrix AI 1,2,3', and also some information at Alantai Firestar's site.

Relevant research

  • D. Fetter (project report), "Real-Time Strategy Game Decision Making with Support Vector Machines": A project which tried using SVMs to learn unit production decisions in Warcraft III, based on replays of top players.
  • R. Laursen & D. Nielsen 2005, "Investigating small scale combat situations in real time strategy computer games": 164-page Master's thesis on using game trees to determine near-optimal unit behaviors in combat scenarios (unit placement and target selection), which was implemented in the Stratagus warcraft clone. This also gives an overview of the AI techniques used by many popular games.
  • N. Imrei, "Reinforcement Learning in Real-Time Strategy Games" (>final presentation link, thesis available by email): Honours project used reinforcement learning to develop both overall strategies and agent behaviors in RTS games
  • Michael Buro's lab: Much of his lab's research is focused on "real-time planning and learning AI with applications to RTS games." They've actually created an open-source RTS called ORTS, in order to experiment with various AI techniques. With any luck, they might even be persuaded to switch their focus to TA Spring, or perhaps try implementing some of their algorithms. Also, it might be worthwhile to use elements of ORTS in TA Spring.
  • L. MacDonald 2005, a final-project report on Moving Target Search (MTS). Basically, MTS seems to be an extension of something called Learning Real-Time A* (LRTA*).
  • N. Mehta et al 2005, "Transfer in Variable-Reward Hierarchical Reinforcement Learning": Develops reinforcement-learning techniques and tests them in a simple RTS

See also