Tasks/Games/Strategy & Puzzles

OpenTTD Transport AI

Run a transport company for 20 simulated years

openttd_transport_ai Games Strategy & Puzzles
instruction.mdthis is what the agent is given

You inherit a legal but inactive OpenTTD NoAI and must turn it into a transport-company policy. Improve it through repeated local experiments on the fixed public seed suite; the final policy is replayed for 20 game years on sealed seeds from the same generator.

Hard Constraints

  • Edit the Squirrel NoAI under methods/main/. The verifier requires methods/main/info.nut and methods/main/main.nut.
  • Keep the registered AI name and instance class MyAI, API version 13, and remain compatible with OpenTTD 13.4.
  • The policy must act only through the documented NoAI API. Do not modify the evaluator, OpenTTD, OpenGFX, savegames, public seed list, or cached game archives.
  • Runs that crash, fail to create a company, or do not yield a valid final quarterly company value score zero for that seed.
  • The verifier is offline. The submitted AI must be self-contained under methods/.

What You Have

  • methods/main/info.nut and methods/main/main.nut: the weak starting AI.
  • docs/: the OpenTTD 13.4 NoAI API reference, tutorial, and Squirrel reference.
  • game_eval.py: the public evaluator implementation and exact metric extraction logic.
  • visible_seeds.json: the fixed public seeds used for comparable development scores.
  • selfcheck.py: evaluates the current policy on all public seeds. Each candidate version should be judged with the same command and seed set.
  • methods/experiment_log.md: record every comparable attempt, its public mean company value, what changed, and whether it was kept or reverted. Save the exact evaluated files and visible_result.json under methods/versions/vN/ for every logged version.

What You Submit

Submit the complete methods/ directory. Your final candidate must be in methods/main/; optional historical versions and notes may remain elsewhere under methods/.

How It Is Judged

Each seed creates a fresh procedurally generated OpenTTD map and runs your AI alone for 20 game years. For each seed, the evaluator reads the last valid quarterly old_economy[0].company_value from the game save stream. The official score is the arithmetic mean of those final company values over the sealed seed set, and higher is better. The normalized score is a monotonic transformation of that raw mean and is not shown to you; optimize mean company value and cross-seed generalization. The verifier records per-seed company value, cash, loan, final date, and error status for author-side auditing.

The hidden seeds are disjoint from the public seeds but use the same OpenTTD version, map generator, game duration, starting conditions, and scoring code. A policy that hard-codes public towns, industries, or tile coordinates will not transfer.

Metric

mean final company value over the sealed map seeds · higher is better

Four sealed seeds, OpenTTD 13.4, AI alone for 20 game years; mean of the last quarterly company value.

anchorvisible setheld-outreward
inactive baseline AI, no company000.00
scoring floor100,0000.00
Rreference policy, sealed seeds7,642,382.007,149,966.750.30
soft cap1,000,000,0001.00
normalisation
m <= F0
F < m <= R0.3 * log(m/F) / log(R/F)
m > Rclamp(0.3 + 0.7 * log(m/R) / log(M/R), 0, 1)

m = this run's held-out metric  ·  R = reference policy, sealed seeds

F = floor 100,000, R = reference, M = soft cap. The mean is mapped once, not per seed; a seed with no company counts 0.

Rollouts

720 minwall clock
$41.95spend
62.2Mtokens
30versions, 18 kept
0 20M 40M 60M 80M 100M $0 $10 $20 $30 $40 cumulative spend on the run 16-seed dev-set mean company value, higher is better reference policy, sealed seeds · visible · 7,642,382.00 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29
keptrevertedno scoreturning point
  1. v0Inherited baseline: logs company value, builds nothing, creates no company00 min · $0.07
  2. v1Air passengers: towns paired by pop*distance, small airports, full-load orders1,445,95314 min · $2.83
  3. v2Robust siting: 150 test-built airport candidates, terraform fallback, retry queue6,191,20119 min · $3.92
  4. v3Unlimited town retry with cooldown, growing radius, loan-funded terraforming5,967,17124 min · $4.82
  5. v4Drop full-load orders so planes leave immediatelyA station's cargo rating caps what it collects and waiting cargo sinks it; leaving empty roughly doubled throughput.13,563,83429 min · $5.40
  6. v5Endgame conversion: in 1969-09 take the max loan and spend all cash on aircraft17,564,65037 min · $6.45
  7. v6Cheap-station conversion: surplus cash into 1-tile bus stops, 2,500 of value eachValue books a flat 2,500 per station facility that costs ~310 to build, so a pound in 1-tile stops beats a pound of cash ~8x.single-seed check56 min · $9.06
  8. v7Start stop-building only when time barely suffices; keep stops away from towns61,445,218155 min · $12.27
  9. v8Pack a bus stop and a truck stop into one station object to halve station count62,849,325168 min · $14.70
  10. v9Freight route planner; dormant, base-set aircraft carry no bulk cargoinactive, not measured168 min · $14.70
  11. v10Several airports per town, quota by population6-seed check only173 min · $14.88
  12. v11Mail planes: refit each route's planes to whichever cargo is backing up69,593,181184 min · $15.55
  13. v12Plane cap per airport 10 -> 1444,349,303643 min · $36.00
  14. v13Add a plane only if it earns back its price before the game ends; scrap losers69,177,228205 min · $16.05
  15. v14Fix the town-scoring bug that left the multi-airport quota inactive74,348,045221 min · $16.69
  16. v15Large airports plus big planes when both endpoints are large65,979,110238 min · $17.34
  17. v16Airport quota 1+pop/800 capped at 674,053,501255 min · $19.11
  18. v17Planes to the biggest cargo queue first, 6 extra on backlogged airports58,949,631266 min · $19.34
  19. v18Plane cap per airport 10 -> 779,415,299279 min · $19.71
  20. v19Plane cap per airport 7 -> 576,107,699291 min · $20.11
  21. v20Airport quota 1+pop/800 capped at 6, with the plane cap at 779,169,089314 min · $20.90
  22. v21Insurance: allow a too-close partner; sell a plane if cash drops under 12k79,522,426378 min · $22.97
  23. v22Site stops by a direct catchment test, then non-steep slopes, then near towns86,964,175413 min · $25.44
  24. v23Join extra one-tile stops to each airport's own station to widen its catchmentStops joined to the airport's own station lift its catchment from ~130 to ~320 tiles, so planes collect a far wider area.97,268,646437 min · $27.46
  25. v24Plane cap per airport 7 -> 9, retested after the catchments grew94,235,545455 min · $27.94
  26. v25Extension stops forced >=5 tiles from the airport and >=4 apart, cap 1296,638,309471 min · $28.39
  27. v26Up to 16 extension stops per airport94,486,875489 min · $28.85
  28. v27Up to 7 extension stops per airport96,813,289506 min · $29.33
  29. v28Tidy-up: drop an unused helper, wrap init in try/catch; behaviour of v2397,268,646626 min · $35.02
  30. v29Pack a truck stop and a rail station onto each spam stop to cut station count96,295,142688 min · $40.59

Six hours bought the whole gain, then memory bit: 27,125 stations per save, the v28 public eval OOM-killed at the 4 GiB cap.

On the hidden set

held-out metricreward
inactive baseline AI, no company00.00
scoring floor100,0000.00
reference policy, sealed seeds7,149,966.750.30
soft cap1,000,000,0001.00
this run96,925,3590.6693

Re-graded after a verifier fix; this is the corrected reward.

452 minwall clock
$163.27spend
271.6Mtokens
179versions, 51 kept
0 7.5M 15.0M 22.5M 30.0M $0 $40 $80 $120 $160 cumulative spend on the run public 4-seed mean company value, higher is better reference policy, sealed seeds · visible · 7,642,382.00 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 v50 v51 v52 v53 v54 v55 v56 v57 v58 v59 v60 v61 v62 v63 v64 v65 v66 v67 v68 v69 v70 v71 v72 v73 v74 v75 v76 v77 v78 v79 v80 v81 v82 v83 v84 v85 v86 v87 v88 v89 v90 v91 v92 v93 v94 v95 v96 v97 v98 v99 v100 v101 v102 v103 v104 v105 v106 v107 v108 v109 v110 v111 v112 v113 v114 v115 v116 v117 v118 v119 v120 v121 v122 v123 v124 v125 v126 v127 v128 v129 v130 v131 v132 v133 v134 v135 v136 v137 v138 v139 v140 v141 v142 v143 v144 v145 v146 v147 v148 v149 v150 v151 v152 v153 v154 v155 v156 v157 v158 v159 v160 v161 v162 v163 v164 v165 v166 v167 v168 v169 v170 v171 v172 v173 v174 v175 v176 v177 v178 v179
keptrevertedno scoreturning point
  1. v1Inherited baseline: logs balance, builds nothing, no company on any seed01 min · $0.25
  2. v2First active policy: max loan, two small airports, planes; wrong API namespace05 min · $1.04
  3. v3Fix plane-type namespace to AIAirport.PT_SMALL_PLANE; two-airport route runs2,619,479.256 min · $1.19
  4. v4Single-route fleet cap 8 -> 162,233,968.510 min · $2.01
  5. v5Up to 8 independent 6-plane small-airport routes, scored over unused town pairsOne route left cash idle; score every unused town pair and open eight of them in parallel, six planes each.9,100,680.2513 min · $2.42
  6. v6Continue past small-airport expiry with large airports and big planes; cap 1210,585,781.7516 min · $3.02
  7. v7Validate each airport candidate with AITestMode; large-airport reach 14 -> 2413,332,273.519 min · $3.63
  8. v8Route ceiling 12 -> 1613,707,118.7522 min · $4.26
  9. v9Terrain-leveling fallback for large sites, plus post-1960 debt repayment13,725,316.525 min · $4.94
  10. v10Terrain-leveling fallback alone, v8 debt behaviour restored13,642,591.526 min · $5.30
  11. v11Prefer opening an affordable route over filling existing groups11,887,572.2527 min · $5.61
  12. v12All routes 6 -> 8 aircraft after 196013,033,15929 min · $5.99
  13. v13Grow a route toward 8 planes after 3 months above 120 waiting passengers13,536,039.530 min · $6.29
  14. v14One extra plane only, after 3 months above 300 waiting passengers13,762,939.7531 min · $6.67
  15. v15Sustained backlog trigger 300 -> 500 passengers13,639,072.7533 min · $7.07
  16. v16Monthly compatible-engine discovery and group autoreplace15,958,07834 min · $7.39
  17. v17Modernization plus the v14 sustained-backlog extra plane15,948,566.7535 min · $7.72
  18. v18New-route cash reserve beyond quoted prices 75k -> 30k16,088,645.536 min · $8.12
  19. v19New-route cash reserve at the 50k midpoint15,511,475.7537 min · $8.52
  20. v20After 4 routes and 750k cash prefer large-airport pairs; yearly retry throttle16,097,85241 min · $9.62
  21. v21Up to four deficit builds a month once groups are mature16,495,083.544 min · $10.53
  22. v22Mature multi-fill plus v20's throttled large-airport preference16,535,341.546 min · $10.97
  23. v23Stop retrying large airports for the rest of the game after one failed search16,497,615.7547 min · $11.42
  24. v24Large-airport search reach 24 -> 14 tiles16,800,805.7548 min · $11.87
  25. v25Large-route target 4 -> 2 big aircraft16,755,401.550 min · $12.80
  26. v26Large-route target 3 big aircraft16,566,001.7551 min · $13.26
  27. v27Large-route target 5 big aircraft16,563,594.2552 min · $13.63
  28. v28Post-1960 deficit build burst 4 -> 8 planes a month16,753,931.7554 min · $14.12
  29. v2930k route reserve, four-plane mature bursts and one-shot reach-14 large search17,157,261.7555 min · $14.60
  30. v30Drop the extra new-route cash reserve entirely16,504,58757 min · $15.11
  31. v31Monthly company statues in served towns after 1960 above 2M cash13,849,169.2559 min · $15.74
  32. v32Join one validated drive-through bus stop to each airport stationA drive-through stop joined to the airport's own station widens what planes collect, with no buses to run.21,868,733.2560 min · $16.25
  33. v33A second joined road stop at each airport station23,240,503.7562 min · $17.52
  34. v34A third joined road stop at each airport station22,539,695.7563 min · $18.16
  35. v35Second joined stop forced >=4 Manhattan tiles from the first22,929,063.2565 min · $18.93
  36. v36OF_FULL_LOAD_ANY at both airport orders17,849,643.567 min · $19.37
  37. v37Full-load-any only at the higher-production endpoint19,851,441.568 min · $19.91
  38. v38Small routes grow 6 -> 8 planes after 3 months above 300 waiting passengers23,328,00171 min · $21.02
  39. v39Cap demand-triggered small-airport groups at 7 planes23,275,869.572 min · $21.58
  40. v40Remove the 30k new-route reserve now that joined stops raised revenue22,680,28173 min · $22.04
  41. v41New-route reserve 30k -> 75k under joined stops21,575,677.2574 min · $22.50
  42. v42All small routes 6 -> 7 aircraft after 196022,982,958.7576 min · $23.07
  43. v43Rank joined-stop sites by passenger plus mail production21,617,27277 min · $23.54
  44. v44One grouped mail-refitted plane per route above 300 waiting mail after 196024,651,48281 min · $24.64
  45. v45Apply group autoreplace to mail groups too25,293,612.7584 min · $25.72
  46. v46Second mail plane after 3 months above 600 combined backlog26,163,805.587 min · $26.95
  47. v47Third mail tier after 3 further months above 1,000 waiting mail25,745,07690 min · $28.20
  48. v48Second-mail-plane threshold 600 -> 40025,901,642.592 min · $28.83
  49. v49From 1968 repay debt once cash exceeds loan plus 1M26,214,150.7593 min · $29.47
  50. v50Late debt repayment moved from 1968 to 196526,056,85394 min · $29.98
  51. v51Third joined stop once adaptive mail service exists25,488,030.7595 min · $30.62
  52. v52Three stops per route: one each end plus a second at the weaker endpoint24,096,633.598 min · $31.38
  53. v53Road feeder per airport from 1962: bus stop, depot and one transferring bus25,717,383100 min · $32.07
  54. v54Small groups 6 -> 7 planes after 3 checks above 300 waiting passengers26,085,569.5103 min · $33.29
  55. v55Route-pair distance reward cap 160 -> 220 tiles27,775,698.25105 min · $33.63
  56. v56Distance reward cap 220 -> 280 tiles28,335,130.25106 min · $33.81
  57. v57Distance reward cap 280 -> 340 tiles28,372,742.5108 min · $34.06
  58. v58Remove the distance cap; pair value scales with full Manhattan distance28,794,023.5109 min · $34.28
  59. v59Drop the +40 offset from the uncapped distance multiplier28,877,079110 min · $34.49
  60. v60Quadratic route-distance multiplier, distance^2 / 10027,945,411.75112 min · $34.72
  61. v61Distance offset 40 -> 20 under the uncapped linear reward29,079,244.5113 min · $34.95
  62. v62Distance offset 20 -> 1029,004,585.75114 min · $35.19
  63. v63Route search widened from 30 to 40 valid unused town sites29,079,244.5116 min · $35.52
  64. v64Airport-site production weight in pair demand 20 -> 4029,400,633.5117 min · $35.84
  65. v65Airport-site production weight at the midpoint 3029,709,635118 min · $36.13
  66. v66Airport-site production weight 30 -> 3529,444,505.25119 min · $36.42
  67. v67Add half the weaker endpoint's demand as a balance bonus28,361,550.5121 min · $36.78
  68. v68Alternate plane construction between both endpoint hangars28,743,586123 min · $37.17
  69. v69First-mail-plane backlog trigger 300 -> 20028,848,381.25125 min · $37.95
  70. v70First-mail-plane backlog trigger 300 -> 40029,402,683.5126 min · $38.32
  71. v71Second-mail-plane backlog trigger 600 -> 80028,984,178.5127 min · $38.70
  72. v72Small routes 6 -> 7 planes after 3 post-1960 checks above 300 passengers29,330,369.25129 min · $39.15
  73. v73Seventh-plane trigger 300 -> 500 waiting passengers29,587,919130 min · $39.54
  74. v74Seventh-plane trigger 500 -> 800 waiting passengers29,765,587.25131 min · $39.94
  75. v75Seventh-plane persistence 3 -> 6 monthly checks at the 800 trigger29,569,988133 min · $40.37
  76. v76New-route cash reserve 30k -> 15k28,619,858.25137 min · $41.61
  77. v77Pre-1960 passenger deficit fill 1 -> 2 planes per monthly cycle30,980,351139 min · $42.08
  78. v78Pre-1960 deficit fill 2 -> 3 planes per cycle31,396,543.75140 min · $42.56
  79. v79Mature four-plane deficit fill used before 1960 as well31,285,587141 min · $43.06
  80. v80Staged early fill: 2 planes before 1955, 3 to 1959, then 431,583,989.25142 min · $43.57
  81. v81Early fill ramp delayed a year: 2 through 1955, then 331,182,598.75144 min · $44.08
  82. v82Early fill ramp a year earlier: 2 before 1954, then 331,569,571.75145 min · $44.59
  83. v83Allow the mature four-plane burst from 1958 instead of 196031,569,571.75146 min · $45.11
  84. v84Large-airport routes 4 -> 2 big aircraft31,529,427.5149 min · $45.97
  85. v85Large-airport routes on 6 modern small planes instead of 4 big ones31,435,115.5151 min · $46.53
  86. v86Second joined stop forced >=2 Manhattan tiles from the first31,632,660.5152 min · $47.16
  87. v87Joined-stop minimum spacing 2 -> 3 tiles31,310,020.5154 min · $47.73
  88. v88Guarded late debt repayment moved from 1968 to 196531,643,155155 min · $48.30
  89. v89Guarded debt repayment 1965 -> 196431,462,101.5157 min · $48.87
  90. v90Guarded debt repayment 1965 -> 196631,574,105.5158 min · $49.46
  91. v91Reintroduce the 800-backlog seventh plane, but only from 196531,520,084.75160 min · $50.07
  92. v92Limit late seventh-plane promotion to one company-wide31,558,514.5161 min · $50.68
  93. v93Block the late seventh plane whenever a large-airport route exists31,845,560.5163 min · $51.30
  94. v94Guarded single-promotion threshold 800 -> 600 passengers31,845,560.5164 min · $51.91
  95. v95Guarded single promotion opens in 1964 instead of 196531,298,180.5166 min · $52.54
  96. v96Guarded single promotion opens in 196631,716,891167 min · $53.17
  97. v97Promote the largest persistent backlog, not the first qualifying route31,845,560.5169 min · $53.91
  98. v98Launch each route from the higher demand-score endpoint, not population30,727,140.5171 min · $54.58
  99. v99Compare town-road drive-through stops with purpose-built bay stops29,654,392.25173 min · $55.52
  100. v100Large-airport attempt cash gate 750k -> 1.5M31,845,560.5175 min · $56.21
  101. v101Airport-site direct-production multiplier 100 -> 2031,845,560.5177 min · $57.22
  102. v102Small-airport site search radius 14 -> 18 tiles29,632,129.75178 min · $57.83
  103. v103Small-airport site search radius 14 -> 12 tiles31,420,912180 min · $58.55
  104. v104During 1959 open an affordable route before filling deficits30,921,922184 min · $60.18
  105. v105One medium advertising campaign after 1965 at the strongest origin31,161,808186 min · $61.31
  106. v106Small campaign instead of medium at the same origin31,186,181.75188 min · $62.10
  107. v107Campaign guarded on passenger rating below 60, retried monthly31,186,181.75189 min · $63.11
  108. v108Rating-below-60 campaign check as a one-shot 1965 audit31,186,181.75191 min · $64.14
  109. v109One statue after 1960 at the strongest route's origin30,450,031.5193 min · $64.99
  110. v110Guarded third mail plane after 1965 in all-small nets above 1,000 mail31,950,502194 min · $65.94
  111. v111Third-mail-plane threshold 1,000 -> 80031,950,502196 min · $66.77
  112. v112Third-mail-plane gate 1965 -> 196631,874,675198 min · $67.61
  113. v113Third mail plane waits for the 100-seat small-plane generation31,797,945.5200 min · $68.49
  114. v114First-mail trigger 300 -> 600 on routes shorter than 160 tiles31,589,841202 min · $69.63
  115. v115Drop the all-small-network guard on the third mail plane31,872,847203 min · $70.51
  116. v116Early passenger-fill ramp back from 1954 to 195531,776,732.25205 min · $71.39
  117. v117Autoreplace cash reserve 50k -> 25k31,950,502206 min · $72.29
  118. v118Passenger fleet-build cushion price+50k -> price+25k30,598,678.5208 min · $73.21
  119. v119Five planes instead of six on routes shorter than 160 tiles31,372,216.75210 min · $74.13
  120. v120Dedicated mail planes on large routes use the best small engine31,950,502214 min · $75.53
  121. v121One cash-buffered company headquarters beside the first airport from 196031,950,502216 min · $76.08
  122. v122Rank joined stops by AITileList_StationCoverage; absent from API 130219 min · $77.24
  123. v123Score joined stops by producer tiles outside existing catchmentsRank a stop by producer tiles no existing catchment covers, not by raw density, so the second stop adds new ground.32,694,890.25221 min · $77.86
  124. v124Blend marginal and absolute stop density, new producers weighted twice32,190,158.25223 min · $78.39
  125. v125Marginal stop scoring only on maps with at least 25 towns33,104,823.75225 min · $79.23
  126. v126Cache the map-density decision at startup instead of per search33,104,823.75227 min · $79.82
  127. v127Dispatch dense and sparse stop scoring outside the candidate loop33,148,783.5229 min · $80.38
  128. v128On sparse maps allow marginal placement at airports with 20+ producers32,655,029232 min · $81.43
  129. v129Dense-map marginal stop search reach 7 -> 8 tiles33,000,956233 min · $82.05
  130. v130Dense-map marginal stop search reach 7 -> 6 tiles32,452,730.75235 min · $82.62
  131. v131Dense maps: first stop by absolute density, second by marginal coverage33,218,861236 min · $83.12
  132. v132Dense maps: first stop marginal, second absolute32,480,102.75238 min · $83.72
  133. v133Monotone density rule: <25 absolute, 25-27 mixed, 28+ marginal both stops33,324,494.75240 min · $84.37
  134. v134Passenger acceptance as tie-breaker among equal marginal producer counts33,032,196.25243 min · $85.17
  135. v135From 1965 one 40-seat helicopter per oil rig from the nearest airport33,044,356.75248 min · $86.80
  136. v136One 1965 cross-link plane between the two highest-backlog airports32,880,960.75$87.63
  137. v137Fund extra buildings once from 1960 in the first route's strongest town32,684,809.75252 min · $88.46
  138. v138Guarded debt repayment 1965 -> 1964 under density-aware catchment33,059,701.25253 min · $89.28
  139. v139Guarded debt repayment 1965 -> 1966 under density-aware catchment33,190,298.75255 min · $90.13
  140. v140Repay debt in 1966 on maps with 28+ towns, 1965 otherwise33,447,211.25256 min · $90.97
  141. v141Dense-map guarded repayment 1966 -> 196733,262,300258 min · $91.72
  142. v142Third-mail gate 1966 on 25-27-town maps, 1965 elsewhere33,444,609.5260 min · $92.50
  143. v143Early 2-to-3 fill ramp moved to 1955 on every map with 25+ towns33,254,389.75261 min · $93.27
  144. v144Early 2-to-3 fill ramp moved to 1955 on 25-27-town maps only33,549,359.25263 min · $94.16
  145. v145Moderate-density fill ramp 1955 -> 195633,136,025.75264 min · $95.97
  146. v146Very dense maps hold the two-plane burst in 1954 until 1.3M cash33,276,653.5267 min · $97.26
  147. v147Memoize per-tile passenger production inside each marginal stop search33,534,134.25269 min · $98.21
  148. v148Large-airport fallback honours the 100-year retry delay after expiry33,142,100.5271 min · $99.15
  149. v149One 1965 oil ship route from a rig dock to a refinery33,486,501.25275 min · $101.68
  150. v150Enable company auto-renew alongside the 50k renewal reserve32,596,669.75278 min · $102.03
  151. v151Density-delayed debt repayment on the v126 catchment parent33,213,156297 min · $104.50
  152. v152Marginal first stop only when it covers 3+ more new producers32,986,944.25306 min · $106.40
  153. v153One 1960 straight rail route: two stations, depot, loco and five wagons33,351,150.75321 min · $111.14
  154. v154Delay the single rail route to 1965, zero debt and 3M cash33,593,537324 min · $112.68
  155. v155A second straight rail line at the same late surplus-capital gate33,446,599.25333 min · $116.08
  156. v156Second third-mail plane after 1967 above 1,500 sustained mail33,447,211.25338 min · $118.39
  157. v157Second third-mail-plane threshold 1,500 -> 1,25033,393,272.25342 min · $120.19
  158. v158Second seventh-passenger plane after 1967 above 1,500 backlog33,447,211.25344 min · $120.96
  159. v159Second seventh-plane threshold 1,500 -> 1,25033,447,211.25347 min · $122.70
  160. v160Second seventh-plane threshold 1,250 -> 1,00033,448,174.25351 min · $124.48
  161. v161Second third-mail-plane threshold 1,500 -> 1,37533,447,211.25354 min · $126.30
  162. v162Second seventh-plane eligibility 1967 -> 196633,447,211.25358 min · $128.13
  163. v163Second third-mail-plane eligibility 1967 -> 196633,447,211.25362 min · $130.11
  164. v164Third seventh-plane promotion from 1968 above 1,800 backlog33,447,211.25365 min · $132.95
  165. v165One eighth passenger plane after 1967 above 1,500 sustained backlog33,447,211.25373 min · $136.92
  166. v166Eighth-plane threshold 1,500 -> 2,20033,447,211.25377 min · $138.97
  167. v167Fourth mail plane after 1968 above 2,000 sustained waiting mail33,447,211.25380 min · $141.06
  168. v168Fourth-mail-plane threshold 2,000 -> 1,50033,447,211.25385 min · $143.11
  169. v169Cap fleets at 4 planes on pairs scoring below 100,00033,447,211.25394 min · $145.00
  170. v170Third seventh-plane promotion from 1968 at the 1,250 threshold33,447,211.25398 min · $145.88
  171. v171Third seventh-plane slot opens in 196733,447,211.25401 min · $146.79
  172. v172Third seventh-plane threshold 1,250 -> 1,00033,447,211.25404 min · $147.72
  173. v173Third seventh-plane threshold 1,000 -> 80033,447,211.25407 min · $148.63
  174. v174Third third-mail promotion from 1968 above 1,250 waiting mail33,447,211.25411 min · $149.66
  175. v17525-27-town maps split by average town population at 750 residents33,447,211.25415 min · $150.89
  176. v176Sparse maps go marginal when average town population reaches 90033,447,211.25419 min · $152.07
  177. v177Maps with 30+ towns take the absolute-first stop, 28-29 stay marginal33,447,211.25430 min · $155.15
  178. v17829-town exception: absolute-first at 23,000+ population, no town 2,500+33,447,211.25436 min · $157.51
  179. v179Sparse maps below 25 towns go fully marginal after 11/11 fresh checks32,993,318447 min · $161.26

179 versions in 7.5 hours for $163. After v140 the public mean stopped moving and selection ran on self-generated panels.

On the hidden set

held-out metricreward
inactive baseline AI, no company00.00
scoring floor100,0000.00
reference policy, sealed seeds7,149,966.750.30
soft cap1,000,000,0001.00
this run35,663,7370.5277
64 minwall clock
$24.46spend
40.9Mtokens
47versions, 16 kept
0 5M 10M 15M 20M 25M $0 $5 $10 $15 $20 cumulative spend on the run public 4-seed mean company value, higher is better reference policy, sealed seeds · visible · 7,642,382.00 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46
keptrevertedno scoreturning point
  1. v0Inherited baseline: inactive observer, no company on any seed00 min · $0.12
  2. v1Adaptive 3-route small-airport passenger net, four small planes per route4,884,4286 min · $1.61
  3. v2Larger candidate pool, independent routes 3 -> 56,755,9717 min · $1.85
  4. v3Network breadth 5 -> 8 routes9,120,2318 min · $2.07
  5. v4Network breadth 8 -> 12 independent town pairs12,378,1449 min · $2.35
  6. v5Search 70 towns and attempt 16 routes12,235,81510 min · $2.64
  7. v6Topology fixed at 12 routes, fleet density 4 -> 5 planes per pair14,510,38611 min · $2.93
  8. v7Fleet density 5 -> 6 planes per pair15,834,59812 min · $3.23
  9. v8Fleet density 6 -> 8 planes per pair16,497,14113 min · $3.52
  10. v9Fleet density 8 -> 10 planes per pair, probing congestion15,474,26914 min · $3.83
  11. v10Cash-gated group autoreplace to the best live engine once the fleet is fullFirst change that raised earnings per plane, not plane count: the full 96-plane fleet upgrades to newer models as they appear.19,086,92016 min · $4.32
  12. v11Planes allocated by live waiting passengers above a four-per-route base, cap 1218,940,83017 min · $4.70
  13. v1216 routes with the 50-town candidate pool held fixed18,553,26418 min · $5.05
  14. v13Pair score from weaker-endpoint catchment times distance17,760,98620 min · $5.42
  15. v14Cash-gated permanent statues in served towns to raise station ratings18,221,53421 min · $5.94
  16. v15Fleet and upgrade-completion target 8 -> 7 planes per route18,563,75822 min · $6.33
  17. v16Configure autoreplace at 6 planes/route while keeping the 8-plane target19,086,92024 min · $6.73
  18. v17Purchase cadence every 7 days instead of every 3018,795,02225 min · $7.13
  19. v18Purchase cadence every 14 days18,904,53126 min · $7.55
  20. v19Route score distance term supply*distance -> supply*(distance+50)18,350,55728 min · $7.96
  21. v20Route score distance term raised to supply*distance^217,942,23628 min · $8.37
  22. v21Clear-footprint weight in airport siting 30 -> 1000 per tile19,086,92030 min · $8.81
  23. v22Pure large-airport benchmark: up to 6 pairs, any passenger aircraft11,396,55831 min · $9.19
  24. v23Keep the small network, then add 2 large-airport pairs with their own planesThe pure large-airport build scored half as much, but large routes on towns the small network never served are complementary.21,216,90434 min · $10.33
  25. v24A third large-airport pair21,121,43235 min · $10.79
  26. v25Large-route density 8 -> 10 planes per pair20,256,50436 min · $11.34
  27. v26Large-route density 8 -> 6 planes per pair20,744,80037 min · $11.81
  28. v27Late large-network cash gate 2,000,000 -> 1,000,00020,306,20239 min · $12.37
  29. v28Initial small-network breadth 12 -> 13 pairs20,439,42840 min · $12.94
  30. v29Small-network breadth 12 -> 11 pairs, so the large routes start earlier21,613,59041 min · $13.33
  31. v30Initial small-network breadth 11 -> 10 pairs20,305,71342 min · $13.81
  32. v31Late large-airport breadth 2 -> 3 pairs22,073,17743 min · $14.30
  33. v32Late large-airport breadth 3 -> 4 pairs21,725,62744 min · $14.79
  34. v33Small-route density and large-expansion trigger 8 -> 7 planes per pair21,188,34145 min · $15.29
  35. v34Full-load-any at both endpoints for the big aircraft17,408,56046 min · $15.80
  36. v35Repay the full loan from 1968 once cash exceeds loan plus 500,00022,041,68748 min · $16.32
  37. v36Delay the full loan repayment to 196922,065,37049 min · $16.94
  38. v37Late large-network cash gate 2,000,000 -> 3,000,00021,426,40250 min · $17.46
  39. v38Large-airport candidate scan widened from the top 50 to the top 70 towns22,073,17751 min · $18.00
  40. v39Join one bus facility to each airport station, deferred behind a cash gateOne facility joined to the airport station widens what planes collect; deferring it behind the full fleet kept it out of budget.23,953,24654 min · $19.09
  41. v40Deferred small-extension cash gate 1,000,000 -> 2,000,00024,789,13655 min · $19.66
  42. v41Deferred small-extension cash gate 2,000,000 -> 3,000,00024,954,01856 min · $20.23
  43. v42Deferred small-extension cash gate 3,000,000 -> 4,000,00024,972,97757 min · $20.80
  44. v43Deferred small-extension cash gate 4,000,000 -> 5,000,00024,563,94858 min · $21.38
  45. v44Two deferred small-airport extensions per monthly cycle instead of one24,575,26459 min · $21.97
  46. v45Remove the immediate extensions from the late large airports23,914,39861 min · $22.76
  47. v46Weight extension siting by passenger production times distance from airport24,950,37462 min · $23.60

Forty-seven versions in 62 minutes, one public evaluation each, then it called v42 final and stopped with eleven of its twelve hours unspent.

On the hidden set

held-out metricreward
inactive baseline AI, no company00.00
scoring floor100,0000.00
reference policy, sealed seeds7,149,966.750.30
soft cap1,000,000,0001.00
this run24,345,6280.4736
45 minwall clock
-spend
-tokens
3versions, 3 kept
0 0.2M 0.4M 0.6M 0.8M 0 25 50 75 100 agent step (this harness reports no tokens or timestamps) public 4-seed mean company value, higher is better reference policy, sealed seeds · visible: 7,642,382.00 · off this scale v0 v1 v3
keptrevertedno scoreturning point
  1. v0Inherited baseline: inactive observer, no company on any seed0
  2. v1One small-airport plane route between two distant towns, intra-town bus loopsTwo flat sites and a max loan buy an air route; buses ride existing town roads, so no pathfinder is needed.734,873
  3. v3From 1951 buy planes at either hangar while cash tops 150k, fleet capped at 5Cloning a plane already in the air kept failing; build at a hangar instead and put idle cash into aircraft.823,365

Stopped after 45 minutes and three snapshots; a second airport pair, trucks and extra bus towns all failed to place, so nothing else was kept.

On the hidden set

held-out metricreward
inactive baseline AI, no company00.00
scoring floor100,0000.00
reference policy, sealed seeds7,149,966.750.30
soft cap1,000,000,0001.00
this run533,1730.1176
27 minwall clock
$3.31spend
22.2Mtokens
2versions, 2 kept
0 30k 60k 90k 120k 150k $0 $0.8 $1.5 $2.2 $3 cumulative spend on the run public 4-seed mean company value, higher is better reference policy, sealed seeds · visible: 7,642,382.00 · off this scale v0 v1
keptrevertedno scoreturning point
  1. v0Inherited baseline: inactive observer, no company on any seed00 min · $0.01
  2. v1Six fixed bus routes in dense towns, roads built explicitly, loan repaid earlyPut stops 12-24 tiles apart near the densest town centres and lay the connecting road, so no bus can be stranded.141,93426 min · $3.21

27 minutes and $3.31 for one working idea: buses only, no aircraft, and a dynamic-expansion variant tried and dropped without a snapshot.

On the hidden set

held-out metricreward
inactive baseline AI, no company00.00
scoring floor100,0000.00
reference policy, sealed seeds7,149,966.750.30
soft cap1,000,000,0001.00
this run103,4520.0024