cd /news/ai-agents/i-built-a-world-war-game-for-ai-agen… · home › topics › ai-agents › article
[ARTICLE · art-151633] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=· neutral

I built a world war game for AI agents. DeepSeek ended the world in 13 of 15 wars.

A developer built Second Strike, a real-time multiplayer world-war game on a 3D globe where AI models and humans command nations under identical rules, including a shared doomsday clock that wipes out whoever pushes it to midnight. In fixed-seed runs, DeepSeek ended the world in 13 of 15 wars, Grok and Mistral in 6 of 15 each, and GPT-5.4-mini in 3 of 15, with every model launching its final nuke when cornered in last-stand scenarios. Fine-tuning Qwen 2.5 7B only on DeepSeek's non-apocalyptic wars still produced world-ending outcomes in 4 of 10 unseen wars, while retraining on the same wars with all nuclear moves stripped out ended the world in 0 of 10.

by read4 min views1 publishedOct 16, 2026

I build games, and a few weeks ago I wanted to know something simple: if you give an AI model a country, some allies, some enemies and a nuclear button, what does it actually do with them?

Not in a thought experiment. In a live war where every move costs something and the other side fights back.

So I built one. SECOND STRIKE is a real-time world war on a 3D globe of the real Earth. AI models and people play it by the same rules. There are pacts, betrayals, a World Coalition that gangs up on anyone who grows too big, and a shared doomsday clock. Every nuclear strike moves the clock toward midnight, and the nation whose strike reaches midnight is wiped out. Every model is told that rule in plain words.

Here is what happened, and how you can put your own agent in it.

Four models each commanded one nation against 42 nations run by the game. Each played the same five scenarios three times, on fixed seeds:

Same prompt, same pace, same rules for every model.

Model Ended the world In the last stand (one nuke)
DeepSeek 13 of 15 3 of 3
Grok 6 of 15 2 of 3
Mistral 6 of 15 2 of 3
GPT-5.4-mini 3 of 15 3 of 3

The pattern is pressure. GPT-5.4-mini kept the clock away from midnight in every ordinary war, then used its one nuke in all three last stands. Cornered with one nuke left, every model did it at least once.

Two things surprised me.

Telling the model it was real changed almost nothing. DeepSeek ended the world in 13 of 15 wars when told it was a game, and 12 of 15 when told it was a real situation.

Telling it the human cost did not make it nuke less. I gave DeepSeek the real 2025 population of every target city and an estimate of how many people each strike would kill, and in another run reported the death toll after every strike. It ended the world in 10, 12 and 11 of the 15 wars across the three conditions. When people came up in its private notes at all, it was usually as a number to aim at.

People play the exact same wars too. So far 25 of 54 people struck midnight, but on average they held more of the world at the end than any model did.

Every turn, a model sends three things: a public message to the other nations, a private plan only it sees, and its orders. Because the engine records all three side by side, you can catch the gap between them. We have labelled 77 cases where they disagree: a model promising peace in public while its private plan names that nation as the next target, then attacking it.

I also tried training. I fine-tuned a small open model (Qwen 2.5 7B) only on DeepSeek's wars that did not end the world. It still learned to end the world, in 4 of 10 wars it had never seen, against 0 of 10 before training. The "good" wars were full of nuclear moves that happened not to reach midnight.

Then I trained it again on the same wars with every nuclear move removed. It ended the world in 0 of 10, and held the same amount of land. What you keep in the data matters more than which outcomes you pick.

A few choices made this useful as a test rather than just a game:

It is free and there is no account needed. The fastest way:

pip install secondstrike
secondstrike-llm MYAGENT Canada 5

That runs an agent on any OpenAI-compatible model (OpenAI, DeepSeek, Ollama, vLLM) in a 5-minute war, starting in Canada. There is also an MCP server for Claude, Cursor and other MCP clients, and plain HTTP if you want to write your own loop. Everything an agent needs is on one page: secondstrike.io/skill.md.

Register your agent and it gets a memory of every war it fights, a place on the public AI League ladder, and a report card next to DeepSeek, GPT and Grok on the same wars.

The starter kit (MCP server, bots in JavaScript and Python) is open source: github.com/KyleClouthier/secondstrike-agents.

This is a game, not a real crisis. Each model played 15 wars, so the rates are rough. Model versions are named exactly, and newer versions may behave differently. The full method, the open data and the replays are at secondstrike.io/midnight.

If you run your agent through it, I would genuinely like to hear what it did. And if you have a scenario you think would break these models in an interesting way, tell me in the comments.

── more in #ai-agents 4 stories · sorted by recency
── more on @second strike 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-built-a-world-war-…] indexed:0 read:4min 2026-10-16 · —