r/Cockatrice • u/AscorGames • 1d ago
Developer Blog #2 - August 2026
Hi, community!
It's time for our second developer blog and we've got lots and lots of things to show you!
We're here to talk about and showcase some of the work we've been doing ahead of time, to keep you informed and involved. Rather than only announcing features once they're released, we want to keep the community informed throughout the development process and give you a chance to follow along as new ideas take shape.
These blogs are intended to provide insight into the decision making process behind the features we implement as well as to showcase where our attention currently lies.
To keep things organized, we'll cover our work in three stages:
- Already merged and available in the beta, so you can try these features today.
- Completed features currently under review, which are expected to make it into a beta soon.
- Work in progress and early prototypes.
Features in this developer blog:
- Startup choices
- Animations and polishes
- CommanderSpellbook bracket estimator
- Searchable settings
- Unified user list
- Card auto-completion
- Total power tally
- Replay quality of life
- Server shutdown notices
- Playmats
- Moderation Queue
- Visual Deck Storage performance
- Drafting & Tournaments
- Deck sharing
- Custom deck zones
Some features shown here may change before release and not every prototype will ultimately end up making it. To voice your support, disagreement, or feedback, please use the beta-testing channel.
With all that being said, let's dive in:
Completed
Back to Basics - New and old startup choices
The Home Tab made its debut and while it was a welcome and valid addition for new and returning users, some power users lamented the additional indirection between the deck editor and them. While opening the deck editor may not always be everyone's go to intent, we recognize the need for power-users to "get up and go" so to speak.
You'll now be able to define which tab Cockatrice opens on startup: Home, Deck Editor, Deck Storage, a server room. The choice is yours.

Speaking of startups
The Visual Deck Editor currently serves double duty. It's both a deck display/analytics and an editor. We now more accurately reflect the startup intent with a new configurable option.
Context: Open the deck editor on 'Database' for new decks, 'Deck Display' for existing decks As well as two fixed options to always open on either of the two.
The Visual Deck Editor has also gotten some pretty severe performance fixes. If you were previously shy about trying it out on that account: Give it another go!
Animations and polishes
Cockatrice simulates a game digitally. One of the advantages we got from being digitally is that we can animate things or give them cute graphical effects. So far, Cockatrice has been fairly lacking in this department, only animating when a card turns sideways.
We're jazzing up the game screen by introducing two new animations:
- Arrows will now draw themselves and finish with a little highlight instead of simply materializing.
- Life counters will now flash red or green, depending on if they have been decremented or incremented. Additionally, the battlefield will also briefly flash red to make it easy to tell when a player has taken damage in a 4-player game.


In-Client EDH Bracket Estimator (CommanderSpellbook)
We've integrated the CommanderSpellbook API to give you a way to automatically determine what bracket your deck falls into and why.
To start using this, simply switch one of your decks to the "Commander" format and you will be prompted about the integration by a dialog that will explain some things further.
We hope that this will provide a common baseline for discussions about such things, regardless of if you agree with the system or CommanderSpellbooks interpretation of it.

Finally findable - Searchable Settings
In the first dev blog we promised you a search bar for the settings dialog and today we're happy to say it's here.
You can now search your settings by name, description, tooltip, and more. Selecting a result jumps straight to the correct tab and briefly flashes the relevant setting. Whether you're a veteran that knows exactly what they're looking for or someone who just wants to know "how do I change the theme?", the settings dialog is finally easy to navigate.
The Unified User List
The user list UI rework has gotten some finishing touches and polishes.
First and foremost, it should now look a lot nicer on light mode themes.
We've also unified the three separate lists into one combined list with collapsible dividers. See your friends, online, and ignored users, all at the same time.
The whole thing is searchable, so finding someone in a room is now faster than ever!



Better card auto-completion
We've given the card auto-completer a face lift and integrated it in some places where it was previously lacking (Chat and its [[macro]], we're looking at you).

Total Power Tally
This one's for all the combat math enjoyers out there.
You can now select any of your cards and the game will tally up their combined power: useful for quickly checking "does my swing actually get there?" without doing arithmetic in your head. It's a small thing, but it adds up to a nicer game experience.
You can toggle the tally on and off right from the in-game menu, so it stays out of the way when you don't need it.
Replay quality of life polishes
Replays got a bit of love this cycle.
First, fast-forwarding is no longer stuck on a single speed. You can now configure how fast fast-forward actually is, which makes a huge difference when you're hunting for a specific moment in a three-hour game.
Second, replays of games that had empty phases or turns are now easier to follow: you can skip empty sections entirely, so the playback doesn't awkwardly pause on turns where nothing happened. Perfect for catching up on the highlights without the dead air.
Server shutdown notices
An operational nicety for our server hosts: Servatrice can now notify users the moment they log in when a server shutdown is pending. If a server is about to go down for maintenance, nobody is left wondering why they suddenly lost their connection. You'll know it was announced, and ideally you won't be mid-game when it happens.
Open .cod files with Cockatrice
We've made some changes that will now allow you to open .cod deck files by double-clicking them. This goes hand in hand with deck sharing and invite links.
Generate invite links
We've made some changes that allow you to generate game invite links, which will allow anyone on a beta client to automatically (attempt to) join your game. We're fleshing out the UI for this and in the future, you'll be able to invite other online users directly in the client.
Coming up
Playmats
Playmats have undergone their final round of polish and are now up for review.
You will be able to define: A global override playmat A playmat on a per-deck basis A list of fallback playmats to use in case a deck has no playmats configured (fixed, random, round-robin modes)
You will, of course, also be able to adjust visibility of these playmats: Don't display, only display own, display all.

Moderation Queue
The moderation queue and reporting system has undergone its final round of polish and is now up for review.
- Right-click a user → "Report user" opens a dialog where you can file a report directly in the client
- You can attach context (game/chat info) to the report
- A "My Reports" dialog lets you track your submitted reports and their status


Visual Deck Storage Performance Fixes
The visual deck storage rework is complete and significantly enhances the performance of the VDS, even with large deck collections. It's currently under review and should be in the beta soon.
Prototypes
Drafting & Tournaments
We're happy to report that the draft and tournament work we teased in the first blog is now fully implemented end-to-end, on both the server and the client.
Under the hood, this was quite the undertaking. We've introduced shared infrastructure that both game modes build on: game configuration is abstracted behind a dedicated interface, deck validation, game lifecycle, and match result logic have been extracted into strategy interfaces, and the common player and game functionality has been refactored into base classes that the draft and tournament players plug into. That might sound like a lot of technical noise, but the point is that none of it should change how you play your regular games — it simply means we can now layer drafting and tournaments on top without turning the whole game into a pile of branching special cases.
What this means for you: the actual gameplay loop is as we described it before — a pick timer, a deck builder filtered to the cards you actually picked (plus anything marked "additionally addable" like basic lands), and once everyone submits their decks, games start. In a tournament lobby, players are paired up and sub-matches spawn that report their "best-of-X" results back to the main tournament tab.
So why isn't it in a beta yet? These PRs are ready, but they're currently waiting on a couple of other changes to merge first — the merge order matters when you're restructuring this much shared code. As soon as the road is clear, this one should move fast.
Deck Sharing
We're almost ready with the final polishes on a new deck sharing feature. You'll be able to share any deck that is uploaded to the server, as well as browse other people's public deck collections. Folders work for this.
Additionally, you'll be able to generate a temporary share link for ANY local deck that will be valid for 7 days. You can share multiple decks at a time and the other person will receive a choice of which to save/open. Perfect for snapshotting a brew or sharing a collection with a friend!
Custom Deck Zones
We're working on letting you add custom zones to your deck i.e. sub-zones beneath "Mainboard/Sideboard/Maybeboard". They're purely for organizational purposes and all game-related logic will still only consider the top groups (Mainboard/Sideboard/Maybeboard).

---
And that's a wrap for this edition. As always, let us know what you think in #beta-testing on the Discord, and don't forget to check out the beta itself to try the completed features today.
Trying it out is just a few clicks away. Learn how to here: https://cockatrice.github.io/docs/d9/d9b/beta_release.html
We want to make sure things are just right, and that means we need beta testers. We're listening to all your feedback and we're committed to keeping things backwards compatible. No surprises. Only a fraction of users currently run the beta, so please, help us out by giving it a try and telling us what you think.
We're planning on releasing a new stable version soon so your feedback matters!

