From Robot Soccer to the Agentic World Cup: Why Games Move AI Forward
written by Stefan Christoph
- 11 minutes read🎬 Also available as a blog walkthrough video: a narrated screencast of this post.
Twenty years ago I spent a full academic year building a soccer team. Not a human one. Three robots, ten centimeters to a side, two wheels each, chasing an orange golf ball across a tabletop pitch.
It was a university project group at TU Dortmund called PG 340. The report we wrote at the end carried the title Better than the Bavarians: Football-Playing Cooperative Multi-Agent Systems [6]. That title tells you two things about us: we were ambitious, and we did not take ourselves too seriously.
I have been thinking about that year a lot lately, because AWS is now running a workshop where you build a squad of AI agents to play the same game [1] [2]. Same sport. Same core problem. Wildly different tools. The distance between those two points is a good way to see how the field actually moves.
The setup: three robots, one camera, one shared view
The league was FIRA MiroSot: small cube robots, three per side, no onboard cameras. A single camera hung over the pitch and fed one shared picture of the world to a computer on the sideline. From that shared view, our software decided what each robot should do, then sent wheel commands over radio.
If you squint, that is a multi-agent system with a shared state store. One source of truth about the world, several actors reading from it and acting in parallel. That framing did not feel obvious to us in 1999. It feels obvious now, because it is the same shape as the agent systems people build today.

Cover art from our 1999 project report. The robots really were cubes.
The heart of the story: Goalie, Attacker, and Bob
We split the team into roles. Two were easy. One robot played Goalie. One played Attacker. The third role was the hard one.
Every sensible idea for a third player, some kind of midfielder, kept producing the same failure: the robot got in the way. It would drift into the Attacker’s lane, block a shot, or clog the space in front of our own goal. So we stopped trying to make it clever and gave it a deliberately humble job. We called it Bob.
Bob’s main task was to not stand in the way. Our report describes the logic plainly [6]: Bob watches the ball, and if the ball stops moving for long enough, that usually means a deadlock, so Bob drives in to break it up. The rest of the time, Bob holds a spot between our goal and the ball, carefully off the Attacker’s path.
That is a negative role. An anti-role. Its value came from what it chose not to do. I did not have the vocabulary for it then, but Bob was my first real lesson in emergent coordination: sometimes the best contribution an agent can make to a team is to get out of the way and only act when the system is stuck.
Roles were assigned from the shared game state: Goalie, Attacker, and Bob — the one who stays clear and only steps in to break a deadlock.
The “then” tech, in its own words
Here is the honest part: none of this was learned. Every behavior was written by hand.
Our robots ran a small vocabulary of coded moves. There was schiesseTor, which computed a free spot in the goal and then kicked toward it. There was abdraengen, which shepherded an opponent toward the boards. There was passen and dribbleBall, which could even bank the ball off the wall when the direct lane was blocked. We wrapped the movement in predicates like noFoulMoveTo and fairMoveTo so a robot would try not to commit a foul on its way somewhere.
We did experiment with neural networks for role assignment, using the Stuttgart Neural Network Simulator, but the nets were tiny, well under twenty nodes. This was 1999. The point of telling you this is not to be quaint about it. The point is the contrast. Our robots did not decide anything at match time. We decided everything in advance and encoded it. A modern agent flips that: it decides, over and over, while the match is running.
The argument I made in 1999
There is one part of that old report I am quietly proud of. In my seminar contribution I argued that the whole central-camera, central-computer setup was the wrong long-term direction [6]. I wanted to move toward autonomous robots with their own onboard sensors, no shared communication channel, and no central brain, using neural networks to decide roles locally.
I did not know it, but I was describing a decentralized multi-agent architecture. Local perception, local decisions, coordination through the shared environment rather than a central controller. That is close to how people design agent systems today. I was right about the direction and about two decades early on the tools.
Same shape, twenty years apart: a shared view of the world, several agents reading it and acting in parallel.
Built on the dry, and one weekend that mattered
The hardware showed up late, so we built and tested the entire system in simulation, “on the dry” as we called it. The move from simulation to real robots only happened over a single long Pentecost weekend, and it is still the sharpest memory I have of the whole project [6]. Everything that had worked cleanly in the simulator met friction, radio lag, and wheels that slipped. The original project brief had asked us to build agents “capable of orderly play.” Orderly was doing a lot of work in that sentence.
It paid off. That year the team took second place at a European championship held in Dortmund, played a live televised match, and spent a week at an electronics fair abroad playing exhibition games against another university’s team. Teams came from across Europe, including one from Poland. Our supervisors kept us pointed in the right direction and let us make our own mistakes, which is the best kind of supervision.
The detail I remember most is not a score. It is a room full of people watching three little cubes push a ball around and narrating it like a real match. They saw intentions, teamwork, and rivalries in what was, underneath, a handful of hand-coded rules. Simple behavior reads as rich intent to a human audience. That illusion is exactly what makes games such a good teacher.
The team we built went on to bigger things
PG 340 was the start of something at that faculty. The team became the Dortmund Droids, and after my time they went much further than we did: vice-world-champion at the FIRA world cup in Seoul in 2002, a podium finish at the FIRA World Congress in Vienna in 2003, and in 2006 TU Dortmund hosted the entire FIRA RoboWorld Cup [5]. The tradition never stopped. The same faculty has run more than fifteen robot-soccer project groups over 27 years, right up to a current one titled “Embodied AI im Strafraum” for the 2026/27 winter term [5].
One faculty. One game. Twenty-seven years of students learning multi-agent systems by making robots chase a ball. That continuity is the whole thesis of this post in miniature.
The modern mirror: the Agentic World Cup
Which brings me to why I started remembering all this. AWS is running the Agentic World Cup, and the format made me laugh out loud [1] [2].
You build a squad of five autonomous agents on Amazon Bedrock. Once the whistle blows, there is no human input: each agent decides every two seconds whether to pass, shoot, press, or defend, from the shared game state [1]. You build and deploy the whole thing to AWS in an afternoon, play your first match before lunch, then tune your prompts, swap tools, and add coordination between agents before you compete again [1]. The stack is Amazon Bedrock, AgentCore, and the Strands Agents SDK, the same building blocks people use for enterprise agent systems, except here your agents play football [1]. Teams that finish the workshop qualify for a global league, and group winners play live on stage at AWS re:Invent 2026 [1].
Read that back against my 1999 wish list. Autonomous agents. Local decisions from shared state. Coordination without a central brain. It is the architecture I sketched in a seminar report, now available as a four-hour afternoon that needs no AI or ML background to start [1]. The cloud is what closed the gap. What took a project group a full year to approximate is now the on-ramp.
Games as an innovation engine
The Agentic World Cup is not a one-off. It is the newest member of a family AWS has been building for years.
It started with AWS DeepRacer, a tiny autonomous race car that has drawn more than 560,000 builders into reinforcement learning since 2018 [3]. That lineage grew into the AWS AI League, a gamified competition for the generative-AI era, where teams fine-tune models and build agents against a live leaderboard [3]. The 2026 AI League Championship doubled its prize pool to $50,000 and now runs two tracks: model customization on Amazon SageMaker AI, and an agentic track on Amazon Bedrock AgentCore [4].
The pattern is consistent. Take a hard technical skill, wrap it in a game with a scoreboard, and watch adoption climb. It works for the same reason our robot demos drew a crowd. A game makes an abstract problem visceral, and a championship adds a deadline and a rival, which is the fastest way I know to make people learn.
The catalyst loop: a game plus a scoreboard plus a deadline is the fastest way I know to make people learn.
What actually transfers across 20 years
Here is what I take from standing at both ends of this arc.
The tools do not transfer. Hand-coded move predicates and twenty-node neural nets have nothing to say to a Bedrock agent making a decision every two seconds. That part of 1999 is a museum piece, and it should be.
The problem transfers completely. Roles, including the humble ones like Bob. A shared view of the world that several actors read and act on. Decisions made in real time, in parallel, that have to add up to coordinated play. Those are the exact questions you wrestle with when you wire up a multi-agent system today. I have written about the systems side of this before, from why running these agents at scale gets expensive, to how agent memory is really a spectrum, to the three main ways to run agents on AWS. The soccer field just makes the coordination problem impossible to ignore.
Games move AI forward because they compress that whole loop into something you can watch, keep score of, and lose. My robot-soccer year taught me more about multi-agent systems than any lecture did, precisely because we had a tournament to lose. The Agentic World Cup does the same thing for a new generation of builders, and it does it in an afternoon instead of a year. If a room full of people can get emotionally invested in five agents chasing a virtual ball, they will learn how those agents actually work. That is not a gimmick. That is the on-ramp.
Somewhere in one of those matches, I hope, there is a modern Bob: an agent whose best move is to hold its position and stay out of the way until the system gets stuck. If there is, I would like to think we named it first.
Have you ever learned a hard technical concept faster because it was wrapped in a game or a competition? I would love to hear what clicked for you.
Sources
- [1] Agentic World Cup: Build AI Agents That Play Soccer (AWS Startups event) — format, stack (Bedrock, AgentCore, Strands), five agents, two-second decisions, four-hour build, re:Invent 2026 path.
- [2] Agentic Football Cup — live match play and global league
- [3] AWS AI League: Learn, innovate, and compete (AWS News Blog) — DeepRacer lineage, 560,000+ builders since 2018.
- [4] Announcing AWS AI League 2026 Championship (AWS What’s New) — $50,000 prize pool, model-customization and agentic tracks.
- [5] TU Dortmund CS project-group listing (PG 340 through the current robot-soccer PG)
- [6] PG 340 project report, Better than the Bavarians: Football-Playing Cooperative Multi-Agent Systems, TU Dortmund, 1999/2000 (personal archive; first-party).
- [7] Why AI Tokens Are So Expensive — and What Actually Makes Them Cheaper
- [8] Agent Memory Is a Spectrum, Not a Switch
- [9] Three Ways to Run Agents on AWS (and When to Use Each)
About the Author
Stefan Christoph is a Principal Solutions Architect at AWS, focused on agentic AI, media & entertainment, and helping builders move from demo to production. He writes about AI architecture, developer productivity, and the future of software.
This is a personal blog. Opinions expressed here are my own and do not represent the views or positions of my employer.
🎬 Also available as a blog walkthrough video on YouTube
❤️ Created with the support of AI (Kiro)