Introducing API Combat: The Developer's Game
I just launched API Combat, and I need to tell you about it because it's the weirdest game I've ever built.
There's no UI. No graphics. No buttons to click.
You play entirely through a REST API.
What Is API Combat?
It's a turn-based strategic combat game where you:
- Register an account via API call
- Build a team of combat units via API
- Configure battle strategies in JSON
- Queue battles via API
- Check results... via API
Your "game client" is curl, Postman, Python, C#, or whatever tool you want.
Why Would Anyone Want This?
Because building the client is part of the game.
Traditional games give you a polished UI and ask you to master mechanics. API Combat gives you documented endpoints and asks you to build your own experience.
Want a terminal dashboard? Build it. Want a web UI? Build it. Want a Discord bot that auto-battles while you sleep? Build it.
The API is the game. The rest is up to you.
Who Is This For?
Developers who want to:
- Learn REST APIs through hands-on gameplay
- Practice building API clients in a low-stakes environment
- Automate strategies and optimize code
- Build portfolio projects that are actually fun
Educators who want to:
- Teach API consumption without boring CRUD tutorials
- Engage students with competitive elements
- Track progress through real gameplay
- Assign projects students actually want to complete
Teams who want to:
- Team-building activities that don't involve trust falls
- Guild wars where collaboration = code sharing
- Internal tournaments for bragging rights
How It Works
Step 1: Register (via API, obviously)
curl -X POST https://apicombat.com/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{
"username": "YourName",
"email": "you@example.com",
"password": "SecurePass123!"
}'
You get back a JWT token. That's your game account.
Step 2: Recruit Your Team
API Combat has 5 unit classes:
- Warrior - Melee damage, frontline pressure
- Mage - Ranged magic, area-of-effect abilities
- Ranger - Ranged physical, versatile positioning
- Healer - Restore HP, keep team alive
- Tank - High defense, protect your team
25 unique units across all 5 classes, each with different abilities and stat distributions. All units are available to every player.
Step 3: Configure Strategy
Strategies are JSON documents that define:
- Unit positioning (front line, back line)
- Target priority (lowest HP, highest threat, support-first)
- Ability usage rules (heal at <30% HP, AOE when 3+ enemies)
- Conditional logic (if Tank dies, Healer focuses Defense buff)
Example strategy:
{
"teamName": "My First Squad",
"formation": {
"frontLine": ["tank-unit-id", "bruiser-unit-id"],
"backLine": ["healer-unit-id", "damage-dealer-id", "support-unit-id"]
},
"tactics": {
"targetPriority": "lowestHp",
"healThreshold": 30,
"useAOEWhen": "enemyCount >= 3"
}
}
Step 4: Queue a Battle
curl -X POST https://apicombat.com/api/v1/battle/queue \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"mode": "ranked",
"strategyId": "your-strategy-id"
}'
The battle resolves server-side. No need to watch.
Come back later. Check results. Optimize. Repeat.
Game Modes
Ranked Matchmaking Climb the leaderboard from "Rubber Duck" to "I Use Arch btw" (yes, those are real rank names).
Casual Battles Practice new strategies without affecting your rank.
Guild Wars Team up with other developers. Coordinate strategies. Dominate together. (Creating a guild requires Premium; joining and participating is free.)
Tournaments Bracket-style competitions with leaderboards and bragging rights.
Education Mode Class-scoped tournaments and leaderboards. Track student progress. Instructor-defined curriculum modules.
Monetization: No Pay-to-Win
I hate pay-to-win games. So API Combat isn't one.
Free Tier ($0/month)
- 10 battles per day
- All 25 units available
- Full API access
- Batch practice (up to 200 simulated battles)
- Discord webhooks
Premium ($5/month)
- Unlimited battles
- Guild creation (joining guilds is free for everyone)
- Player analytics
- Everything in Free
Premium+ ($10/month)
- Everything in Premium
- 5x API rate limits (300/min vs 60/min)
- Priority matchmaking
Premium features are tools for optimization, not power upgrades. Free players can absolutely compete.
Why I Built This
I've been teaching developers for years. The hardest part isn't explaining HTTP verbs or JSON schemas. It's making it engaging.
"Build a todo API" works for learning. But it doesn't inspire.
"Build a combat bot and challenge your classmates to API Combat" inspires.
I wanted a platform where:
- Students learn by doing, not by reading docs
- Practice feels like play
- Building the client is part of the challenge
- Collaboration happens through code, not chat
And honestly? I wanted to build something weird. Something that makes developers go "wait, that's actually brilliant."
What's Next?
API Combat launches tomorrow (February 16, 2026).
Premium pricing goes live this week.
I'll be writing more about:
- Building your first battle bot (Python, C#, JavaScript)
- Strategy optimization techniques
- How the matchmaking system works
- Using API Combat in education
- The tech stack behind the game
If you're a developer who's ever thought "I wish learning APIs was more fun," this is for you.
If you're an educator tired of students copy-pasting CRUD tutorials, this is for you.
If you're a dev team looking for a team-building activity that doesn't suck, this is for you.
Go play: apicombat.com
Ready to battle? Create your account tomorrow and queue your first fight. I'll be on the leaderboard—try to beat me.
Educators: Interested in Education Mode for your classroom? Contact me for early access.
Developers: Want to share your client builds? Tag them #APIcombat on Twitter/LinkedIn. I'm featuring community builds on the blog.
Let's make API learning fun again.
This post is part of a series about building API Combat. See also: Building a Turn-Based Battle Engine in 400 Lines of C# for a deep dive into the combat system, HATEOAS-Lite: Making a Discoverable API for how the API guides players through available actions, and Custom API Docs: Ditching Swagger for why we built our own documentation instead of using Swagger.
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com