Devlog #2 - How Do You Build Co-op in a Roguelite Card Game?
Since I started working on Duelo, one question kept coming back again and again:
How can I make this game playable in co-op?
The Challenge
This is my first time developing a videogame… and also my first time building online multiplayer.
So from the beginning, I knew one thing:
I shouldn’t overcomplicate it.
The most obvious approach would be a fully synchronized battlefield:
- Players sharing the same board
- Seeing each other’s heroes and units
- Interacting with the same space in real time
But there was a problem.
Duelo was designed from the ground up as a single-player experience.
Trying to retrofit full synchronization would mean:
- Reworking core combat logic
- Rebuilding systems that assume a single player context
- Increasing complexity a lot for a solo developer
So I asked myself:
What’s the simplest version of co-op that still feels meaningful?
The Inspiration: Raid-Style Co-op
The answer came from an unexpected place: raid systems like the ones in Pokémon Go
Instead of forcing players into the same battlefield, the idea is:
- Multiple players join a shared lobby
- Everyone fights the same boss
- But each player plays their own instance of the battle
The key?
The only thing that’s synchronized is the boss’s health.
No need to sync units. No need to sync boards. No need to sync complex interactions.
Just one shared objective.
Duelo Co-op Proposal
Here’s how co-op could work in Duelo:
- Up to 4 players join a lobby
- A random boss is selected, along with a set of mutators to make the fight challenging
- Each player selects the deck they want to bring
When the battle starts:
- Every player fights the boss in their own isolated match
- You won’t see other players’ cards, heroes, or units
- You only interact with your own battlefield
But…
- The boss’s health is shared across all players
- If one player reduces the boss HP from 80 → 70 → everyone sees that change in real time
This creates a sense of cooperation without the technical overhead of full synchronization.
Why This Approach?
For a solo developer, this approach has huge advantages:
- Much simpler networking logic
- No need to redesign the entire combat system
- Scales better for early testing and iteration
But more importantly… It still creates tension and cooperation:
- You’re racing against time and against failure
- Every player’s performance matters
- If one player dies, the entire party is Defeated.
- Victory is shared — and so is defeat
What Do You Think?
This is still an evolving idea, and your feedback really matters here.
- Does this kind of co-op make sense to you?
- Would you find it fun or engaging?
- Would you prefer a more traditional synchronized system instead?
I’d love to hear your thoughts as I continue shaping this feature.
Because just like everything in Duelo… this system might evolve in unexpected ways.