One bot, two-player match
You manage one farm. Every scored episode pairs your bot with another bot managing a separate farm.
Kaggriculture
Finish 720 turns with more coins in the bank.
Essentials
You manage one farm. Every scored episode pairs your bot with another bot managing a separate farm.
Higher bank wins. Equal bank ties. Lower bank loses. Unsold inventory is worth zero.
Kaggle adjusts skill rating across many episodes. The size of the coin lead does not affect that rating.
Setup
Live snapshot · Aug 14
One public replay sampled per agent. Observed behavior—not private implementation.
12 melons · 8 cows · 4 sheep
13 strawberries · staged third quadrant
102,222 bank · near-empty inventory
Pattern: balanced production, staged expansion, disciplined exit.
3 quadrants · 36 sprouts · 8 cows
20 strawberries · 10 cows
126,350 bank · inventory cleared
Pattern: early land, dense crops, aggressive capital deployment.
12 melons · 6 cows · 6 sheep
4 quadrants · 18 pastures · 12 sheep
80,832 bank · decisive sampled win
Pattern: full-grid expansion, sheep-heavy compounding, wheat support.
Approach A · v0
First local benchmark complete.
Ten melons, five wheat plots, six temporary hands.
Build four pastures and unlock the second quadrant.
Feed and care for cattle while recurring crops mature.
v0 still hires and buys seeds; a hard liquidation gate is the next change.
| Seat | Episodes | Finished ahead | Average final bank |
|---|---|---|---|
| First | 10 | 10 / 10 | 31,622 |
| Second | 10 | 10 / 10 | 31,052 |
Local benchmark: Balanced Tempo v0 versus Kaggle's starter bot. This is matchup evidence, not a Kaggle leaderboard rating.
Best run · seed 3 · second seat
A tie is only possible when both bots finish with exactly the same bank. Cattle, strawberries, and clean exit are internal strategy checkpoints—not official win conditions.
Daily trace
| Day | Phase | Bank | Change | What happened | Why |
|---|
Balanced Tempo finished ahead in all 20 head-to-head episodes.
Average bank differed by only 570 coins between first and second seat.
Final bank varied by 14,352 coins across seeds.
Three runs ended with three cows; only eight reached ten strawberry plots.
Approach B
Trade early liquidity for productive surface area.
Preserve cash for land and seeds.
Expand before day 11.
Convert surface area into peak production.
Harvest and sell before turn 720.
Approach C
Build recurring yield around feed reliability.
Hold a daily safety reserve.
Expand only with labor capacity.
Collect products and fertilizer on route.
Empty shed and inventories.
Reference
Objective
Every episode is head-to-head. Unsold crops, animals, and shed inventory do not count.
Built from head-to-head episode outcomes.
Shows whether the farm economy is improving.
Errors, timeouts, and invalid actions.
Environment
The agent observes these rules; it cannot change them.
30 days with 24 turns each.
Northwest 5 × 5 begins unlocked.
Three more quadrants cost 1,000 / 2,000 / 4,000.
Overflow at day-end is discarded.
Both players affect shared prices.
Unwatered plants become weeds; unfed animals escape.
Daily hires follow Fibonacci pricing and reset each day.
Shops unlock every 3 days and consume stock every 4 turns.
Policy
Lower number wins when tasks compete.
Harvest crops or animal output before it decays or caps.
Water plants, collect feed, and feed cattle.
Care after feeding to increase the next production event.
Build four pastures and place purchased cows.
Plant wheat plus melons before day 13; strawberries after.
Move toward the next target; after hour 20, return carried output to the shed.
Sell completed output already in the shed.
Hire six temporary hands for the day.
Target 10 melons + 5 wheat plots.
Target 4 cows and keep at least 8 wheat feed in reserve.
Target 15 strawberries; buy the first expansion when bank ≥ 2,200.
No gate yet. The agent continues reinvesting—this is the known exit defect.
Portfolio, worker count, routing, crop timing, land purchases, market orders, and when to stop reinvesting.
Both farms, shared prices, town demand, current day/hour, its private seeds, shed, and carried inventory.
Episode seed, opponent actions, shop unlock sequence, weed rolls, rule constants, and the 720-turn deadline.
Board
Economy
| Asset | Buy-in | Base price | First yield | Cadence / life | Daily obligation |
|---|
Prices move with supply and town demand.
Invariants
Submission
def agent(obs):
return {
"farmer": ["PASS"],
"hands": [],
"market": []
}
main.py at archive root with agent(obs)Evidence
One change. Enough head-to-head episodes. Clear decision.
Trend
Log a matchup to start.
History
Start with a baseline.
Priorities
Impact × confidence ÷ effort.
Backlog