Wow, bertrand. You really made a big jump with the most recent version of Reaper. Reaper has gotten very, very good at gaming out the possibilities in his head before taking action. So much that I've had to reduce the number of Reapers I'll allow in a game. Is anyone else taking notes and learning from his playing?
Soon you may have to come out with Reaper Lite™. Or AI-levels, as is done with chess-playing programs.
Oh, oh, oh, but I think I found a bug. In some games, if I manage to break his back, popping all continents for a couple of turns, he becomes a total pussycat, and does nothing for the rest of that game. Does he get mad and decide to quit playing?
In the game, it looks like he doesn't receive or place any armies. But, from the log file I see that he is just failing to place them, and they evaporate when his turn ends.
Perhaps Lux is letting him signal the end of his turn before placing all of his armies?
Here's the logfile text:
***************************************************************
Lux version 5.61 is now starting under user xxxxxxxxx
-> OS: Mac OS X 10.4.9 i386
-> VM: 1.5.0_07 / 49.0
-> MRJ: 1040.1.5.0_07-164
-> home: /Users/xxxxxxxxx
-> working: /Applications/ Diversion/Lux
-> support: /Users/xxxxxxxxx/Library/Application Support/Lux/
-> jar: /Applications/%20Diversion/Lux/Lux.app/Contents/Resources/Java/LuxCore.jar
-> default encoding: MacRoman
Fill up the list of maps and generators. -> CastleInfinity - normal
Gemisys getChoices() called...
Gemisys path: /Users/xxxxxxxxx/Library/Application Support/Lux/MapGenerators/gemisys.pl
Gemisys choice 450x360 added.
Gemisys choice 600x400 added.
Gemisys choice 680x480 added.
Gemisys choice 700x500 added.
Gemisys choice 800x600 added.
Gemisys choice 900x700 added.
PluginManager: Downloading the plugin list from sillysoft
AnimationLoader: Starting background load
PluginManager: No new plugins found - using the saved data
AnimationLoader: Finished background loading
Lux -> automatic update check found no updates available
PluginManager: Automatic plugin check found no new maps
forceInternetPublic=false
we are using createFromGenerator()
GC of null says: starting GC
init()
GC of null says: starting
GC of <com> says: load the board
Loading -> notCachedGenerated.luxb
GC of <com> says: GC.setBoardSize(1062, 765) thread:Thread[AWT-EventQueue-0,6,main]
GC of <com> says: usableRect(1340, 986) thread:Thread[AWT-EventQueue-0,6,main]
GC of <com> says: Maximise the height of the window
GC of <com> says: toggle chat window
GC of <com> says: done load board
Board.sendChat() was called before the game has started
setColors
PlayerInfoController: show() with numberRows = 6
GC of <com> says: start the world
0 = Chimera named Dan - IP: n/a
1 = Reaper named Don - IP: n/a
2 = Chimera named Phil - IP: n/a
3 = Human named Sir Holo - IP: n/a
4 = Chimera named Bob - IP: n/a
5 = Chimera named Ted - IP: n/a
<com>: All the countries have been assigned
Starting takeTurnsLoop: 0
LuxView: creating the cardsmode composite in the background
LuxView: finished creating the cardsmode composite in the background
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's placeArmies():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.placeArmies(Reaper.java:2231)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.sweep(Reaper.java:4171)
at com.sillysoft.lux.agent.Reaper.simSweep(Reaper.java:1877)
at com.sillysoft.lux.agent.Reaper.doSweep(Reaper.java:1889)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4891)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
Phil was eliminated: position 6
com.sillysoft.lux.D.A@2c1ef server=true: Phil was eliminated by Ted in round 13
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 4
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 3
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 3
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 3
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 3
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 3
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 3
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 3
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 3
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
Ted was eliminated: position 5
com.sillysoft.lux.D.A@2c1ef server=true: Ted was eliminated by Sir Holo in round 22
Bob was eliminated: position 4
com.sillysoft.lux.D.A@2c1ef server=true: Bob was eliminated by Sir Holo in round 22
Dan was eliminated: position 3
com.sillysoft.lux.D.A@2c1ef server=true: Dan was eliminated by Sir Holo in round 22
<com>: agent Reaper didn't place all of his armies. what a bozo.
<com>: There was an error in com.sillysoft.lux.agent.Reaper@408e80's attackPhase():
java.lang.ArrayIndexOutOfBoundsException: 3
at com.sillysoft.lux.agent.Reaper.getEnemies(Reaper.java:4363)
at com.sillysoft.lux.agent.Reaper.terminatePlayers(Reaper.java:4557)
at com.sillysoft.lux.agent.Reaper.attackPhase(Reaper.java:4888)
at com.sillysoft.lux.B.Z(Unknown Source)
at com.sillysoft.lux.B.P(Unknown Source)
at com.sillysoft.lux.B.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
<com>: agent Reaper didn't place all of his armies. what a bozo.
finalPosition[Sir Holo (index 3] = 1 -> the winner
Don was eliminated: position 2
com.sillysoft.lux.D.A@2c1ef server=true: Don was eliminated by Sir Holo in round 25
Sending ranking data to the server. The results:
-> Dan lasted 22 rounds. Placed 3
-> Don lasted 25 rounds. Placed 2
-> Phil lasted 13 rounds. Placed 6
-> Sir Holo lasted 25 rounds. Placed 1
-> Bob lasted 22 rounds. Placed 4
-> Ted lasted 22 rounds. Placed 5