Developer Blog



4.1 Release
8/4/2020, 12:55:21 AM

The timing of this release is a bit odd, mostly because of a mistake I made, and launching early just happened to be the best way to fix this mistake.

I just finished up a big update to card pages, adding a ton of content. Card search has now been added, you can find it under 'browse'. The new card pages now show the full legality of the cards, charts for elo, price (multiple currencies), and play rate (multiple cube types) over time. Right now the data is a bit sparse, but after a while these charts could show interesting trends. I've also added many useful links to other websites, such as EDHRec, and mtgtop8. There is a widget for viewing all the different versions of a card, including a small table with the prices. There is also a widget for purchasing the card through different platforms. Using these links to help support Cube Cobra, which does help us out a lot. The 'often drafted with' section is now broken up into 'Top Cards', 'Creatures', 'Spells', and 'Other'. We've also added a new section here labeled 'Most Synergistic Cards'. This section is particularly exciting for us, because it uses our machine learning model for the recommender, on a card by card basis.

New Features:

  • Added card search.
  • Reworked card pages.
  • Added a popup to quickly add cards to your cube from recommender.
  • Added more fields for 'legality' sort and filter.
  • Draft bots now take devotion into account.

Bugfixes:

  • Fixed flash errors on cube creation.
  • Planeswalkers are now counted correctly in deckbuilder counts.
  • Cube type now displayed on mobile.


4.0 Release
7/24/2020, 10:48:05 PM

I'm very excited to bring you this release today! I needed to skip the last release, as I was (still am really) in the process of moving to a new place, and I didn't have the extra time to prepare a proper release. I'm back to (almost) fully operational now, so you can expect us to resume the normal schedule. You may have also noticed a TCGPlayer advertisement banner, or a banner displaying a donation or merchandise link. This was more a experiment to see if I could help cover the gap in server costs, and I did learn a lot. The TCGPlayer ad got some clicks, but had a conversion rate of 0%, compared to our typical 7%. This tells me that it provided basically no value, so I won't be showing that anymore. I did however, get a consistent uptick in new Patreons, so you will occasionally see the other two banners.

Today's release mainly consists of two changes. The first is the addition of Grid Draft! This feature request had sat on our backlog for a while, until one of our 'Lotus Cobra' tier patreons had requested higher priority on this feature, so here it is! This mode is particularly exciting because it provides a way to do a draft with another human player, on one machine locally, in addition to the normal bot drafts. I debuted this feature in Cube Outside The Box's stream earlier this week. You can watch the vod here. This release also represents a huge milestone with our performance improvements. I understand the downtime yesterday was quite brutal, and I'm sorry for any inconvenience due to that. That downtime did allow me to fix several issues related to how we lookup decks, which was a huge bottleneck in overall server performance. It's still quite early to know for sure, but the current metrics are looking very promising. The biggest bottleneck right now is using the cube search feature, which is a challenging issue to tackle. Be sure to expect more performance improvements in the future.

New Features:

  • Added Grid Draft.
  • Minor Draft bot tweaks.
  • Added donation/affiliate banner to a few pages.
  • Fixed the 'recent drafts' page. You can view this page from your dashboard.

Bugfixes:

  • Made started sealed pool with too small card pool fail more gracefully.
  • Fixed deckbuilder displaying wrong card counts by card type.
  • Fixed cube popularity rating (again, I promise for real this time).


3.9 Release
6/27/2020, 12:48:53 AM

Tonight's update is our first release following our migration to DocumentDB. For those unaware, you may have noticed some severe latency issues the past week; I've been pulling some late nights to iron out all the kinks related to this migration. You should be able to feel an immediate improvement, our average latency has gone from 600ms to around 100ms! In addition to the performance improvements, this migration will help with stability, scaling, and make my job of managing the site much easier. The downside, is that our hosting costs have increased quite a bit. This migration was triggered from a patreon goal of $300, but the net costs were more expensive than I anticipated, and we're currently running about $200 over budget. This isn't the end of the world for me, but I would definitely appreciate any additional support through Patreon. There are two more infrastructure goals, both on a much smaller scale than the database migration. For card analytics, we have a script that gets run manually and infrequently, but I'd like to automate that process such that it runs every day, keeping card analytics fresh and up to date. It would also allow us to create histograms for card trends, which is super neat. The other change has to do with the machine learning portion of the site. Currently, that's being done on a separate server, and everything done is all manual. I'd like to migrate the machine learning to AWS Sagemaker, allowing us to keep the draftbots and recommender up to date at a weekly resolution. The latter change is much more extensive, so I can't commit to a timeline on that yet.

This update also features some changes in how we handle card prices and Elo, before, these values were separated from our card model due to logistical challenges, but Scryfall's new bulk data update allows us to provide prices and Elo with much less latency. All this means to the end user, is a significant performance update in many places around this site. Anyways, let's get into the full changes in this update.

New Features:

  • Database has been migrated to DocumentDB.
  • Handling of prices and Elo updated for much better performance.
  • 'Build for me' option added to deckbuilder. This uses the same algorithm the bots use to build decks.
  • Tweaked draftbots based on user feedback.
  • Updated deckbuilding algorithm to account for synergy and overall deck strategy better. This is still far from perfect, but an improvement nonetheless.
  • Added the ability to show draftbot breakdown during drafting, to see how a draftbot would approach a given pack.
  • More sophisticated logging tools - this will help us investigate and fix bugs without the need for detailed bug reports.
  • Performance updates to several pages around the site.

Bugfixes:

  • Hypergeometric calculator labels are fixed, and some more hint text added.
  • Sealed and uploading decklists fixed.
  • Totals row in table analysis now shows correct percentages.
  • Fix power and toughness sort/filter.
  • Fixed commenting on decks.
  • Fixed several server side crashes, the impact of these issues were not widespread; we caught them with our new logging tools after a single incident each.


3.8 Release
6/13/2020, 2:01:58 AM

Tonight's release is a very exciting one. Before we get into the exciting new features, I wanted to share that I am giving away some special Cube Cobra snake tokens to all Patreons! If you are interested in receiving some tokens, you can support Cube Cobra here. Cube Cobra is almost completely funded through Patreon, and every cent of donations go directly towards server costs. We also just launched our new Inked Gaming page! We have some exclusive Cube Cobra playmats listed, and purchasing those playmats also helps pay for Cube Cobra server costs.

Okay, enough shilling for monetary support, what's special about this release? Well, you may have read Ruler501's Draftbot Primer, which goes into detail a huge rework we've been working on for our draftbots! This is a very difficult challenge that I've expressed frustration towards many times, and I think we have come to a game-changing solution here. In addition to the new draft bots, there are also some new tools around drafting, including running "Bot Only" drafts, so cube designers can observe how their cube may be drafted without spending the time drafting themselves. We also added a new view for decks where you can see the draftbot analysis for each pick made, that explains the reasoning of why that pick was made, and what other cards were in close consideration. Draftbots will also fully build decks, including adding basic lands. The bots are still far from perfect, but with how they're setup, we have a lot of levers and dials we can manipulate to improve them. If the draftbot seemed to make a dubious pick, share it with us on Discord! We would love the feedback, and can use those reports to further advance our draftbots. We also started tracking pick and pass data for individual cubes. We're not using this data yet, but this is something that's been asked for a lot. We will look into how we may utilize this data in future releases.

We also have improved the user experience for filtering, by adding a quick filter toolbar. If you wanted to see all the activity one user has been up to, now you can view all blog posts from one user on their page. And as usual, several critical bugfixes. Check out the full changes below!

New Features:

  • Draftbots completely reworked. For more information, view this article written by Ruler501, one of our contributors.
  • Added draftbot analysis view to the deck page.
  • Added bot only drafts.
  • Add quick filters toolbar.
  • Add new user pages for blogs. See all my blog posts.
  • Added Inked Gaming merchandise page.
  • Started tracking individual card analytics on a cube by cube basis. We will use this data in future releases.
  • Added more asfan tools to analytics.
  • Analytics uses URL query parameters, so you can share your current view+filter by copy and pasting your URL.
  • Add new filter to allow for searching by quantity of tags.
  • Added new comparison header to cube compare page.

Bugfixes:

  • Fixed an issue where new cards weren't imported from Scryfall correctly.
  • Fixed issue where misparsed cards for bulk upload not being brought to fix error screen.
  • Fix issue where tokens would be added to cubes instead of the correct card (Ajani's Pridemate).
  • Fix issue where pick by pick breakdown wouldn't display correct pack contents.
  • Fix issue where sample pack images were incorrectly cropped.
  • Removed unused tags from tag colors modal.
  • Fix issue where autocard popup tags weren't wrapping.
  • Fixed several major issues with top cards.
  • Fixed cube resizing.
  • Fixed card imports for 'pre-flipped' cards. (only for the most degenerate of degenerates)
  • Fixed issue with importing collector number in CSV import.


3.7 Release
5/29/2020, 11:32:52 PM

Today's release brings a grab bag of valuable bugfixes, and a couple new features. I understand we didn't have a release two weeks ago as we should have according to our schedule, and that this release is a bit feature light. This is mostly due to my limited bandwidth the last month due to personal commitments, and several other regular contributors were busy with other real-life issues. Regardless, we're committed building the best cube platform we can, and I can assure you I'll be able to get back to spending more time on development soon.

New Features:

  • Updated filter syntax guide.
  • Added support for additional operators for more tag filtering, such as =, :, !=.
  • Added the ability to resize visual spoiler.

Bugfixes:

  • Fixed an issue with starting a sealed pool and building a draft deck for new cubes.
  • Fixed an issue where filtering by price crashed the UI.
  • Fixed filtering for all analytics.
  • Fixed an issue with populate analytics where it would not fetch Elo and prices correctly.
  • CSV export fixed to not output null rarity and color category.
  • Fixed an issue where imported colorless cards would crash pivot table.
  • Added better user feedback for invalid cube searches.
  • Fixed issue where pick by pick breakdown incorrectly reconstructed packs.
  • Fixed several misc. errors due to an empty maybeboard.
  • Fixed first cube button styling.
  • Fixed an issue with filtering while viewing a page that's been filtered out.
  • Add better user feedback for fail cases when editing a cube list.
  • Fixed color filters case sensitivity.
  • Fixed several filter parsing issues.


3.6 Release
5/2/2020, 12:40:37 AM

Today's update brings a lot of small changes including several fixes and updates for the newly revamped cube analytics. We're still halfway done with migrating our server to our new host, but I've done a lot of optimization to the configuration to reduce the amount of downtime. I've also implemented some new logging functionality for the live server, which will greatly help us in squashing those difficult to pin down bugs. As usual, please let me know what features, old or new, that you appreciate, and what features you would like to see in the future!

New Features:

  • Added Historic as a cube category.
  • Added the ability to upload a csv file to replace your cube instead of adding cards.
  • Further improved bot dynamic color selection, increasing the bias towards two color decks.
  • Pagination styling updated.
  • Added the ability to select a default draft format.
  • Added MTGO export for cubes.
  • Reworked CSV importing to be backwards compatible with all previous CSV imports.
  • Added the ability to delete decks.
  • Selected sort is set in a URL parameter, so you can share a specific sort by copying the current URL.
  • Card Modal links now go to a new tab.
  • Updated recommender to maintain the card's list positions when using a sort.
  • Added the ability to filter for cards in maybeboard for recommender.

Bugfixes:

  • Fixed an issue where multiple cube creations could be submitted at once.
  • Fixed an issue where the averages analytic wouldn't use correct card types.
  • Fixed the hypergeometric calculator's math to work for large numbers.
  • Fixed an issue with how cube popularity is calculated.
  • Added more colors to the chart analytic.
  • Fixed an issue with CMC 0 cards in the average analytic.
  • Fixed an error with discord and P1P1 images.


3.5 Release
4/16/2020, 10:16:08 PM

This update comes with a huge upgrade in our server infrastructure. We've migrated from Digital Ocean to AWS, and so far everything is looking very smooth. The major advantages this brings are 100% seamless deployments, and auto-scaling - which means the site speed will not be impacted by the amount of traffic we're getting at any point in time.

As for the site changes, we have many very exciting new features to reveal. Cube Analysis has been completely overhauled (again), this time bringing in a few new tools including a machine learning powered card recommender. The existing analytics have been updated to give greater control over the slice of cards being analyzed, I encourage you to check it out and let us know how we did!

New Features:

  • New Analytic: Recommender. This module uses machine learning to suggest adds and cuts.
  • New Analytic: Pivot Table.
  • New Analytic. Hyper-geometric Calculator
  • Added cube resizing: this feature will change your cube size by adding or cutting the respective suggested cards, given a user limitation.
  • Existing analytics reworked to have more control.
  • Elo and Prices added to maybe-board cards.
  • Note field added to cards.
  • MTGO ID now included in CSV export.

Bugfixes:

  • MTGO exports now work correctly for cards in your sideboard.
  • Fixed drafting notifications.
  • Fixed user deck pages.
  • Fixed 'sticky' autocard.
  • Improved dynamic color selection for draft bots.
  • Fixed an issue were searching for 'powered' cubes would also show all 'unpowered' cubes.
  • Several missing tokens added.
  • Improved sample pack image styling.


3.4 Release
4/3/2020, 7:49:52 PM

This is a relatively small release, despite needing to be postponed. We have several big features that aren't ready yet to be published yet. Enjoy these bugfixes, and stay tuned for news on the future features!

New Features:

  • Added Elo and prices to maybeboard cards.
  • Draft bots are smarter about picking their colors, can go more than 2 colors, and will detect if a cube is missing a color.
  • Enter can be used to accept confirm delete modals.
  • Added Battle Box, Multiplayer, and Judge Tower format labels.
  • Improved Analysis styling.

Bugfixes:

  • Fixed a bug where custom images weren't displayed during the draft.
  • Fixed autocard for DFCs, and decreased size.
  • Fixed sorting with duplicate labels.
  • Fixed deck MTGO export for split cards.
  • Fixed a bug where Elo sort would put cards in wrong buckets.
  • Fixed an issue where drafts can't be started if a card with a '.' in it's name is included.
  • Fixed an issue where the order of packs in a custom format is incorrect.
  • Fixed an issue where drafts wouldn't transition to deckbuilder correctly.


3.3 Release
3/13/2020, 4:21:47 PM

Today we have a very large update for you. We did unfortunately have to skip the previous (3.2) update, so all the features we had ready for 3.2 will be new on 3.3. This update includes many improvements to viewing decks, including a pick by pick breakdown for not just the human drafter, but all the bots drafting as well. Cube Search has been overhauled, it's now much faster, looks better, and has much more useful search options including 'Cubes with the card x'.

New Features:

  • Draft + Deck objects updated in preparation for multiplayer drafting.
  • Deck view reworked, can now view pick by pick breakdown, and decks for each seat.
  • Added sample hand to Deck view.
  • Search reworked, better performance, new UI, and more powerful search options.
  • Added basic sealed.
  • Explore page reworked, cube content unchanged, but search bar added.
  • Can now do up to 16 seats for a playtest draft.
  • Added a notification if someone clones your cube.
  • Several performances improvements.
  • added picks/cubes/Elo filter to Top Cards.
  • Card Page buttons moved up, added a button to view all cubes with that card.
  • Improved display when no blog posts visible.
  • Tweaked draft bots to value colorless cards slightly higher, and value rainbow fetches higher.
  • contact and Donate pages updated to be responsive.
  • CSV export now sorts based on current sort selection.
  • Maybeboard cards added to CSV export/import.
  • Several improvements to analytics page.
  • Increased autocard display size.

Bugfixes:

  • Fixed an issue with Android Chrome context search.
  • Fixed an issue where cubes with token cards (Ajani's pridemate token, for example) would not load the cube list.
  • Fixed several rendering bugs where inaccessible controls were visible.
  • Follow button removed from cubes you own.
  • Jace, Vryn's Prodigy emblem added to token analysis.
  • Fixed several issues with importing cards.
  • Fixed a bug with comment edit/delete.
  • Fixed a bug where CSV download would spin forever.
  • Fixed a bug where cube cloning would spin forever.
  • Fixed uploaded deck username.
  • Fixed issue where Elo wouldn't display in card modal.
  • Fixed an issue where a null CMC (vanguard cards, for example) couldn't be drafted.
  • Fixed login state on confirm upload screen.
  • Fixed a bug where the flip side of a transform card wasn't visible during draft.
  • Fixed a bug where an item would say 'n years ago' instead of 'n seconds ago'.
  • Stopped anime WAR walkers from being added by default.
  • Fixed a reroute issue with registration requests.
  • Fixed a display issue when drafts are completed.


3.1 Release
2/14/2020, 8:11:44 PM

Welcome back to another round of "What's new on Cube Cobra?", today we have some improvements to social features, the start of a new cube analytics page, and a sizable list of bugfixes. One major thing we noticed was Scryfall links to Cube Cobra card pages had been broken for non-english cards, so now you can use those links correctly from Scryfall. We're very excited to start working on an Analytics page rewrite, but there is still a lot more work I want to do with it to provide the best user experience. Please don't hesitate to give me all your feedback on this new page.

New Features:

  • Beginning of major analytics re-write. (Still very rough, so let us know what you like and don't like!)
  • Added settings to cubes, including options for default printing and status.
  • New social page to see followed users and cubes.
  • Profile pictures added. (you are an ambush viper right now)
  • Top cards use correct non-digital price.
  • Improved top cards performance.
  • Cards with proxied status no longer contribute to owned price.
  • All cards will now be displayed on top cards regardless of presence of data, but data may be blank.
  • Foil overlay tweaked per user feedback.
  • Added Commander as a cube type.
  • Non-english scryfall IDs now redirect to english version for card analytics.

Bugfixes:

  • Dates now sort chronologically instead of alphabetically.
  • Fixed an issue with cube overview image not being able to be set.
  • Fixed a bug where Cube Tags always reset to blank.
  • Fixed an issue where certain cube's overview would not load.
  • Fixed autocard on dashboard.
  • Fixed unlisted cubes displayed on profile page.
  • Fixed registration redirects.
  • Fixed an issue where using select all does not apply filter.
  • Fixed a warning in Cube Playtest Page.
  • Fixed custom draft format sorting issue.