Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>WizardsNew to Visual Studio Code? Get it now.
Wizards

Wizards

Apes Dev

|
7 installs
| (0) | Free
Multiplayer wizard duels in the VS Code sidebar. Install, sign in with GitHub and play online.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Wizards

Multiplayer wizard duels without leaving VS Code. Install the extension, sign in with GitHub and play online against your friends, or anyone who's around.

Every player is a wizard with a class. Taking turns (or all at once), you cast spells, set up combos and defend yourself until only one wizard is left standing. The whole game lives in a panel in the Explorer, and the match plays out in the Output panel, styled like a dev log.

  • 2 to 6 players per room, and many rooms at the same time.
  • 21 spells that combo with each other, 6 classes and 6 battlegrounds.
  • Surprise events, wandering wizards that join mid-match, and a boss that forces everyone into an alliance.
  • ELO ranking and collectible items saved to your profile.

Start playing in a minute

  1. Install the extension.
  2. Open the Explorer (Ctrl+Shift+E). Below your files you'll find the Wizards panel.
  3. Click disconnected · click to connect. The first time, VS Code asks for permission to use your GitHub account: allow it. Your player name will be your GitHub username (you can change it, see Settings).
  4. You're in the lobby:
    • create room opens a new room. Public rooms show up in the list for everyone; private rooms can only be joined with their code.
    • join by code takes you to a friend's room using its 4-letter code.
    • Or click any of the open rooms in the list.
  5. Inside the room, click room ABCD to copy the code and send it to your friends.
  6. Once everyone is in, anyone presses start match. Have fun!

Before starting you can pick a mode (classic or simultaneous), choose class (you get a random one otherwise) and equip item (once you own some).


How to play

The basics

  • Last wizard standing wins. Then hit rematch for another round.
  • Health: 88 to 105, depending on your class.
  • Action points (AP): you get 3 per turn. Spells cost 1, 2 or 3 AP, and you can chain spells as long as you have AP left.
  • Mana: you start with 30 (60 max) and regain +10 at the start of each turn. Every spell costs mana.
  • Cooldowns: some spells are locked for a few turns after you cast them.
  • Target anyone: any spell can be cast on anyone, including yourself (a shield on an ally, oil on your opponent...).

Your turn

  1. Press ▶ next to the player you want to target (next to your own name to target yourself) and pick a spell from the list. Spells you can't afford show a 🔒.
  2. Keep going while you have AP.
  3. Your turn ends automatically at 0 AP, or earlier with the ■ button in the panel.

The status bar (bottom left) shows health · mana · AP and lights up when it's your move.

Two game modes

Classic Simultaneous
How it works Players take turns in random order Everyone plans at once, then the round resolves
What you see Everything your opponents do before your turn Nothing until the round resolves
The key skill Reacting Predicting what the others will do

In simultaneous mode, ▶ adds spells to my plan (nobody else can see it). When you're happy with it, press ✔; ↶ removes the last spell. The round resolves once everyone is ready, in phases: defenses first, then setups, then attacks, and healing last.

Each mode has its own ELO ranking.


Spells

Spell AP Mana What it does
FIREBALL 2 12 14-18 fire damage, 40% chance to BURN
ICE SHARD 1 7 6-9 damage and +1 CHILL (3 CHILL = FROZEN)
LIGHTNING 2 16 12-20 lightning damage
SPLASH 1 4 Makes the target WET. No damage: sets up combos
OIL 1 6 Makes the target OILED. No damage: sets up combos
POISON 1 10 Poison that deals damage every turn and ignores shields
DRAIN 2 10 8-11 damage; you heal what you deal and steal mana
METEOR 3 35 35-45 damage, but it lands on your next turn: your target gets a chance to prepare
TREMOR 2 16 7-10 damage to everyone else; can't be dodged
SHIELD 1 10 +20 shield
HEAL 2 18 +22 health and halves poison
CLEANSE 1 12 Removes burn, poison, chill, wet, oil and steam
COUNTERSPELL 2 14 Cancels the next spell of 2+ AP cast at you
MIRAGE 1 8 The next attack against you has a 75% chance to miss
THORNS 1 10 Anyone who attacks you takes 3-7 damage
CHARGE 1 0 Your next damage spell deals ×1.5
CURSE 1 9 The target takes +10% to +30% damage from everything
SILENCE 2 14 75% chance the target can't cast 2+ AP spells on their next turn
PURGE 1 8 Strips shields, charges, mirages and thorns from the target
MEDITATE all 0 Spends your remaining AP: +7 mana per AP
SACRIFICE 1 0 -10 health for +14-22 mana (on yourself or an ally)

Run Wizards: Spellbook from the Command Palette to see the costs adjusted for your class.

Combos

Your target's state changes what each spell does. The best turns pair a cheap setup with a finisher:

If the target is... ...and you cast Result
OILED FIREBALL Explosion: +20 damage and a guaranteed burn
WET LIGHTNING Electrocution: double damage and 65% chance they lose their turn
WET ICE SHARD 70% chance to freeze them on the spot (only 1 AP on their next turn)
FROZEN FIREBALL Shatter: +12 damage
BURNING ICE SHARD Thermal shock: +6 damage
WET FIREBALL Half damage, but they're left in STEAM (their attacks may miss)

Examples with 3 AP: OIL + FIREBALL (about 36 damage) or SPLASH + LIGHTNING.


Classes

Each class has a strength, resists one element (25% less damage) and is weak to another (25% more).

Class Style Health Strength Resists Weak to
🔥 Pyromancer Aggressive 88 Stronger FIREBALL that burns more often fire ice
❄️ Cryomancer Control 105 Freezes with two ICE SHARDs ice fire
⚡ Stormcaller Burst 100 Cheaper, stronger LIGHTNING lightning poison
⚗️ Alchemist Attrition 100 Cheaper poison, oil and water poison lightning
💀 Necromancer Endurance 100 DRAIN steals more health and mana shadow arcane
🔮 Arcanist Defensive 100 Better shields and mirages, cheap meteor arcane shadow

Hover over a player in the panel to see their class in detail.


Surprises along the way

  • Battlegrounds: every match takes place somewhere (the Ignis Cauldron, the Hrimfell Glacier...) that gives everyone a perk and favors one class.
  • Omens: a cryptic hint shows up now and then (👁 in the panel). A round or two later the event hits: a downpour that soaks everyone, an eruption, an earthquake that breaks every shield, a mana surge...
  • Wandering wizard: a server-controlled wizard joins the match and attacks anyone.
  • Blood pact: a boss appears and everyone is forced into an alliance. If any of you dies (even by friendly fire), you all lose. Defeat the boss and the duel goes on.

Ranking and items

  • Your profile tracks ELO (one per mode), wins, streaks, damage and kills. Check it with my stats and see where you stand in ranking.
  • Beating someone with a higher ELO earns you more points.
  • Items drop as loot (finishing off a wandering wizard, defeating a boss, or sometimes for winning). Equip one per match with equip item. Each one has an upside and a cost.

The panel

Where What it does
▶ next to a player Cast a spell at them
✉ next to a player Send them a private message
Panel title buttons Type a command, end turn (■), chat (💬), show the log
Panel ··· menu Create, join or leave a room, status, effects, spellbook, ranking, help
Expand a player Health, mana, AP, active effects (hover to see what they do) and cooldowns

Chat: the 💬 button messages the whole room; start with @NAME to whisper. It doesn't use your turn.

Typed commands: the panel's command button accepts commands such as FIREBALL TO ALEX, HEAL TO ME, SAY hi or HELP to list them all.


Settings

Setting What it does
wizards.name Your player name (2-16 letters, digits or _). Empty = your GitHub username
wizards.autoConnect Connect when VS Code starts
wizards.revealOutput Bring up the Output panel when something happens in your match

Changing your name keeps your profile, ELO and items.


Your account

Your GitHub account is only used to know who you are, so nobody else can play under your name or take your ranking. We store your GitHub username, its ID and your primary email address. Your email is never shown to other players. You can sign out from the Accounts icon in VS Code.


Troubleshooting

  • "Could not open a secure connection": your company network or an antivirus may be blocking the connection (it uses port 7777). Try a different network.
  • "The name ... belongs to another account": pick a different name in the wizards.name setting.
  • I can't see the panel: it's in the Explorer, below your files. If it's collapsed, click Wizards.
  • The connection dropped: the extension reconnects on its own. If you were in a match, you'll be put back in your room.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft