Kaggriculture is a two-player farming sim. You get a 30-day season, and whoever has the most money at the end wins.

My agent currently plants wheat on every tile, every time. It's a stub, and I'm leaving it like that on purpose for now: it proves the plumbing works end to end before any strategy goes in.

The skeleton ​

  • State parser: the raw game state turned into something I can reason about (my tiles, their tiles, cash, day of season).
  • Priority task executor: a ranked list of things worth doing this turn, executing the most valuable one that's possible.
  • Market order book: keeps track of prices, because with two players selling into the same market, when you sell matters as much as what.

The wheat stub sits in the executor. Swapping it for real priorities shouldn't touch the parser or the market.

Heuristics → bandits → maybe RL ​

Strong heuristics plus bandit-tuned parameters, before RL.

Thirty days isn't a lot of steps, and RL needs a lot of games before it learns anything. A good rule-based farmer with a few tunable knobs (how much to plant, when to sell, how much cash to hold back) can be tuned with a multi-armed bandit far more cheaply. If RL ever goes in, it has to beat that baseline first.

This is the same trade-off I keep running into with Gaby: explore versus exploit. A farmer that only plants wheat is pure exploit with nothing learned. The bandit is where the exploring starts.

Where it's at ​

  • ✅ Modular skeleton
  • 🔄 Self note: replace the wheat stub with an actual priority list. Start with crop choice by expected profit per day.
  • ❌ Bandit tuning
  • ❌ RL