ReviewOS

stacks/the-settlers-iii-remake

Reserve stone for the quarry before optional AI construction

#198
Closed chris opened this 8 days ago ·
8 days ago

An ordinary two-policy seed-3 match spends its last three stones on a fourth small tower at tick3,120, before granite is known. It has no stonecutter. The tower is a legal public command, but it consumes the entire budget needed for a future stonecutter. Later exploration finds granite after the remaining permitted non-military refunds can no longer pay the quarry. At100,000ticks player1 has produced no stone and the match remains unfinished; a continued normal trace remains unfinished180,000 with clean conservation and no failed executions.

Owning source: game economicAI construction planning. The current bootstrap guard only applies once granite is known. Expansion orders and other optional buildings can commit the last quarry budget earlier.

Captured ordinary checkpoint before the last-stone tower: source ccaf4315f5301811a1848de8106136937ed937b7, generated simulation only. Full SHA256/size will be retained with the regression fixture. No world, goods, worker, terrain, rule or clock edits.

Acceptance:

  • Preserve a real stonecutter construction budget while no stonecutter exists, including when granite has not been discovered yet.
  • Apply the budget to expansion towers and other optional construction; account conservatively for unfinished sites without inventing goods or using hidden deposits.
  • Permit normal stonecutter construction when a usable site is known, and retain ordinary expansion when sufficient spare stone exists.
  • Retain a public observation/ordinary command regression for the captured spending failure and matching restore/conservation through later play.
  • Repeat normal seeded economies and report any remaining resource/survey/production failures. Do not claim every seed or Gold behavior from this scoped correction.
  • Appropriate source lint/type/unit/build/browser checks and exact pushed-main CI must pass before closure.

Related #73, #74, #76, #43 and #4. This is engineering AI against profile0.10.0, not an observed original Gold difficulty policy.

8 days ago

The owning planner now reserves the quarry's real stone cost plus conservative unfinished-site costs whenever no retained stonecutter exists. Both normal building and expansion-tower orders respect it. It uses only the own-player view; no goods, physics/profile or clocks change.

The captured failure is retained at source main ccaf4315f5301811a1848de8106136937ed937b7, tick3120, checksum bfe24afa, SHA256 e52ac6b863a873f82c17f6b65f404f1ddfd756960869e4d726ceeef7b5593706 (438482bytes). Three focused regressions pass with16assertions, following two retained failures before the fix. They cover unknown-granite reservation, real later quarrying with matching restore/no grants, and legitimate tower expansion with enough spare stone.

All299unit tests pass with22984assertions across41files, including the ordinary passive-player battle and mid-game restore. Lint/type/build/assets/fidelity/roadmap pass. Fresh browser acceptance has passed its first eight suites and is running the ten-real-minute battle at ordinary4x.

Complete ordinary two-policy command tracing has clean accounting and zero failed executions on all four seeds:

  • seed1: player1wins34021, checksum b1aedf7e.
  • seed5: player2wins72501, checksum fe57e149.
  • seed3: unfinished100000, checksum 91a463bb. Player1now makes66stone,190iron and20swords/21spears/20bows, compared with zero stone/iron/weapons before this fix. Match completion is still unproven.
  • seed2: unfinished100000, checksum c7ce62e5, although it finished before the policy change. The changed trajectory exposes the ineffective forester wait tracked in #199. Two ordinary work-area commands in the retained probe resume timber/weapon production and the match ends119841; automatic recovery is not implemented yet.

This scoped reserve correction is not a claim of generally improved match completion or full AI play. Publication, exact-main CI and artifact verification remain pending. #73/#74/#76/#4 stay open.

8 days ago

Delivered at 340ddc2a561354a9df8c2c246745e7e957b08ddb, normally FF pushed to origin/main as Chris Breuer without coauthors.

Three focused public-policy/session regressions pass with16assertions after the two retained pre-fix failures. All299unit tests pass with22984assertions across41files, plus lint/type/build/assets/fidelity/roadmap. Fresh local acceptance verifies all385browsersteps, no collected errors, a full ten-real-minute battle at normal4x and actual save/reload.

Exact-main CI40235769537 succeeded. Original artifact12615880512,19646bytes, SHA256 9aaa40b64792983ec97092f197a20f184c22e753677a05b053b60f8cd73232e6 matches GitHub digest; everyZIPCRC/all385steps/empty console, request and collection errors verified.

Ordinary two-policy seeds1and5finish34021/72501. Seed2's unchanged continuation finishes119001, checksum6593733f, withzero failed executions and clean accounting. That matched control disproves the proposed permanent forestry deadlock in #199, which is closed as not planned; no forestry code changed. Seed3now makes66stone/190iron/61weapons but remains unfinished100000. #200 retains its off-axis scouting gap.

The dated committed receipt records source/fixture identities, conservative pending-site budget, frozen profile0.10.0 and unchanged locks/published Stacks311 adoption. Closing this construction-budget defect only; #73/#74/#76/#4 remain open. No all-seed sustainability, complete AI, original Gold or native-presentation claim.

Sign in to comment on this issue.