cubetutorchampion

Become a cubetutorchampion
Get some awesome new toys for your CubeTutor account and help to support this site in the process!
Whether you want to Winston Draft or Grid Draft your cube, upload Custom Scans of your cards, configure the makeup of your draft packs or play test against one of the most advanced Draft AIs ever built, you can do it all with a cubetutorchampion account!

Learn More

randomcube

Why not draft a random cube on Cube Tutor? Eligible cubes are active and have at least 360 cards.

featuredcubeWhat is this?

TinyCube A cocktail of classic and powerful cards with cmc 3 or less, Tiny Cube cunningly architects a world of delicious value and incremental advantage. Forget curving out, we're shooting for the stars.

devblog  The CubeTutor Controversy

I am writing this blog post in response to a podcast that was put out a few days ago about Cube Tutor and some of the issues surrounding it's current state of development.

http://solelysingleton.libsyn.com/season-3-episode-1-the-cube-tutor-controvesy

I would like to thank Brad and Eric for producing this episode. They approached a topic that they have all the right in the world to be screaming and shouting mad about with a mature, level-headed, clear and polite tone. As you can probably imagine it was a really difficult thing for me to listen to, to hear the state of Cube Tutor laid out plain by two of it's longest running supporters, who in spite of everything still continue to support the site financially through Patreon. They presented the information in a clear, factual manner and I have no issue to raise with any of the points that were made. They are right about everything – I haven't kept up my end of the bargain and I have been woefully inadequate about offering any sort of communication, and for that I am truly sorry to all of you.

So how did I get here?

If you aren't interested in the history of Cube Tutor then feel free to skip to the section: What went wrong?

Back in 2013 I was a developer at a large and successful software house. The job was good and looking back I have no complaints about it but it didn't excite me, it didn't give me a reason to get out of bed and throw myself into the day. I'd been a Magic player on and off for over 10 years and around that time I was really getting in to cube and was keen to build my own. In my spare time I started to develop Cube Tutor, really just for my own needs initially.  As it grew and became more feature rich I put it out online and a couple of friends started tinkering around with it. From there I put a post on MTGSalvation inviting others to try it out and many people did.

Around autumn 2013 I realised that I had something with Cube Tutor. People were really engaging with it and it was making me very happy to be able to work on a site that I loved in my free time. I was approached by a potential business partner about the possibility of building Cube Tutor into something that could support me financially and the idea sounded like a dream. I'd grown somewhat tired of my job and the idea of working on something that I loved full time was hugely appealing. I handed in my notice and threw myself into it.

The first six months or so of 2014 were great! I was waking up every day, motivated to work hard on a site that I loved, to build it into something even bigger. Whilst I wasn't getting paid to do anything at the time, I was able to support myself through some savings and with the promise of building this thing into a viable business I was happily working away.

I don't really remember when it happened but it gradually became apparent that the business partner I had hoped to work with clearly didn't have the same vision as me and simply wasn't interested in pursuing our idea. Looking back I was probably a little naïve and for whatever reason it just didn't come together. My savings were starting to run a little low and in the face of mounting running costs it became clear that continuing to offer Cube Tutor as a completely free service was no longer going to work. I could either go back to work and ask my users for a little help with the server costs and keep it ticking over or I could throw myself into this even further, work on my passion project and try and make something of it. There was no choice for me, I wanted to make a success of this.

I embarked on the Cube Tutor Champion program. This was a way for you guys to support Cube Tutor financially on the promise of some extra features for your account but more importantly to take the financial pressure off and allow me to actually work on improving the site. All in all I was working on this for the best part of a year before it would see the light of day but when it finally launched it felt great. Not only did people engage with it but I quickly achieved my second tier commitment on Patreon which allowed me to work part time on the site, as my job.

By the time the program launched, I was in quite a bad place financially. Having taken 18 months without pay, coupled with the thousands of dollars I'd spent on server costs, I really needed to get some income. It is really only with the support of a very loving and understanding wife that I managed to get to the stage where I could even launch the Champion Program and for that I am very lucky. Thank You.

However even with the overwhelming support from the community, it just wasn't enough to keep me going and I had to take on another job. I was offered an opportunity that would fit very well alongside my 1-2 day a week commitment on Cube Tutor and it is a job that I continue to this day, part time. I am also very thankful for that opportunity as not many traditional jobs would be so accommodating and understanding of the time that I needed to spend working on Cube Tutor.

Along with the launch of the Champion Program came a flurry of feature requests from users who knew what they wanted out of the site and for the first few months up until October 2015 things were going great. I was putting out regular releases, resolving feature requests and generally keeping up with my Patreon promise. The feedback I was getting around this time was along the lines of “these features are great, but when are you going to tackle one of the bigger ones, like getting the site working on mobile?”. Back in the beginning I'd never imagined that I'd be at the stage where people would be using CT the way that they are and it hadn't really been built with mobile devices in mind. This was a huge undertaking. I went back to my Patreon supporters and said, “OK I can do this but I'm no longer going to be able to keep up with 1-2 Feature Releases a month, this is 6 months of hard work on it's own”. You guys were very supportive and said, “Hey, great! Go for it!”. I set off to build a mobile UI on top of Cube Tutor.

In a lot of ways I think this was a turning point as I'd gone from my familiar territory of churning out small releases and bug fixes into something much bigger. Even in the days when I was developing the Champion Program I was still putting out regular releases. This was the start of the decline in my communication, something which there is just no excuse for. Nonetheless I did work hard during those six months and came out the other end with a mobile UI for drafting, something which I offered up for Beta Testing in the Summer of 2016. The feedback was generally very positive and I went back into development with a view to completing the work and getting it released.

What went wrong?

Then a bomb hit. I'm going to talk a little technically over the next couple of paragraphs, but I think it's important to be as clear as I can about what happened. I learned overnight that Apache Tapestry, the framework that Cube Tutor was built on had come to the end of it's life and the founder of that framework would no longer be supporting it. This shouldn't have come as a surprise to me, Tapestry was a framework from an older time. It hadn't really been built with mobile in mind and eschewed the current industry trend of running scripting languages on the client and the server. It was a slow moving relic that didn't really belong in 2016. I had only chosen Tapestry in the first place because it was quick to develop on and familiar and I didn't think this project would ever see the light of day anyway. If there is one decision I could change in all of this it would be that one, of course hindsight is 20/20.

Up until this point Tapestry had a very active community of developers who were not only improving the framework but were producing plugins to extend it. I made heavy use of these plugins for many things including upload widgets, jQuery integration and server-push functionality that is leveraged heavily in drafting and grid drafting. This framework and it's plugins were the foundation of Cube Tutor and without them being actively maintained, I just didn't know whether I should continue with the mobile rewrite, for something that would probably need to be rewritten again in short order. I found myself trying to modernise something from a foundation that was never really modern in the first place and now wouldn't even be maintained and current. The web development industry has moved quickly over the last ten years and without the support of something that would see Cube Tutor safely into the next ten, how could I continue with Tapestry? For a few months I was spinning. I was partly carrying on with the mobile work, partly prototyping other frameworks but mostly just lost and unsure what to do in the face of this problem.

In the middle of all of this, another problem struck. Not only was Cube Tutor built on a dying framework but it was also using a slightly outdated version of that framework. It was (and still is) running on the 5.3.X version of Tapestry due to it's dependency on some of the previously mentioned plugins which aren't compatible with with the latest 5.4.X release. Unfortunately the 5.3.X version of Tapestry is using an older version of Java, Java 7, another relic and my build server decided to stop supporting Java 7. This means that I couldn't actually build the code base for release. In itself this problem is not insurmountable. I could change build servers, build the site locally or potentially look at modifying the Tapestry plugins myself to bring them in line with the 5.4 release of Tapestry and Java 8. However, coupled with everything else it felt like the final nail in the coffin of Cube Tutor on Tapestry.

I can't exaggerate how much work it would be to go back to the beginning and rewrite Cube Tutor again on a new framework. I took the best part of two years working full time to get it to where it is now. With my other professional commitments and the prospect of starting a family soon I just simply couldn't contemplate doing all of that work again, it wasn't possible.

My biggest shame in all of this is the lack of transparency on the matter. I wish I'd had the courage to just say “look guys, here's where I'm at” but I wasn't used to that. I was used to solving problems and presenting nice completed work and improvements to the adoration of the community. Brad and Eric read out a PM conversation that I'd had with Brad last year where I talk of embarrassment and that's the only justification I have. I don't know what to do about this problem and have been struggling to see a way out of it for a long time now.

Where are we now?

Simply put I can't currently update the site, other than the stuff I can change through the database like new cards, featured cubes and average cubes. My life is no longer full of the free time that I had the luxury of in 2014 and I simply cannot afford to go back to a position of Patreon-only income to support myself on Cube Tutor full time to rewrite the site and even if I could I now have other long term professional commitments to keep that have a demand on my time. All of that said, in order to keep Cube Tutor up I need to cover the running costs which are currently averaging around $700-750 a month. A combination of those three things has left me just treading water, spinning, not knowing what to do.

As for the money itself, I haven't touched that in over a year. I have a separate account for all of Cube Tutor's Patreon earnings and the extra money on top of what I have had to pay in costs and tax is for the most part just sitting there. Back when the Patreon started and I was still working on it actively I would withdraw the money regularly but I don't feel like I have earnt it for a while now and so there is a small pot of money that has accumulated which could, at the very least cover the server costs for a little while if Patreon support dramatically reduced after this post as I expect it may.

So where does all of this leave Cube Tutor? Well the answer is still that I don't know. Brad and Eric kept coming back to this point that I'd been mentioning “an upcoming blog post” for a long time without ever delivering on it and I guess I was putting it off until I could offer at least some sort of a light at the end of the tunnel but right now I just don't know what that resolution is. All I want to do right now is be honest and open about the situation, something which I should have done a long time ago. It's not fair on any of you guys and particularly those who are making decisions to support Cube Tutor based on my Patreon commitments.

The most important thing is that the information is finally out there and it's a fundamental and somewhat cathartic step for me to take to write this. I'm treating this post as the first step back in the right direction towards working out a solution to the problem, in lieu of knowing what that solution actually is. Thank you again to Brad and Eric for being the catalyst. I'm sorry that things got so bad that you felt that you had to produce this podcast and I am sorry to everyone else for letting you down and not having the courage to write this off my own back a long time ago.

More than anything I love this site and this community and I am very proud of it but hand on heart I don't know how I can find a way to continue with it in the face of the obstacles that I have in front of me. What's my ideal solution? To find a way out of this where Cube Tutor remains the most awesome cube platform available on the web, something I can be proud of and that you guys will love once more.

I don't really use Reddit a whole lot but as ever I am contactable via email: ben@cubetutor.com.

Ben

devblog  Amonkhet Update

It’s time for a new set once again!  I hope that you enjoyed your prerelease weekend and are keen to get brewing with Amonkhet in cube!  The new cards, including Masterpieces and tokens are available on Cube Tutor from today.  In addition we now have..

  • Duel Deck: Nissa vs. Ob Nixilis
  • Duel Deck: Mind vs. Might
  • Latest FNM Promos
  • Latest Grand Prix Promos
  • Latest Happy Holidays Promo
  • Latest Judge Rewards
  • Latest Buy a Box Promos
  • Latest Game Day Promos
  • “Redeem” Foil Serra Angel
  • Latest WMCQ Promos.
  • Updated Average Cubes
  • New Featured Cube

Please do get in touch if you find that any other cards are still missing, and look out for a new feature release coming very soon! Happy Cubing - Ben

devblog  Bugfix Release: Decimate 1.1 + Kaladesh

It's a week since Decimate 1.0 and I have a list of token issues as long as my arm... Thank you to everyone who got in touch about about a missing or incorrect token! I believe that I have fixed all of the issues raised so far but if you find any more problems then please do get in touch.

In addition we also have Kaladesh, it's Inventions and a few more missing cards.

New Cards

  • Kaladesh (KLD)

  • Kaladesh Inventions (KLD_INV)

  • San Diego Comic Con 2016 Zombie Planeswalkers (SDCC2016)

  • Lastest Buy a Box Promos (MBP) – Elusive Tormentor, Thalia Heretic Cathar & Skyship Stalker.

Bug Fixes

  • Adding Basic Lands to your Uploaded Decks now works properly.

Token Fixes & Additions

  • Added all new Kaladesh tokens.

  • Added Experience token for Commander cards.

  • Added all Planeswalker Emblems.

  • Added 4/4 Rukh token for Rukh Egg.

  • Living Weapon cards now produce 0/0 Germ tokens.

  • Nissa, Sage Animist now produces the correct Ashaya token.

  • Sorin, Lord of Innistrad now produces the correct 1/1 Lifelink Vampire token.

  • Queen Marchesa now produces the correct 1/1 Assassin token.

  • Flesh Carver now produces the correct X/X Horror token.

  • Tempt with Vengeance now produces the correct 1/1 Elemental token with haste.

  • Goblin Rabbemaster now produces the correct 1/1 Goblin token with haste.

Please note that some of these changes to token images may take some time to propagate as the images are edge cached.

Unit next time, Happy Cubing!

- Ben

devblog  New Release: Decimate 1.0

For the best past of the last 8 months I have been working hard on a new mobile-friendly front end for Cube Tutor. The Champion community recently had the opportunity to test the new drafting experience and since then I have been working through their feedback, making changes and reworking other parts of the site. This project has taken (and continues to take) a lot longer than I initially expected and I am very conscious that there has been little movement on the rest of the site in the meantime, despite the flurry of feature requests over on Champion Central. So I decided to take a little bit of time off this project to deliver you a good old-fashioned Cube Tutor feature release, and that is what I present to you today.. Decimate 1.0.

This release contains a bit of everything with two major new features, a bunch of new cards plus a few bug fixes.

New Features
  • Tokens Page (Champion Feature Request #124) – A brand new page showing all of the tokens created by cards in your cube. There are a lot of facets to this feature, please read on below for further details. http://www.cubetutor.com/tokens/[cube-id]

  • Upload Deck Page (Champion Feature Request #35). You can now create a deck from all of the cards in your cube without having to draft it or open a sealed pool. You can either add cards individually or upload a complete list. http://www.cubetutor.com/adddeck/[cube-id]

  • Starred Decks – This is a new Champion Only feature. On your 'Decks' page you can now mark individual decks with a Star to show them in a separate list at the top of the page. This can be used in a number of ways, perhaps to highlight an interesting brew that someone drafted or when used in conjunction with the new 'Upload Deck' page to show off the available archetypes in your cube.

New Cards

  • From the Vault: Lore

  • Latest FNM Promos

  • Latest WMCQ Promos

  • Latest Judge Promos

  • Latest Game Day cards

Minor Features & Bug Fixes

  • Changing the Colour Profile of a Conspiracy no longer causes it to disappear from your View List page.

  • All Flip cards in Shadows over Innistrad and Eldritch Moon now show both sides when hovered over.

  • The Deck Builder has been slightly restyled to match the new 'Upload Deck' page.

  • Writing a long comment on a deck no longer causes the text to overlap the bottom of the box.

  • A number of 'Spam' cubes that exist only to post adverts on the blog page have been deleted. If you notice any more please let me know.

  • Tags on a large number of cards have been approved for use in Castle AI.

  • Average Cubes have been updated.

Tokens Page

I've always liked the idea of having a page that could tell me which tokens I need to acquire for the cards in my cube, and clearly so did you guys based on the number of votes that this feature had over on Champion Central.

In order to generate a list of token producing cards I cobbled together a relatively complex Regular Expression to examine the text field of each card to work out if it produced tokens, and if so how many and of which colour and type. Given the myriad ways that token producers are templated (even in modern day cards) it took a lot of time to get this right, or as 'right' as I could. Take a card like Benevolent Offering for example, it is difficult to detect that this card produces 6 tokens using a Regular Expression.

All of this to say that I fully expect that some cards will be missing and that the odd card here and there will be configured with the wrong number or type of token. If you find such a card, please do get in touch.

So, first things first, some ground rules! The tokens page will not detect the following types of cards:
  • Cards that say put a token into play that is a copy for example Kiki-Jiki, Mirror Breaker.

  • Tokens with a specific name that Wizards never printed a token for. For example Mirror-Sigil Sergeant tokens.

  • Cards that ask you to choose a creature type and put a token of that type into play, for example Riptide Replicator.

  • Some older token types that never got a card will just show the card back image. If you have a cool custom image for a token that we are missing and image for, then please get in touch.

The tokens that are detected will appear on your tokens page along with a list of cards that produce each token and the number of tokens produced by those cards. Some cards are straightforward, Spectral Procession produces three white spirits with flying and that's that. Other cards produce a variable number of tokens and we have two different ways of specifying that.

  • 'N' – These cards produce N tokens. For example Dragon Fodder is 2.

  • 'X' – These cards have an effect that is likely to put multiple tokens into play either at once of over the course of several turns. Examples include Secure the Wastes, Bitterblossom and Ant Queen.

  • 'N+' ­- These cards produce N tokens and might be able to put them into play more than once but it takes a bit more work than an X card. For example Grave Titan is a 2+ token producer as it may put 2 tokens into play more than once but it requires being able to attack. Planeswalkers that produce tokens are generally considered to be N+ cards as they have multiple modes and may not produce a token every turn.

Whether a card is an N, X or N+ token producer is somewhat down to context and opinion, of course Dragon Fodder could produce 4 tokens with a Doubling Season in play, or a Snapcaster Mage but these sorts of cases are not considered for our purpose.

Two players are assumed for all tokens that put a number of tokens into play based on the number of players.

The final concept is the Suggested Minimum number of tokens that you should have available for gaming with your cube. For the purposes of calculating this number X token producers are assumed to produce 5 tokens and N+ token producers are assumed to produce 2N tokens, e.g. the value for Hero of Bladehold ­is 4.

Please bear in mind that this number is a suggested minimum not a suggested optimal number of tokens that you should have available!

Thank You

Finally I would just like to reiterate my thanks to everyone who supports Cube Tutor. I'm very proud to have achieved consistent month-on-month growth in the number of Champions and it means so much to know that you guys appreciate Cube Tutor enough to support it financially. To everyone else who sends the odd message of encouragement, bug report over email or suggested feature with a Tweet – thanks to you guys too. It really helps!

If you find any issues or have any suggestions please do get in touch.

Until next time – Happy Cubing!

Ben

devblog  New Release: Urza's Average

Hello! I have a small release for you today that will tie up a couple of loose ends and also build on the groundwork for an upcoming beta test. More information on the beta will be sent out to previous beta testers and Cube Tutor Champions very soon so watch your inbox! In the meantime here are today's new features & fixes:

New Features & Bug Fixes

  • The algorithm which generates the average cubes has been changed to only use cubes that have been modified in the last six months. This should provide a much more accurate picture of the cards that are currently considered 'staples' for the various cube sizes.

  • The Top Cards By Set page can now be accessed using the set code on the URL like this www.cubetutor.com/topcardsbyset/SOI.

  • The View Tag page is fully operational once more! e.g. www.cubetutor.com/viewtag/1/4

  • Champion Feature Request 174 - Using the links in the top menu ('Community', 'About' etc) no longer causes the cube to change to “Ben's Cube”.

  • Open Graph meta tags have been added to improve link sharing on social media.

  • The process for approving tags for cards has been much improved. Tags for popular cards should now be approved a lot quicker than they have been.

  • A new Featured Cube! If you want your cube to be considered for the spotlight then please get in touch and tell me why it's awesome: www.cubetutor.com/contact

Happy Cubing!

- Ben