AI:RAI: Difference between revisions

From Spring
Jump to navigationJump to search
Reth (talk | contribs)
Abma (talk | contribs)
No edit summary
 
(23 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{AI|RAI|Reth|v0.50 (spring v0.74b3)|Supports All Known Mods|Under Active Development|-}}
{{AI|RAI|Reth|v0.601|Supports Most Known Mods|Under Active Development|GNU GPL|C|LegacyCpp}}


The [https://github.com/spring/spring/tree/develop/AI/Skirmish/RAI Source code] of RAI is integrated into spring.
=== Forum thread ===
=== Forum thread ===
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=7924 "RAI v0.551"]
 
*[http://taspring.clan-sy.com/phpbb/viewtopic.php?t=7924 "RAI v0.601"]
 
=== Older Version Downloads ===
*[http://www.fileuniverse.com/?p=show&a=it&id=5296 Windows]
*[http://spring.jobjol.nl/show_file.php?id=949 Linux 64bit]
*[http://www.fileuniverse.com/?p=show&a=it&id=5398 Source code]


Mods with incomplete support:
Mods with incomplete support:
*Blox (transporters unsupported) - mod is no longer stable
*BloX (transporters unsupported: can't figure out that guns are attached to the transporters to make a tank)
*1944 & Epic Legions (requires a unique method of destroying parts of the enemy base)
*1944 & Epic Legions (requires a unique method of destroying parts of the enemy base)
*Fibre - units are controlled differently than RAI expected, AI-Events do not occur in the way that is expected
* more generally, any mod that does not have controllable mobile attack units
=== How to compile on Linux ===
Recent versions of spring (0.77+) can compile it without any hassle, using both scons and cmake. A simple ''scons'' or ''make'' (if using cmake) will do.


Known Crash:
For older versions of spring (0.76):
*None
* download spring sources [http://spring.clan-sy.com/dl/spring_0.76b1_src.tar.bz2 here], and extract it somewhere
* download RAI sources [http://www.fileuniverse.com/spring/ai/RAI%20v0.553%20source.rar here], and save it into the ''{spring source}/AI/Global/'' folder
* install the glew development package - on Ubuntu it's ''sudo apt-get install libglew1.5-dev''
* open the project in CodeBlocks - there's a project file for CB provided in the RAI/CodeBlocks directory
* then edit the sources a bit to have them be more cross-platform friendly - atm they use a windows function to create folders.
** in v0.553: RAI/Global.cpp, edit line 4 to say ''#include <sys/stat.h>'' instead
** for v0.600: this is RAI/RAI.cpp, line 10
** in v0.553: RAI/Global.cpp, edit lines 157-158 to say:
*** mkdir( "AI/RAI", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH );
*** mkdir( "AI/RAI/Metal", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH );
** for v0.600: this is RAI/RAI.cpp, lines 1086-1089
* at this point, it'll compile fine, but give some warnings about int floats. The problem is that it doesn't generate a .so somehow though, so some voodoo magic needs to be done
** Go to project properties, and under Build Targets, enable 'auto generate extension'.
* now use clean the project, and recompile the whole thing. You ''should'' get a RAI.so in the CodeBlocks directory.
* to test, put the .so into ''~/.spring/AI/Bot-libs/'', and since SpringLobby will see it right away, try a single player game.


=== Version History ===
=== Version History ===
[http://spring.unknown-files.net/file/2706/RAI_v0.50_dll_spring_v0.74b3/ v0.50 (spring v0.74b3)]
v0.601:
*basic hub support & improved build list detection (universal mod support)
*units will now use capture/resurrect/high trajectory and are a little more willing to use reclaim
*builders will now upgrade extractors/geos
*expands a little more intelligently (expands around enemy borders)
*a bit quicker expansion, slowly seizes (metal/geo spots) even if there is no demand for resources
*amphibious water depth is more accurately considered ( all units are now often considered amphibious on maps with a very low water depth )
*several other minor changes
*Fixes
*Fixes
v0.600:
*terrain-map improvements (nearly complete universal map support)
*map-areas generated for each mobile unit-type defined by slope,elevation,hovering,floating capabilities
*units will, virtually, never attempt to make an impossible move (based on the starting terrain)
*factories will no longer be build in sectors/areas that give their units access to less than 20% of the map
*acid/lava and other harmful water maps are now properly detected and will not be built in or moved across (excluding units with hover/flying capabilities)
*KAI's metal-map class has been removed & replaced
*resource linking has been improved (expansion routes)
*the power-manager class has been improved
*early starting unit are monitored more closely to ensure that a starting base is build when possible
v0.551-v0.553 (spring v0.75b2-v0.76b1)
*Fixes
v0.55 (spring v0.75b2)
*Assault units now use basic attack groups
*Remembering enemy positions outside of LOS/Radar
*Restrict hovercraft on certain maps & mods
*Player given orders are now followed until completion
*Unit support added: nano turrets
*Basic building placement added: defenses
*Minor Changes/Fixes
v0.50 (spring v0.74b3)
*Basic hub support & improved build list detection
*Units will now use capture/resurrect/high trajectory and are more willing to reclaim
*Builders will now upgrade extractors/geos
*Expands a little more intelligently
*A bit quicker expansion, slowly seizing available (metal/geo spots)
*Minor Changes/Fixes
v0.40 (spring v0.74b2-v0.74b3)
v0.40 (spring v0.74b2-v0.74b3)
*Several Minor Changes/Fixes
*Minor Changes/Fixes
v0.355 (spring v0.74b1)
v0.355 (spring v0.74b1)
*Fixes
*Fixes
Line 28: Line 74:
*Improvements to Building Decisions.
*Improvements to Building Decisions.
*Support for Water Units/Maps.
*Support for Water Units/Maps.
*Other Minor Improvements
*Minor Changes/Fixes
*Fixes
v0.301 (spring v0.73b1)
*Fixes
v0.300 (spring v0.73b1)
v0.300 (spring v0.73b1)
*First Release
*First Release


''' [[AIs|<- Back to AI page]]'''
''' [[AI:Skirmish:List|<- Back to AI page]]'''
[[Category:AI]]
 
[[Category: AI]]

Latest revision as of 17:18, 19 November 2014

RAI
Developer
Reth
Version
v0.601
Mod Support
Supports Most Known Mods
Status
Under Active Development
License
GNU GPL
Interface
C
Wrapper
LegacyCpp
<- Back to List of AIs

The Source code of RAI is integrated into spring.

Forum thread

Older Version Downloads

Mods with incomplete support:

  • BloX (transporters unsupported: can't figure out that guns are attached to the transporters to make a tank)
  • 1944 & Epic Legions (requires a unique method of destroying parts of the enemy base)
  • Fibre - units are controlled differently than RAI expected, AI-Events do not occur in the way that is expected
  • more generally, any mod that does not have controllable mobile attack units

How to compile on Linux

Recent versions of spring (0.77+) can compile it without any hassle, using both scons and cmake. A simple scons or make (if using cmake) will do.

For older versions of spring (0.76):

  • download spring sources here, and extract it somewhere
  • download RAI sources here, and save it into the {spring source}/AI/Global/ folder
  • install the glew development package - on Ubuntu it's sudo apt-get install libglew1.5-dev
  • open the project in CodeBlocks - there's a project file for CB provided in the RAI/CodeBlocks directory
  • then edit the sources a bit to have them be more cross-platform friendly - atm they use a windows function to create folders.
    • in v0.553: RAI/Global.cpp, edit line 4 to say #include <sys/stat.h> instead
    • for v0.600: this is RAI/RAI.cpp, line 10
    • in v0.553: RAI/Global.cpp, edit lines 157-158 to say:
      • mkdir( "AI/RAI", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH );
      • mkdir( "AI/RAI/Metal", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH );
    • for v0.600: this is RAI/RAI.cpp, lines 1086-1089
  • at this point, it'll compile fine, but give some warnings about int floats. The problem is that it doesn't generate a .so somehow though, so some voodoo magic needs to be done
    • Go to project properties, and under Build Targets, enable 'auto generate extension'.
  • now use clean the project, and recompile the whole thing. You should get a RAI.so in the CodeBlocks directory.
  • to test, put the .so into ~/.spring/AI/Bot-libs/, and since SpringLobby will see it right away, try a single player game.

Version History

v0.601:

  • Fixes

v0.600:

  • terrain-map improvements (nearly complete universal map support)
  • map-areas generated for each mobile unit-type defined by slope,elevation,hovering,floating capabilities
  • units will, virtually, never attempt to make an impossible move (based on the starting terrain)
  • factories will no longer be build in sectors/areas that give their units access to less than 20% of the map
  • acid/lava and other harmful water maps are now properly detected and will not be built in or moved across (excluding units with hover/flying capabilities)
  • KAI's metal-map class has been removed & replaced
  • resource linking has been improved (expansion routes)
  • the power-manager class has been improved
  • early starting unit are monitored more closely to ensure that a starting base is build when possible

v0.551-v0.553 (spring v0.75b2-v0.76b1)

  • Fixes

v0.55 (spring v0.75b2)

  • Assault units now use basic attack groups
  • Remembering enemy positions outside of LOS/Radar
  • Restrict hovercraft on certain maps & mods
  • Player given orders are now followed until completion
  • Unit support added: nano turrets
  • Basic building placement added: defenses
  • Minor Changes/Fixes

v0.50 (spring v0.74b3)

  • Basic hub support & improved build list detection
  • Units will now use capture/resurrect/high trajectory and are more willing to reclaim
  • Builders will now upgrade extractors/geos
  • Expands a little more intelligently
  • A bit quicker expansion, slowly seizing available (metal/geo spots)
  • Minor Changes/Fixes

v0.40 (spring v0.74b2-v0.74b3)

  • Minor Changes/Fixes

v0.355 (spring v0.74b1)

  • Fixes

v0.350 (spring v0.73b1)

  • Improvements to Building Decisions.
  • Support for Water Units/Maps.
  • Minor Changes/Fixes

v0.300 (spring v0.73b1)

  • First Release

<- Back to AI page