First to £10M Company Value 1 on 1

Discuss the new AI features ("NoAI") introduced into OpenTTD 0.7, allowing you to implement custom AIs, and the new Game Scripts available in OpenTTD 1.2 and higher.

Moderator: OpenTTD Developers

Post Reply
xarick
Transport Coordinator
Transport Coordinator
Posts: 269
Joined: 26 Feb 2015 00:52

First to £10M Company Value 1 on 1

Post by xarick » 14 Jul 2019 18:20

Back in April 2019 I decided I wanted to make a tournament where all AIs would be facing each other in a 1 on 1. I decided to go with a Round Robin kind of tournament, instead of a Single or Double Elimination one. 48 AIs were selected where each would face all the other 47 AIs in 47 rounds. Each round, 24 matches were played, for a grand total of 1128 matches! I knew I would be taking months to finish the entire tournament, but I was still thrilled to see it through. And so I started!

Each round has a different OpenTTD config, with manual randomized settings, except for a few game settings that I defined as constant, Inflation: Off, OpCodes 10000 and Medium construction speed. Also, since there are 4 different tilesets in OpenTTD, I also decided to split the number of rounds. 12 rounds would be on Temperate, 12 on Sub-Arctic, 12 on Sub-Tropical and 11 on ToyLand.

OpenTTD version used was 1.9.1. Some AIs received updates along the way, and matches I had completed before were repeated with the new version. Some few mistakes were made, and some rounds had to be fully re-done. I also initially had Inflation randomized as on and off, until I realized it would be better to have it off, due to the abnormal time results I was starting to get in some matches.

Very late into the tournmanent, about last week, I noticed that some of the AIs were getting excelent results, but only after their initial bankrupt, so, on their second or even later attempt into the game, with more advanced engines available at the later times. It was a bit too late to re-do everything with bankrupt being reconsidered. In the past, I used to consider a bankrupt as a loss, as a mean to say "you're out of the game". But with all the results I had been logging all this time, it would be a waste to just discard it.

That's then, when I tried to come up with a scoring system which would also take into consideration the fact that a company had finished clean, with no bankrupts against companies that also finish, but only after bankrupting, in the same group of matches in a round, which use the same config. Essentially, since I was already saving the games of every match that finished, all I had to do was to reload all the (at the time) 900+ savegames and check wether the AIs inauguration year were still the same as the starting year setting.

There was still the matter of very long matches, that ended up with a bug in OpenTTD when the idle human company, would suddenly get a huge amount of money after a really really long time, which ended up triggering the GS saying it was victorious. I considered these occurences as undecided, or ties. Neither AI could beat one another in a timely manner. These games were not saved.


The tournament ended today, 4 months after logging and reloading savegames to come up with the best AI that rushes to £10M in value! The winner was AIAI v97!

Extras:
Folder with savegames and configs: https://1drv.ms/u/s!Ah9vX-Q9n7IjjCp_bPR ... A?e=X7rVOa
Excel file with every round results and score: https://1drv.ms/x/s!Ah9vX-Q9n7IjjFbp0PhlJO-CgAlh
OneNote link with every matchup results per round: https://1drv.ms/o/s!Ah9vX-Q9n7IjhHheJyvAuHltAA-5

Other:
Round Robin Generator used: https://www.printyourbrackets.com/round ... erator.php

Code: Select all

AI Name version         Total   W-T-L      RW   bW  BW  TO  B+  b+  B-  b-
--------------------------------------------------------------------------
AIAI v97                2407    43-0-4      5   33  5   0   0   3   1   0
NoNoCAB v6              2377    39-0-8      7   31  1   0   0   7   0   1
LuDiAI AfterFix v10     1958    35-4-8      10  19  6   4   0   6   2   0
Terron v209             1955    37-0-10     5   28  4   0   1   9   0   0
MogulAI v5900           1714    36-0-11     3   25  8   0   0   6   1   4
NoCAB v499              1681    33-0-14     1   27  5   0   0   5   3   6
SimpleAI v14            1680    34-3-10     0   28  6   3   0   7   2   1
EmotionAI v1            1630    37-2-8      0   27  10  2   2   5   0   1
AdmiralAI v25           1576    37-1-9      0   24  13  1   0   6   2   1
LuDiAI v1               1569    29-4-14     0   24  5   4   0   8   0   6
CluelessPlus v38        1545    32-0-15     0   29  3   0   1   14  0   0
trAIns v2               1528    32-2-13     7   13  12  2   0   7   3   3
RoadRunner v12          1521    34-0-13     0   28  6   0   1   10  0   2
WormAI v7               1480    30-4-13     2   21  7   4   0   10  1   2
SnakeAI v9              1367    27-3-17     0   21  6   3   0   7   6   4
AroAI v127              1364    27-6-14     1   21  5   6   1   11  0   2
OtviAI v422             1362    31-0-16     0   25  6   0   2   12  1   1
Convoy v11              1319    24-3-20     1   21  2   3   2   14  3   1
ShipAI v5               1263    32-0-15     1   21  10  0   1   12  0   2
ChooChoo v412           1194    25-2-20     0   20  5   2   3   9   5   3
RailwAI v18             1121    30-1-16     0   20  10  1   1   13  1   1
FastPTPAI v4            1102    27-3-17     2   14  11  3   2   8   5   2
DictatorAI v183         1091    28-1-18     0   20  8   1   3   13  2   0
TeshiNet v4             978     23-0-24     0   19  4   0   1   16  3   4
TracAI v1               820     19-6-22     1   11  7   6   1   11  8   2
Trans v190625           703     22-0-25     0   12  10  0   1   14  2   8
BorkAI v23              678     17-8-22     0   14  3   8   3   11  5   3
SynTrans v15            629     12-14-21    0   11  1   14  0   11  4   6
Rondje v384             628     15-7-25     0   9   6   7   2   18  2   3
HeliFerry v3            561     17-8-22     1   6   10  8   0   11  4   7
WrightAI v3             553     11-10-26    0   8   3   10  1   10  9   6
CivilAI v19             487     15-3-29     0   10  5   3   1   11  6   11
DumbAI v1               481     11-8-28     0   7   4   8   2   14  9   3
Chopper v10             437     10-9-28     0   9   1   9   1   14  10  3
EpicTrans v1            433     14-7-26     0   7   7   7   1   6   8   11
PAXLink v14             385     8-14-25     0   5   3   14  0   4   7   14
Denver & Rio Grande v1  351     10-10-27    0   6   4   10  2   7   9   9
PathZilla v6            343     12-5-30     0   4   8   5   4   22  0   4
Grinchios v3            331     9-8-30      0   5   4   8   1   15  4   10
CPU v5                  307     8-9-30      0   4   4   9   0   15  4   11
MailAI v21              302     5-10-32     0   5   0   10  4   15  8   5
Rythorn Airline AI v3   276     4-9-34      0   2   2   9   3   16  8   7
gelignAIte v1           270     7-9-31      0   3   4   9   5   21  3   2
rocketAI v1             204     7-9-31      0   2   5   9   3   7   9   12
SmallTownAI v7          151     5-8-34      0   0   5   8   1   13  5   15
RoadAI v5               148     2-13-32     0   0   2   13  2   15  9   6
MpAI v1                 143     3-8-36      0   0   3   8   4   15  10  7
WmDOT v14               120     2-11-34     0   0   2   11  1   5   13  15
--------------------------------------------------------------------------
AI Name version         Total   W-T-L      RW   bW  BW  TO  B+  b+  B-  b-
W-T-L Win, Tie and Loss count
RW Round Wins, counts in how many rounds it had the fastest match, without bankrupting once
bW Bankruptless Wins, how many matches it has won without bankrupting once (RW not included)
BW Bankrupted Wins, how many matches it has won after bankrupting at least once
TO Timed out, how many matches it did not finish before timing out, undecided games, ties
B+ Bankruptless Loss, with Bankrupted Winner, how many matches it lost without bankrupting, where the winner had bankrupted
b+ Bankruptless Loss, with Bankruptless Winner, how many matches it lost without bankrupting, where the winner had not bankrupted as well
B- Bankrupted Loss, with Bankrupted Winner, how many matches it lost and bankrupted, where the winner had bankrupted as well
b- Bankrupted Loss, with Bankruptless Winner, how many matches it lost and bankrupted, where the winner had not bankrupted
Formerly known as Samu

Brumi
President
President
Posts: 904
Joined: 18 Jul 2009 17:54

Re: First to £10M Company Value 1 on 1

Post by Brumi » 15 Jul 2019 12:21

Woah, this is some excellent stuff! I really appreciate your dedication to these AI games :)

User avatar
RailwAI
Engineer
Engineer
Posts: 32
Joined: 22 Jul 2018 20:30
Location: Headquarters

Re: First to £10M Company Value 1 on 1

Post by RailwAI » 18 Jul 2019 16:22

Cool comparison! I'm now downloading your savegames, to see if I can make RailwAI better (I don't think I like bankruptcy).

User avatar
fanioz
Transport Coordinator
Transport Coordinator
Posts: 320
Joined: 19 Dec 2008 05:03
Location: Indonesia
Contact:

Re: First to £10M Company Value 1 on 1

Post by fanioz » 22 Jul 2019 23:56

Very well done xarick. That was great efforts :D
Correct me If I am wrong - PM me if my English was bad :D

**[OpenTTD AI]** Image
***[NewGRF] *** Image

Post Reply

Return to “OpenTTD AIs and Game Scripts”

Who is online

Users browsing this forum: No registered users and 2 guests