What's new
All notable changes to Planeswalk are recorded here. Early 0.0.x builds
were ALPHA; CalVer releases from the first feature-complete build on
(2026.06) are BETA.
[2026.10.13] — BETA
Changed
- A new address: planeswalk.bunko.me. Old links (
bunko.me/planeswalk/…, invites and replays included) forward to the same page there. Your account and its decks come along — just sign in again once. Things this browser kept without an account (decks saved here, your name, settings) stay with the old address, so re-import a deck if one is missing.
[2026.10.12.10] — BETA
Added
- 3D moments at the table — a shuffle riffles a few cards over the library (yours or an opponent's; mulligans and library searches shuffle too), a two-faced card turns over in 3D when it transforms, an opponent's face-down card flips when it's turned face up or down, and the winner gets a burst of gold. They're quick (the gold lasts about two seconds) and never block a tap; Settings → Animations turns them off with the rest of the motion.
Changed
- The 3D engine (for these and the first-player roll-off) loads with the waiting room or in a quiet moment, not with the page, so tables open faster.
[2026.10.12.9] — BETA
Fixed
- Combat on phones — the Combat button was missing from the phone dock, so you couldn't attack. It's back (crossed swords, labelled), with Undo and More labelled beside it; Untap all and Redo moved into the ⋯ menu.
Changed
- A better fit on phones — bigger cards on your battlefield; the combat prompt sits on its own line instead of covering the attackers, and the "if combat resolves now" summary sits below your lands instead of on top of them. Blocking leaves more room for your creatures.
- Larger tap targets on phones: opponents' life buttons and names, your own name, the deck links in the waiting room, Settings choices and the replay controls.
- Phones held sideways get a compact table that fits the screen.
- Instructions say "tap" instead of "click" on touch screens.
- The replay's previous/next turn buttons show their bar again.
[2026.10.12.8] — BETA
Fixed
- The tutorial plays by the rules — it used to have you cast Elvish Visionary on your first turn without the mana for it. Now it's two real turns: a Forest pays for Llanowar Elves on turn one; on turn two you play a second Forest, tap both for Elvish Visionary, and attack with the Elves alone (the Visionary has only just arrived).
[2026.10.12.7] — BETA
Changed
- A new front page — the Planeswalk diamond in slowly turning gold rings, a light sweep across the title, and a slow river of card art; then how a game goes in three steps and what the table does for you. Take the tutorial straight from it.
- How to play and What's new have their own pages (linked from the front page), besides Settings and the lobby.
[2026.10.12.6] — BETA
Added
- A tutorial — new players are offered a short, hands-on walkthrough the first time they open the lobby: a practice table with a starter deck and a partner across the table who plays a land each turn and never fights back. A coach walks you through playing a land, casting creatures, a trigger reminder, seeing a card up close, quick actions, undo, life totals, passing the turn, drawing, attacking and the Chronicle — you do each step yourself, and it moves on when you have (or skip a step). "Skip for now" offers it again next visit; "Don't ask again" stops it. Finishing it is remembered on your account when you're signed in, so other devices won't ask.
- How to play — a guide to everything on the table, from Settings (the gear) or the lobby, which also lets you replay the tutorial.
[2026.10.12.5] — BETA
Added
- The table moves — cards glide to where they go: drawn cards fly in from your library, a card you play slides from your hand to the battlefield (and arrives from that player's hand on everyone else's screen), cards that die or are discarded fly to the graveyard, and your hand closes up smoothly. Life totals flash and float the change ("−3", "+2"; quick clicks add up), counters pop when they change, attackers step forward, and dialogs, menus, notices and the results ease in. The turn button pulses gently when it's waiting on you, and a win gets a little gold flourish. Settings → Animations turns it all off (it starts off if your system asks for reduced motion).
- The pre-game countdown is a ring that drains as the seconds tick.
Fixed
- In-between window sizes (half a big screen, small laptops, tablets): your hand gets real room, the piles fold into a 2×2 grid, and the turn controls no longer run off the right edge of the window.
- On phones, a long player name no longer pushes the table off the screen.
- On shorter screens the hint under the turn button is no longer cut off.
- Your hand is no longer cut off at the bottom of the window: the strip under the table is as tall as your hand cards (Settings → Hand size).
- The reactions picker stays inside the window.
- The countdown's numbers sit evenly (the old serif digits bobbed up and down).
- The waiting room has room for long names and deck names, and anything shortened with "…" (names, decks, commanders) shows in full on hover.
[2026.10.12.4] — BETA
Fixed
- Replays start with a click — the countdown and "who goes first" screens covered the replay controls, so Play only worked from the keyboard. They now stop above the controls.
[2026.10.12.3] — BETA
Fixed
- Two-part cards play as what they are — a creature with an Adventure or Omen half (Bonecrusher Giant // Stomp, Quill-Blade Laureate // Twofold Intent) went straight to the graveyard when played, as if it were the spell. The face that's up now decides: those are creatures, a creature with a land on its back goes to your creature row, and split instants and sorceries (Fire // Ice) still resolve to the graveyard.
- A spell with a land on its back (Valakut Awakening // Valakut Stoneforge) can be played as its land: drop it on your land shelf, or pick "Play as land" from its menu. Double-faced cards turn front-face up again when they leave the battlefield.
- Cards with two halves on one face keep both halves' rules text on import (refresh a deck from Archidekt in the lobby to pick it up), so their triggers are reminded again.
[2026.10.12.2] — BETA
Changed
- Pick your deck at the table — the waiting room shows the deck you'll play, with Change deck: your saved decks, the deck in this browser, or a new Archidekt import. A friend who opens your invite link can get set up without leaving the table, and rename themselves there too. Once you're ready, the others see which deck you're bringing. (The lobby still keeps your decks; "Reload deck…" in the ⋯ menu is now "Load a deck…".)
- Cards zoom where they are — rest the pointer on a card and after a moment it grows to full size right where it sits (tapped cards turn upright); move to the next card and the zoom follows straight away. Choose "After a pause", "Instantly" or "Off" under Settings → Card zoom.
- Look at the board after a game — "See the board" puts the results away so you can look over how it ended; "Show results" (or the Game over label at the top) brings them back.
- The front page has a single way in, Play; joining a table by code is in the lobby.
- The rules judge is switched off while it's reworked.
[2026.10.12] — BETA
The biggest update yet: Planeswalk has been rebuilt from the ground up — a new table, phone play, Commander bookkeeping, a turn helper and replays. Tables that were open before this update have ended (sorry!); from now on, games survive updates.
Added
- A new table — a calmer look (green felt, one gold accent) and a rebuilt board. Opponents' boards are always in view, your battlefield sorts itself into creatures, other permanents and a land shelf, and identical tokens stack (×N). Pick up a card with a click or a tap and every place it can go lights up: click where it goes (dragging still works). Click a permanent for its quick actions (Tap · +1/+1 · Counters · ⋯). One turn button always does the next thing, and the Chronicle and the Judge open in a side drawer, with the latest event shown as a chip.
- Plays on your phone — opponents stack above your board, rows scroll sideways, tapping a card opens a sheet with everything you can do with it, and pinch-zoom works.
- Games survive updates and restarts — every table is saved as it's played: reconnect and the board, hands, life totals and the Chronicle are exactly where you left them.
- Your seat follows you — reopen the invite link in a new tab, after a browser restart, or (signed in) on another device, and you're back in your own seat. Your tables in the lobby lists the tables you've played at recently, to rejoin or replay. Want two seats on one computer? The waiting room has an "Open another seat" link.
- Replays — watch any game again from its table: play it back, step through it, or jump turn by turn, from any player's seat. Once the game is over you can show every hand and face-down card. Find it on the game-over screen ("Watch the replay") or under Your tables; replays are kept for two weeks after a table's last game.
- Commander, 60-card or Freeform — pick the format when you create a table. Commander tables start at 40 life and keep the books for you: casting your commander from the command zone raises its tax (shown on your command zone and next to your name), combat damage from each commander is counted, and when your commander goes to the graveyard, exile, your hand or your library, you're asked whether to return it to the command zone. Freeform is the classic Planeswalk table.
- Manual, Assisted or Guided — how much the table does for you, chosen when you create it (any player can change it later from Settings). Manual is the bare tabletop: you untap, draw and pass yourself. Assisted (the default) untaps your permanents at the start of your turn (not the ones that say they don't), gives planeswalkers their loyalty when they enter, and turns trigger reminders into one-tap actions; if passing the turn sets off your own end-step triggers, it stops once so you can deal with them. Guided also runs the turn: you draw automatically, priority passes by itself, and the game only stops where someone has a decision — your main phases, attacks, blocks, your triggers, or a step another player asked to stop at (tap a step on the track during someone else's turn). A turn can be as short as: play your cards → Combat → attack → Deal damage → End turn.
- Trigger reminders you can act on — when a permanent's ability triggers, a reminder appears in your tray with buttons for what it does: create the tokens (with the art from your deck's token list), gain or lose life (you, each opponent, or a player you pick), draw, scry, surveil, mill, search, or put a +1/+1 counter on it. Identical reminders stack, they survive a reload, and undoing what set one off takes it back. Other players see how many triggers you have pending.
- Combat helper — press Combat on your turn and click your creatures to attack (they tap unless they have vigilance), choosing what each one attacks — a player, or a planeswalker or battle (it loses loyalty, and that's not commander damage). Defenders block from an "Attacking you" strip and press Done blocking; then you press Deal damage. A live preview shows who takes damage, who gains life, which creatures die and how close each commander is to 21. The math reads each card's keywords (first strike, double strike, deathtouch, trample, lifelink, indestructible…) and follows current power/toughness. Attacks and blocks the rules wouldn't allow — a flyer blocked without flying or reach, menace with one blocker, a creature that came in this turn without haste, defender, "can't block", shadow, fear, intimidate, landwalk, skulk — are flagged with a ⚠ but never refused. A face-down creature fights as a plain 2/2.
- Counters and commander damage for anyone — click a player's name to change their poison, energy, experience or any other counter, or the commander damage they've taken (their life follows).
- Rules reminders, never automatic — 10 poison or 21 commander damage brings up "Confirm defeat" just like 0 life; in Commander and 60-card games you're also reminded about the legend rule, creatures with 0 toughness and planeswalkers with no loyalty left.
- Players who leave no longer stall the game — a player who drops mid-turn passes priority after 15 seconds; once they've been gone for a minute the others can Skip turn for them, or vote to Remove them (they leave the game, and their cards go with them).
- A new lobby and front page in the same look; join a table by code straight from the front page.
Changed
- London mulligan — a mulligan shuffles your hand away and draws a fresh seven; when you keep, you choose which cards go to the bottom (one per mulligan). In games of three or more your first mulligan is free.
- Going first only skips your first draw in two-player games, and drawing for an effect (Draw…) always works.
- Tokens cease to exist when they leave the battlefield (their "dies" and "leaves" reminders still appear).
- Undo is now yours alone — every player can undo their own actions until the turn passes, and undo never rewinds what anyone else did. If another player has since acted on the same cards, undo politely declines.
- Up to 12 tables at once (was 4), and a forgotten open tab no longer keeps a table busy forever.
- Hidden cards are better hidden: opponents' face-down cards stay nameless everywhere (including to the judge, in trigger reminders and in the combat preview), and a card that goes back to a hand or library can't be recognised when it comes out again.
- Looking at the top of your library (scry / surveil) is noted in the Chronicle.
- The table sends only what changed instead of the whole game on every action, so play stays quick on slow connections and at four players.
- Your settings (playmat, hand size, trigger reminders) carry over to the new table.
Fixed
- A malformed message can no longer crash the table or freeze the server.
- A rematch no longer waits forever on a player who has left.
- Card images only load from Scryfall, so no other site sees players' addresses.
- Dragging a card while something else happens no longer leaves a ghost card stuck to the cursor, and the Chronicle no longer jumps to the bottom while you're reading it.
- Space always does what the turn button says, never re-clicks the last button you pressed.
- A player name can no longer inject content into the page.
[2026.06.25] — BETA
Added
- Land shelf — lands now gather on a fanned shelf along the bottom edge of your battlefield instead of floating loose on the board. Play a land and it magnets straight to the shelf — no aiming — with a faint dotted outline showing the drop zone while you hold one. It stays flexible: drag any card onto the shelf to keep it there, or pull a land back onto the open board when you need it animated or enchanted. Each player's lands sit at their own back edge, so the board reads right across the table.
- A victorious fanfare — winning now *sounds* like winning: a rising heraldic call that blooms into a big, sustained major chord.
- What's-new nudge — after each release, a small "Click to see what's new!" prompt appears by the version number in the footer; click it to read the changelog (you're here now), or dismiss it — either way it stays gone until the next update.
Changed
- Every prompt is now an in-table modal — concede, mulligan, passing without drawing, reloading your deck, confirming a defeat, the scry / surveil / mill amount pickers, and the "library is empty" notices no longer pop a bare browser dialog; they match the table.
[2026.06.12] — BETA
Added
- Illuminated Grimoire table — the playing surface got a full themed redesign: medallion-style life totals, sigil zone tiles, larger hand cards, engraved serif (Cinzel) lettering, and squared-off buttons that feel more "Magic."
- "Exile until this leaves" — a real, tracked mechanic, not just a reminder. Right-click your permanent → Exile a permanent (until this leaves), click a target, and it's exiled; it returns to its owner's battlefield automatically the moment your permanent leaves. Fully undo-safe.
- Hand size & magnify controls in Settings — set how large the cards in your hand are, and how big the hover-magnify preview gets.
- Action cues — when a trigger reminder calls for a manual follow-up (make a token, gain life, draw, scry/surveil/mill), the button that carries it out now glows, leading your eye from the ⚡ to the thing to click.
- Collapsible bottom strip — a grab-handle hides or shows your hand and life rail to reclaim the battlefield, with a smooth shrink/fade.
- "Get ready" countdown — a 5-second countdown runs after everyone readies up, before the roll-off begins.
- Battlefield fade-in — cards bloom onto the table as they're played.
- Color-identity battlefield tint — your side of the table picks up a subtle wash from the colors you're playing.
- Roman-numeral turn counter with a ✦ sigil in the topbar.
Changed
- The hand is now centered on the page and fans dynamically, so any number of cards fits without shoving the controls around.
- HUD layout — Undo/Redo moved down next to Draw/Actions/Pass; life totals, zone piles, and play controls now float over the battlefield corners, reclaiming the dead band that used to sit above the hand.
- The log / Ask-the-Judge sidebar is a pure overlay — opening it no longer nudges the board, and the whole table aligns to a single centerline.
- Mulligan moved into the Actions ▾ menu — no more lonely topbar button that disappeared after turn 1.
- Opponents' cards flip 180° by default for natural across-the-table reading (still toggleable in Settings).
- The log panel now starts closed.
- Quieter topbar — dropped the "connected" text; the Settings ⚙ and reactions 😊 controls are now larger glyphs.
- The game clock lost its box, grew a little, and trades the clock emoji for an hourglass ⏳.
- On wide screens the hand inlines into the life bar for more battlefield.
Fixed
- The start-of-turn "you haven't drawn" nudge glows gold again — the new table-button styling had been painting over it.
- A large hand no longer pushes the bottom controls off the screen.
- The game clock no longer jostles the topbar buttons as the time ticks up.
[2026.06.10] — BETA
Added
- In-game Settings (⚙ in the topbar): mute/unmute sound, choose whether opponents' cards are flipped 180°, and place the hover-magnify card preview on the left or right edge (instead of following the cursor) at an adjustable size. Every preference persists per player.
- Duplicate on a battlefield card's right-click menu — drops a token copy of the card beside the original.
- Automatic updates: after a deploy the game page and the lobby refresh themselves into the new build — no more hard-refresh (Ctrl+Shift+R). The game page reloads as soon as it reconnects; the lobby polls and reloads within a minute. Reloads hold off while you're mid-drag or typing.
- Emotes / reactions (😊 in the topbar): fire off a quick emoji that floats up over your side of the table for everyone to see. The picker stays open, so you can spam to your heart's content.
- Custom tokens (a token creator on the board): make any token without leaving the table. Pull the tokens your deck actually makes — auto-derived from your cards, carrying their abilities like flying or lifelink — quick-pick from a palette of common presets, search Scryfall art live, or build one by hand (name, power/toughness, type, keywords). Stamp out several at once with "make N".
- Table playmats: give your half of the table its own look from a set of themed mats, or paste an image URL for a custom one. Your pick is shared, so everyone at the table sees it on your side.
- Live game clock: the elapsed game time now shows in the topbar while you play — the same clock the Game Over screen reports — and freezes when the game ends.
- Trigger reminders: a ⚡ marks any permanent that has a triggered ability, and an advisory note pops above a card when one of its triggers should fire — on enter/dies, your upkeep or end step, draws, life gain, and board-wide watchers (think Soul Warden). It only reminds — nothing is auto-applied — and a Settings control sets how much you see: Off, Self only, or Full.
Changed
- Moved to
bunko.me/planeswalkto match the name (wasbunko.me/mtg). Old/mtglinks and bookmarks redirect automatically, so nothing breaks — but you'll need to sign in once more, since the session was tied to the old address. - Opponents' boards now always mirror positions (across-the-table layout); the Settings toggle only controls whether their cards are also turned upside-down — so by default their cards read upright while the board stays mirrored.
- Sound is controlled from Settings; the redundant 🔊 topbar button was removed.
- The lobby sign-in dialog now only closes via its ✕, so a stray click outside no longer wipes a half-entered login.
- The log / Ask-the-Judge sidebar is now a floating overlay — opening it no longer squeezes the play area; it slides in over the right edge instead.
Fixed
- Cards now magnify on hover inside the Scry / Surveil and zone-viewer popups, like they do on the board.
- You can no longer drop a card onto another player's battlefield or zones — moves are restricted to your own board.
- Static assets are content-hashed, so an updated build is fetched on a normal reload instead of serving stale cached JS/CSS.
- Custom tokens (and other art-less cards) now show their power/toughness on the card, instead of only once it had been modified by counters or a pump.
[2026.06.09] — BETA
Added
- A subtle fade-in (opacity + slight scale) when the hover-magnify card preview appears — on both the playing field and the lobby deck viewer.
Changed
- The "remove deck" control in your saved decks is now clearly a delete button (red-tinted, and legible on touch where there's no hover) instead of a faint
✕. Deleting saved decks already worked; this just makes it discoverable.
[2026.06] — BETA
First feature-complete release: the version number, this changelog, and a BETA
channel tag. The big additions this release were the pre-game flow and undo.
Added
- First-player roll-off before each game, with 3D visuals (ThreeJS): 2-player coin flip (the joiner calls heads/tails), 3–4 player 2d6 high roll (ties re-roll the tied players). The winner chooses to play or draw first.
- Pre-game "Ready up" lobby — a seat list showing who has joined and their ready state; the match (and roll-off) only begins once every seat is filled and every player has readied. Ready is deck-gated.
- Undo / Redo for the active player's own turn — toolbar buttons plus Ctrl/Cmd+Z and Ctrl/Cmd+Y.
- Play/draw rule: the starting player skips their turn-1 draw; passing the turn without drawing prompts a confirmation.
- Fullscreen "{Player}'s turn" banner on each turn change, and newly-drawn cards that fade in from the bottom of the hand.
Changed
- Redesigned lobby: Create / Join a Table modals with a loading veil; signed-in players use their account name automatically (no "summoner name").
- Decluttered the game topbar: Reload deck, dice roll, and Concede moved into the Actions ▾ menu; removed the "New table" button from the game-over screen.
- Chat lines now read
Name: message, while game-action log lines stay plain.
Fixed
- Turn counter when a player other than the first seat starts the game.
- Severe lobby lag on weaker GPUs (an animated layer behind a backdrop blur).
- Primary and danger buttons washing out to a murky colour on hover.
[0.0.3] — ALPHA — 2026-06-08
Added
- Asymmetric P/T modifiers (e.g. +2/0, 0/−2) and a counters popover to add, adjust, and remove every counter on a card in one place.
- Lobby deck viewer with hover-to-magnify previews, plus an Archidekt refresh to re-pull a list.
- A turn-start toast, a defeat fanfare, and a Draw-button hop when a draw is owed.
- Battlefield card layering: the most-recently-moved card comes forward, with manual bring-to-front / send-to-back.
Changed
- Spotlight a board by clicking its battlefield (not just the name); the active board auto-focuses on each turn; general topbar cleanup.
- Removed the quick +1/+1 and −1/−1 buttons from the card menu (superseded by the counters popover).
Fixed
- Auto-focus not firing at game start (waiting → ready transition).
- Tap-rotation and drag-preview regressions introduced by the layering change.
[0.0.2] — ALPHA — 2026-06-06
Added
- Optional user accounts with a synced deck library (you still never need an account to play).
- 2–4 player multiplayer pods (the host chooses the size).
- Scry (look at the top N, send any to the bottom) and Search / Tutor.
- Typed counters with automatic P/T and +1/+1 vs −1/−1 annihilation, plus Scryfall keyword chips.
- Play cards face-down from hand; a Paris-style mulligan with a countdown.
- A landing page at
/mtg(the lobby moved to/mtg/play) and a Rematch vote on the game-over screen. - Auto-load decks at game start, a draw-needed glow, a mulligan lock, and an Actions menu.
Changed
- Full "arcane planar gateway" visual redesign across the landing, lobby, and game table.
- Moved per-turn controls to the player rail; Untap All into the Actions menu; renamed Load deck → Reload deck; added focus-a-board + a collapsible sidebar.
Fixed
- Gameplay is gated until both seats are filled.
- The end screen now appears even if a player hadn't loaded a deck.
- No card magnify mid-drag; face-down art zoom; dark-on-dark turn pill / draw glow after the reskin; landing-page scroll wonkiness.
[0.0.1] — ALPHA — 2026-06-05
Added
- Initial Planeswalk: a server-authoritative 2-player Magic: The Gathering virtual tabletop — drag-and-drop board across all zones (library, hand, battlefield, graveyard, exile, command), tap, life totals, and per-tab seating via a client token (no account needed).
- A 7-card opening hand dealt on deck load.
- Turn ownership, grab-offset dragging, concede, defeat at 0 life, and an end-of-game stats screen.
- "Ask the Judge" AI rules assistant (via OpenRouter), with hand-visibility context, rate limiting, and a cap of 4 concurrent tables.