Shuffle Draft


A week ago I wrote a post about how I took a break and then got back into working again. Well since then I have gotten a lot done. Like, *A LOT* a lot done. The game's design has also shifted again ever so slightly. I am again not going to share any new video, partly because there's still no art, partly because a lot of the work I've been doing is backend oriented. 

The core system I've been working on for the past week is again the drafting system. Last week I said you'd draft every other turn and could reduce that amount by drawing through your whole deck. This didn't feel all that great, partly because it's hard to communicate to players that if you try to draw through all their cards in one turn, they'll get to draft sooner, partly because it just kind of interfered with things in ways I won't bother explaining.

Instead, I decided to just make it so that whenever you would reshuffle your draft pile by trying to draw a card with an empty deck, you would start a draft then. This feels perfect and is exactly what I've been trying to accomplish all along, however it has been a major technical undertaking to get it to work. Probably the biggest undertaking since the early days of the project. 

To understand what makes this so complicated, let's look at an example. Lets say you have 2 cards in your deck and you want to play a card in your hand that says "Draw 3 cards." What should happen? What I think should happen is: when I play the card I draw 2 cards, then the card freezes and waits for me to go through an entire drafting phase, then the discard pile and drafted cards shuffle together to form a new draw pile, then I draw the last card from the new draw pile, then the "draw 3 cards" card enters the discard pile. Choosing to make the game work like this, however, is a huge commitments to the preservation of game state.

Previously, when a card would be played, I'd just resolve all of its effects immediately. Now however, I need to be able to put every action on a sort of stack and have them all occur in order, accounting for the possibility that a draft could start and put the whole thing on pause. To make it clear how complicated this could get. There's a minion [called levitator] with a play effect of "draw 2 cards." There's another card [called Spectral Reinforcements] that says "Play 2 Fleeting minions from your draw pile." Levitator could be given the fleeting keyword with a card call Forgotten Wings. In that case, you could have the following situation occur:

In your hand is spectral reinforcements. In your deck is 2 cards: 1 of which are levitators which both have fleeting. You play spectral. It first pulls out a levitator. Its on play effect triggers, and draws 1 card, then a draft starts. You draft a new fleeting card. After the draft finishes, you now have 9 cards in your draw pile, one of which is a fleeting minion. Levitator draws 1 more card, then spectral reinforcements puts the fleeting minion you just drafted into play. Finally, the spell resolves and enters the discard pile.

So yeah... the game got significantly more complicated in a short period, but it's absolutely for the best. It'll be much easier to add cool new stuff to the game than before, and this should really help players follow along with what's actually happening. At this point I'm  basically done with the big system work now and am just re-implementing previously implemented cards with the new system, and implementing new cards along the way. I'm hoping to have a full set of cards implemented within the next few days so I can actually start iterating on card design some. 

Oh and I added passive items to the game too. I literally just remembered I did that. I've done so much in the past week that I literally forgot all about that until now. Unintentional tease for the next devlog I suppose.

Leave a comment

Log in with itch.io to leave a comment.