Cloaks & Dagger Litepaper

Current gameplay structure, design, and architecture overview for Cloaks & Dagger. Under development.

1. Overview

Cloaks & Dagger is a hidden-position survival game built around incomplete information. Players attack opponents while avoiding being targeted themselves, inferring positions from footprints, attack history, decoys, recharge-room behavior, item use, and trait-based powers.

The backend acts as the game master: clients submit intent, while the server owns the full room state and resolves the outcome. This keeps hidden positions and combat state from being exposed or fabricated by a browser, while still letting the client animate quickly and reconcile after position, resources, and combat are finalized.

Fig. 1. Gameplay loop.
Gameplay loop flowchart A vertical flowchart showing room start, observation, player action branches, server resolution, room active condition, and room close. Start room select Cloaks, spawn, countdown Observe board clues, footprints, attack marks, items Player action choose intent Move / reposition explore, track opponent, flee Attack tile target a tile Use item / special swords, potions, traps, etc. Server resolves position, resources, combat Room active? Yes No Room closes

Loop structure

The gameplay loop starts with room registration, then repeats through observation, player intent, server resolution, and client reconciliation until the room ends.

Table I. Current room loop stages.
StageCurrent structure
RegistrationSelected Cloaks enter the room roster, up to the per-player limit.
Start thresholdThe room starts when the required player count is reached.
SpawnCloaks spawn with metadata-derived vitals and abilities.
Visible stateLocal board state, self state, visible items, clues, marks, decoys, presence signals, and live events.
Hidden stateOpponent positions and unresolved combat state stay server-owned.
Player intentMove, queued movement, attack a tile, or use an item.
ValidationRejects stale, invalid, unaffordable, blocked, or out-of-range actions.
ResolutionApplies the accepted action and writes the resulting room state.
ReconciliationOptimistic movement, animation, and UI state reconcile to the server result.
Room lifecycleEnds when time runs out or only one player's Cloak(s) remain.

2. Gameplay Rule System

*subject to change

The game logic is designed so each token's metadata can lead to different strategies. These examples show how several current rules connect metadata, hidden-state play, and board interaction.

Table II. Metadata-driven rule examples.
Metadata / item inputRule or moveCurrent behavior
Cheetah TypeStamina recoveryRecovers stamina faster than the normal stamina refresh rate.
Bat TypeFootprint suppression / Guano BombSuppresses normal movement footprints and can use a Bat-specific area attack.
Potion of InvisibilityStealthSuppresses footprints and sight-based reveals; correct-tile attacks can still land.
Potion of TelekinesisRevealTemporarily reveals exact nearby presence markers.
Potion of SummoningDecoysAdds decoy charges; placed decoys create false presence until attacked.
ClanRecharge-room accessMatching clans enter; foreign clans are denied; clanless Cloaks use a remembered room decision.
Komodo TypeKomodo PitCreates a poison source that damages entrants over time while allowing movement.
Viper / Python Animal WrapSnake PitCreates an immobilizing trap zone for non-immune Cloaks.
Key of SecretsSecret interactionIt's a secret, migo.
HaloLethal blockBlocks one lethal hit per room session, then is consumed for that session.
Sword of the Moon / Earth / Fire / SunSword area attackUses a sword-specific area size, from smaller Moon coverage to larger Sun coverage.

Defensive behavior

Armor-style metadata traits map to a specific chance to block an incoming attack. When the block succeeds, the Cloak receives no damage from that attack.

Armor block rates use both item naming and rarity. Each armor family has its own defensive band, then rarity within that family determines the final rate. This keeps stronger-sounding armor meaningful without making global rarity the only balance input.

Table III-A. Current armor block rates by trait class.
Armor familyTrait classBlock-rate band
ChestplateChest18%-30%
Elite GuardChest16%-30%
Battle VestChest14%-25%
VestChest10%-20%
Shoulder ArmorShoulder Gear12%-30%
Shoulder GuardShoulder Gear10%-20%
Single GuardShoulder Gear20%-30%
StrapShoulder Gear5%-10%

The full table below is sorted by highest block rate, then alphabetically for items with the same rate.

Table III-B. Full armor block rates.
Armor itemTrait classQuantityBlock rate
Chestplate Samurai MoonChest17730%
Elite Guard RedChest13530%
Shoulder Armor SpikesShoulder Gear5430%
Single Guard SilverShoulder Gear4930%
Shoulder Armor GoldShoulder Gear7129%
Chestplate TitaniumChest32528%
Chestplate GoldChest44627%
Elite Guard SilverChest19926%
Single Guard GoldShoulder Gear12426%
Battle Vest RedChest12125%
Chestplate Samurai DuskChest72024%
Chestplate SamuraiChest82123%
Shoulder Guard EmeraldShoulder Gear30520%
Single Guard SteelShoulder Gear24320%
Vest Regal GuardChest17820%
Battle Vest BrownChest27919%
Chestplate SteelChest112319%
Shoulder Armor SilverShoulder Gear28519%
Chestplate IronChest122418%
Vest BlueChest22918%
Vest Red GuardChest23118%
Vest SilverChest25117%
Elite Guard BronzeChest33916%
Shoulder Guard RubyShoulder Gear45016%
Battle Vest TanChest39514%
Shoulder Armor SteelShoulder Gear43712%
Shoulder Guard TopazShoulder Gear69810%
Strap X RedChest14310%
Vest Brown GuardChest40110%
Strap Grey LeftChest2839%
Strap Grey RightChest3028%
Strap X GreyChest4597%
Strap BlackChest5925%
Strap X BrownChest6255%

When a Cloak has more than one defensive armor trait, block rates combine multiplicatively. This gives diminishing returns instead of summing the rates.

Armor combination example
# CLOAKS #27 has Chestplate Samurai Moon and Shoulder Armor Steel.
# Chestplate Samurai Moon -> 30% block.
# Shoulder Armor Steel -> 12% block.

combined_block = 1 - ((1 - 0.30) * (1 - 0.12))
combined_block = 0.384 # 38.4%, not 42%

Vitals

Vitals come from the three numeric metadata traits: Power/Strength sets HP, Wisdom/Magic sets PP, and Speed/Agility sets Stamina.

Trait-derived vitals
# Power -> HP, Wisdom -> PP, Speed -> Stamina.
# Example: CLOAKS #12432 has Power/Strength=98,
# Wisdom/Magic=97, and Speed/Agility=94.
# With HP_BASE=50, HP_MIN=1, HP_CAP=125: max_hp = clamp(98 + 50, 1, 125) = 125.

max_hp      = _clamp(power + 50, 1, 125) # range: 51-125 HP
max_pp      = _clamp(int(25 + ((wisdom - 1) / 98.0) * 25.0), 1, 50) # range: 25-50 PP
max_stamina = _clamp(speed + 50, 1, 150) # range: 51-149 Stamina

Information mechanics

Players read clues about where opponents may be; exact positions are shown only in specific cases such as same-tile presence or reveal effects.

Table IV. Clue signals shown to players.
MechanicInformation it gives
FootprintsShows a recently left tile, fading by movement step age and using clan color when available.
Attack marksShows the attacker whether a targeted tile missed, hit, or was blocked.
Directional cluesSummarizes nearby presence by direction without token IDs or exact coordinates.
Foreign / familiar cluesIndicates whether nearby presence is from the same clan or not.

Special tiles

Mystery tiles let players pull found items during a room. Drops can include stat replenishers, swords, potions, and other metadata item types, with rarity tied to drop rate.

Found items are separate from a Cloak's own metadata traits. A Cloak can always use its metadata item or ability when it has enough PP; mystery tiles add temporary room items through exploration.

Recharge rooms are tied to clan territory. A Cloak can enter the recharge room matching its clan, while Cloaks from other clans are blocked from that room.

For clanless Cloaks, entry is resolved per recharge room and remembered for that room for the rest of the game.

3. Eligibility And Access

Cloaks & Dagger is holder-gated. Players need to own at least one Cloak to enter a room, and wallet verification is handled through Privy.

A player can connect multiple wallets to one account, including wallet delegate support. Eligible Cloaks can then be registered into live rooms where holders play against each other in real time.

Table V. Holder access model.
AreaHow it works
Player accountOne account can collect eligible Cloaks across connected wallets.
Wallet verificationPrivy verifies wallet login and ownership.
Holder gateA verified Cloak is required to enter gameplay.
Game registrationPlayers choose which eligible Cloaks to register for the current room.
Live roomsRegistered holders play against each other in real time.

A Cloak can only be registered in one active game at a time. It must be eliminated or survive the room before it can enter another game.

4. Board Design

The game takes place on a classic RPG grid board. The Season 1 map is a custom-built arena with seven clan regions, distinct regional styling, and authored walkable and blocked tiles.

Fig. 2. Board view demo.
Map building progress as of 05/25/2026
Fig. 3. map building progress as of 05/25/2026.
Token 76 movement and action sprite collage
Fig. 4. Cloak sprites.

5. Architecture

The runtime is split into a canonical game layer, a browser presentation layer, authored board data, and lightweight update paths. This keeps gameplay rules centralized while allowing the client to stay responsive.

Table VI. Current architecture.
LayerCurrent structure
Game coreDjango/DRF owns room state, action validation, movement writes, item effects, combat, elimination, and visibility rules.
Client layerReact/Vite renders the viewport, local controls, animation, and queued movement feedback from server-confirmed state.
MapThe authored map is imported once into the backend runtime coordinate model.
Update pathClients receive compact room state, presence, and live events without exposing hidden opponent state.
ConcurrencyMovement uses locked authoritative writes to prevent race conditions, burst movement, and teleport-style state drift.
ScalingHot state is kept compact, timed, and separated from larger static board payloads.

6. Work In Progress

  • Visuals: Cloak sprites and Season 1 map design.
  • Backend: Logic edge-case hardening, performance refactoring, and game rules.
  • Testing: Testbench coverage, regression checks, security leakage audits, and staging instrumentation for slow-path timing during playtests.
  • Planned: XP system, leaderboard design, and player profiles. Not started yet.
  • Potential feature: Contract-based room and result tracking for public analysis tooling.