Parameter escaping for IN queries using Django raw SQL cursor

Searching for this little tidbit didn’t turn anything up and I had to figure it out through trial and error, so I figured I’d share the solution in a publicly searchable location:

If you need to perform an IN lookup in a Django raw SQL cursor.execute() invocation, you can do so by passing the list as a tuple. For instance:

from django.db import connection

# This could be a list, a set, or whatever; probably generated programmatically
list_of_values = [1, 2, 3]
with connection.cursor() as cursor:
    cursor.execute("""
        SELECT *
        FROM my_model_table
        WHERE some_value IN %s
    """, [
        tuple(list_of_values),
    ])
    results = cursor.fetchall()
    # Do something with your results

Not complicated, but also as far as I can tell largely undocumented. Enjoy!

Homemade lemonade concentrate

Alright, real talk: I hate how recipes online make you read the author’s frigging life story–all while shoving dozens of intrusive ads in your face–prior to actually sharing the recipe. So let’s shake things up a bit and throw the recipe up first with the story to follow! This is a delicious lemonade syrup/concentrate that you can store in the fridge in a mason jar in order to have on-demand refreshing drinks whenever the mood strikes.

Ingredients

One Batch (one 16 ounce “pint” mason jar)

  • 1/3 cup boiling water
  • 2/3 cup sugar
  • 1 1/4 cups freshly sqeezed lemon juice

Three Batches (three 16 ounce “pint” mason jars)

  • 1 cup boiling water
  • 2 cups sugar
  • 5 pounds lemons, juiced (about 3 3/4 cups juice)

Method

Boil some water, then measure the boiling water and add it and the sugar to a small pot over low heat. Stir until the sugar is completely dissolved to create a 2:1 strength simple syrup and let cool.

While it is cooling, juice the fresh lemons. Strain the lemon juice to reach your desired amount of pulp, then stir into the simple syrup. Store in refrigerator for ~1 week, or freeze for longer.

Combine roughly 1 part syrup to 3 parts water for plain lemonade (you might want to add a little more syrup to taste). 1 batch makes approximately 64 fluid ounces of lemonade (or a little less if you like it to be more strongly flavored).

Dispensing

Although being able to whip up a cup of fresh lemonade is nice, I mostly reserve this for making green tea lemonade. If you wish to add a bit of lemonade to your existing drinks, I highly recommend picking up a set of these Jarmazing pumps. I find 3/4 cup of just-prior-to-boiling water steeped with a single green tea bag then poured over a tall glass of ice, plus five pumps of lemonade concentrate (~25 mL or 5 teaspoons) makes an absolutely delicious green tea lemonade (and of course you can always add or subtract pumps to taste).

Varying the sugar

I adapted this recipe from some random recipe I found online which used a 3:1 strength simple syrup and an equal amount of lemon juice to sugar. Everyone in our house (including my kids) agreed it was way too sweet, and despite cutting the recipe in half it was too much liquid to fit in a mason jar (which was a problem, because I wanted to use my fancy Jarmazing pumps!). The recipe above is the result of testing alternate quantities, but if you find it too tart for you, increasing the sugar from 2/3 cup to somewhere between 2/3 cup 1 cup should work fine (you might just need to drink a glass of lemonade right after you make it so that the rest can fit in the mason jar!).

(Pro tip! Costco sells 5 lb bags of lemons that make for a perfect 3 mason jars worth of concentrate; 2 to freeze, and one to drink right away!)

The story

I don’t go to Starbucks very often, but when I do I pretty much only ever order iced green tea lemonade. For years that was fine as a “sometimes treat”, but then over the course of the two years since we moved to our current home our local town saw four Taiwanese tea shops open up (none of them more than a block away from one another). I don’t know why our area is apparently crazy for boba, but my family made a point of visiting each one as they opened to try and figure out what made them special and over the course of doing so I realized that the only thing I actually enjoyed off their respective menus was grapefruit green tea.

…in other words, exactly what I would order at Starbucks but with a different citrus.

Of course, be it Taiwanese tea or Starbucks, I’d be looking at paying $5-$6 a glass, and I wondered…could I just make this at home and have my treat more regularly, with decaf green tea, and for a lot less money?

A bit of internet research seemed to indicate that yes, this was indeed possible! And after a bit of delicious experimenting I landed on the recipe above, which hits just the right tart-lemon-to-sweetness ratio, mixes beautifully into other drinks, and stores wonderfully (and compactly!) in the fridge. A bag of lemons from my local Costco costs about the same as a single drink at one of our numerous Taiwanese tea shops, but makes 2-3 batches of lemonade concentrate (which in turn makes around 8 glasses of lemonade, or as many as 20 glasses of green tea lemonade).

Enjoy! I think next up I’m going to try subbing fresh grapefruits instead of lemons…

Dice efficiency in Ashes Reborn

Often times when people ask about how to win in Ashes Reborn, experienced players will tell them, “Use your dice more efficiently than your opponent.” However, because units and spells can exist on the board from round to round, it can be difficult to easily identify what constitutes an efficient use of dice.

Understanding dice efficiency is further complicated by the fact that you have to consider outcomes vis-à-vis your opponent; whenever you’re talking about dice efficiency, it’s with relation to how your opponent has spent their dice.

Lastly, before I get into the nitty gritty of evaluating outcomes for their dice efficiency, I want to also mention that while efficiently dealing damage is extremely important, it’s not the only thing that will win games. Smart sequencing, tempo plays, and gaining higher utility from your cards compared to your opponent all play a part, as well. This is simply one piece of the puzzle.

Damage vs. utility

Cards in Ashes tend to do one (or more) of three things:

  1. Deal damage (attack values on units, direct damage)
  2. Prevent or mitigate taking damage (life value on units, healing, destruction effects)
  3. Offer a utility effect (adjust dice, manipulate exhaustion, etc.)

There are a lot of different utility effects, and they can be very difficult to evaluate from the standpoint of dice efficiency. Utility effects often show their worth through play, and sometimes only if you use the correct play line (or situation) for them. As a result, while I can help coach you through evaluating dice efficiency, learning which utility effects you need and prefer will require playing the game. Smart deck building and play can allow you to use cards the community generally considers inefficient to great effect by compounding utility effects.

(Incidentally, if you’re ever wondering why “decks full of units” are so popular in Ashes: it’s because units often do all three of the things above! They deal damage by attacking or countering, prevent damage to your Phoenixborn by blocking or encouraging your opponent to attack them, and usually have some utility effect.)

With that out of the way, let’s take a look at the starting point for evaluating your damage-to-dice efficiency!

Base damage output

The starting point for calculating dice efficiency is to look at your base damage output. This is situational, but at the most simplistic you can boil it down to “how many wounds—or wound equivalents—does this card cause compared to how many dice it costs?” For instance:

  • Frost Bite is a Ready Spell that deals 1 damage for 1 die; this is a 1-to-1 ratio
  • Final Cry is a spell that deals 2 damage to your opponent for 1 die; this is a 2-to-1 ratio

This actually illustrates the full range of base damage output in Ashes! (Some cards have ratios below 1-to-1, but they typically have some utility effect that complicates calculating their actual value.)

There are also some cards like Summon Frostback Bear that have a “book tax”: a play cost that is effectively amortized across the total number of conjurations you summon all game. In this instance, if you only summon 1 Frostback Bear, it costs 3 dice (2 damage to 3 dice). But if you summon two, they effectively cost 2.5 dice each, and so on. Since the book tax typically only impacts your First Five, most people round it to zero for subsequent summons—so a Frostback Bear effectively costs 2 dice, for your standard base damage output of 1 damage to 1 die.

However, base damage output is merely a starting place! To calculate your actual dice efficiency, you have to look at outcomes.

Calculating dice efficiency through outcomes

To calculate the dice efficiency of a card, you need to consider its total outcome: that is, how many wounds it dealt and was dealt until it was destroyed. Note that there’s a difference between wounds and damage in Ashes! Base damage is how much damage the unit is capable of outputting in a simple attack to the Phoenixborn compared to how much dice you spent. Dice efficiency is more about how many wounds the unit actually places, though.

For instance, say I summon a Hammer Knight. Its base damage-to-dice ratio is 3-to-3. However, if you respond by playing Sword of Virtue to destroy my Hammer Knight before I have a chance to attack with it, then I have spent 3 dice to deal 0 wounds, and you have spent 2 dice to effectively deal 4 wounds (since that’s how much damage the Hammer Knight would normally take to destroy).

That scenario is pretty easy to intuit the efficiency (“I spent 3 dice, you spent 2 dice, and we’re back where we started, so you were more efficient.”). Things start to get complicated when both players are dealing damage, however.

For a second scenario, say I have a Hammer Knight, and you have a ready Frostback Bear and an exhausted Mist Spirit that attacked on a previous turn (this is the first round, so the Frostback Bear costs 3, including the book tax). I attack the Frostback Bear and deal it 3 damage to destroy it, while it deals 2 counter damage back. I then use the Hammer Knight’s Aftershock ability to deal 1 damage to the Mist Spirit. In this instance, I have spent 3 dice for 4 wounds, while you have spent 4 dice for 3 wounds (two from the Bear’s counter, and 1 from the initial attack from the Mist Spirit). My efficiency is slightly better, but more importantly we are not done with the Hammer Knight’s outcome, because the Hammer Knight is still in play. For instance, you might use Aradel’s Water Blast ability to deal 2 more damage to the Knight, killing it. That makes the final outcome 4 wounds to 3 dice (1.33) for me and 5 wounds for 4 dice for you (1.25): my efficiency was slightly better, because I have a slightly higher ratio. If you subtract the two ratios, you end up with 0.08; so you could say that in that exchange I was ahead by about a tenth of a wound.

The reason that knights are so popular, however, is because that minor efficiency improvement is usually the floor for Knights (barring hard removal, as described above). If you don’t have Water Blast (or an equivalent way to kill the Knight) and the round ends, then the outcome is a lot worse for you because the Knight’s recover 2 value clears off your two wounds and I get to use my Knight again.

For argument’s sake, let’s say that happens and you attack the Knight with a Frostback Bear, then use Water Blast to kill it. At this point, my efficiency is 7 wounds for 3 dice (4 in first round, 3 in counter damage to kill the Bear this round), or 2.33. Your dice efficiency is 5 wounds for 7 dice (1 in first round from Mist Spirit, since the Bear’s wounds were wiped out by Recovery; then 4 from the Bear and Water Blast this round), or 0.71. Subtract those two numbers and you get 1.62: I was ahead by over one and a half wounds! That sort of thing adds up, because there’s only so many wounds you can soak up with your dice (and available conjurations or units from hand) before I start converting that damage into damage on your Phoenixborn.

Messing with your opponent’s outcomes

In the examples above, all damage being dealt was the perfect amount to destroy a unit (or not). But much of the time that won’t be the case. You can increase your dice efficiency by ensuring that your units output as close to their full damage as possible, while your opponent’s units waste their potential damage output.

For instance, if I play a Hammer Knight, and you attack it with two Shadow Spirits (across subsequent turns), my efficiency is 2 wounds for 3 dice (each Shadow Spirit only has 1 life and the Hammer Knight remains ready after countering)—0.67—while your efficiency is 4 wounds for 2 dice—2. That’s a difference of 1.33 wounds in your favor!

By making smart choices about which units to block or guard and which to attack, you can maximize the wound output from your units and minimize the output from your opponent’s units to increase your relative dice efficiency.

Why dice efficiency matters, even when it’s from wounds dealt to units

Ultimately, the only damage that matters is damage dealt to your opponent’s Phoenixborn, but because dice, cards, and the number of units available to you are finite resources, considering the dice efficiency with which your deck can handle various scenarios is important. There is an opportunity cost to playing and attacking with units, which is one of the reasons Alert knights are so played so widely. Although they have a relatively high dice cost, they make up for it by potentially killing off a bunch of your opponent’s units (and, in severely disadvantageous matchups, ultimately swinging to face, as well). Additionally, decks can only put so much attack, damage, and life on the board each round, and efficiently dealing with what your opponent has played can allow you to build up very big dice efficiency differentials simply when your units persist to a new round and swing again.

Practical applications for calculating dice efficiency

Exactly calculating your dice efficiency in the middle of a game of Ashes like I’ve done in the examples above isn’t a useful endeavor. However, considering dice efficiency can be very important during deck construction, before games when you know your opponent’s list (to determine your ideal play lines), and after games (to understand where your play lines or deck building choices might need to change to improve your outcomes).

For instance, at the time of this writing I just finished playing a Noah deck in the 2021 Shufflebus 5 tournament which fielded mostly several 2/1 conjurations that cost 1 die each. Doing some simple efficiency outcome calculations, I can determine what books are optimal to lock down with Noah’s Shadow Target ability to avoid inefficient trades. I faced a deck that was running Summon Turtle Guard and Summon Ruby Cobra. From an efficiency standpoint:

  • If they attack a 2/1 with the Ruby Cobra, they spend 1 die for 1 damage (and a mill, which is a utility effect that is difficult to value under this framework) and I spend 1 die for 2 damage. We basically break even there, so there’s not much reason to worry about locking down that book, and if I attack it I kill it and leave an exhausted 2/1 unit behind (which requires them to expend more resources to destroy, improving my efficiency).
  • Turtle Guard is less simple, because it has Recover 1 and is effectively immune to damage while exhausted. So they play it for 2 dice (1 for the book tax), I attack with a 2/1, then the round turns over and I attack it with a second 2/1 to kill it. That’s 3 wounds for 2 dice for me (1.33) and 2 wounds for 2 dice for them (1). On paper that looks to be slightly in my favor, but because Turtle Guard has Unit Guard that means I don’t get to decide where the damage goes (they effectively get 2 free guard actions, which is a big deal if I need to efficiently deal damage). Subsequent Turtle Guards only cost 1 die, too, so the same pattern repeated in the second round would mean their efficiency is 2 wounds for 1 die, and mine would be 3 for 2 (plus all the same efficiency costs). That means locking down Turtle Guard with Noah’s ability was a high priority for me.

Those particular examples are kind of obvious, but hopefully illustrate the concept. You can also consider the opposite: why did my opponent choose those two books?

  • Ruby Cobra is a 1/2 unit on attack, or a 0/2 unit on defense. For decks that aren’t running 2/1 units (my deck is an outlier in that regard; in the online meta as of this writing it’s an unusual statline to see), that means that a likely outcome for the Cobra is to deal 1 wound for 1 die (a low baseline damage, but consider it also has a utility effect), but then require 1-2 dice spent by your opponent to kill it (or it might soak up a Knight swing, causing them to waste a potential wound).
  • Turtle Guard is a 2/3 unit that can’t attack, which effectively costs 1 die (disregarding the book tax). That makes it very difficult to kill by anything except Knights, with whom it trades beautifully (it deals damage equal to half a typical Knight’s health, making it much easier to efficiently kill the Knight).

These less specific “good enough” calculations are typically how most players think about dice efficiency. Tracing specific, full outcomes is often too difficult, very specific to individual match-ups, and is complicated by the fact that dice efficiency is a constantly evolving thing; in a way, the true “outcome” would have to be tracking efficiency from the very start to the very end of the game, because it’s very common for highly efficient outcomes to be turned on their head (for instance, perhaps I efficiently kill a Hammer Knight with my 2/1 units only to a have my opponent play a second Hammer Knight that wrecks me with Aftershock damage and survives to the next round). Examining specific outcomes can hopefully help lead to a more general understanding of efficiency, however.

Dice efficiency isn’t everything

I mentioned it earlier, but it bears re-iteration: dice efficiency isn’t everything! Simply collecting all the most efficient units in a single deck won’t necessarily win you games; timing, smart play, and exploiting utility effects that work well together are all incredibly important parts of Ashes, as well. However, gaining an understanding of what constitutes dice efficiency will definitely help improve your ability to construct decks and make smart choices in game, so it’s worth thinking about.

Good luck and have fun!

A beginner’s guide to Ashes Reborn

So you’re interested in playing Ashes Reborn: Rise of the Phoenixborn, but feeling nervous because it seems daunting? Never fear! Ashes is one of those great games that’s easy to learn but hard to master, and although becoming an excellent player is mainly a matter of experience, I can at least provide some general pointers so that you have a better idea about why experienced players make the choices they do.

This article will not cover the rules or how to play the game. Rodney Smith’s Watch It Played is hands-down the quickest way to learn Ashes (and if you prefer reading…well, that’s what Ashes’ excellent rulebook is for!).

What should I buy?

Everyone asks this, so let’s get it out of the way. In Ashes Reborn, you only have one constraint: dice (many expansions require dice that are not included in the Master Set). Every Ashes product comes with a full playset of every card, and there are no repeat cards between products (which means that if you buy one copy of everything, you’ll have everything you need). First, you need the Master Set for the rules, tokens, and first four dice types. If you enjoy the game, you should get the “deluxe” expansions (Laws of Lions, Song of Soaksend, and soon Breaker of Fate) so you have the final three dice types. After that, you can buy any small box expansion that looks interesting to you.

If you aren’t sure if you’ll like the game, pick up the Master Set (lots of gameplay to be had there, and it will give you a good feel for which dice types do the things you enjoy). If you’re sure you’ll like the game, but aren’t quite ready to drop a couple hundred dollars on it, get the Master Set and the deluxe expansions.

Once you have those, some good next steps are the single-dice small-box expansions (Children of Blackcloud, Frostdale Giants, Roaring Rose, and Duchess of Deception). A lot of people recommend King of Titans, as well, because it has a lot of solid cards for building decks. And dinosaurs. Who doesn’t like dinosaurs?

Beyond that, there’s no wrong answers. Buy decks that use dice types you enjoy. Buy decks whose Phoenixborn look awesome. Buy all of them in a single go, because you’re going to end up there anyway…

Do I need extra sets of dice?

No.

No, seriously, I really think I need extra sets of dice

Even if two players are building out of the same collection of cards, you probably will never need extra dice (you’re much more likely to be fighting over cards). If you really, really, really want to play your Snakes in Silver deck against your Frostdale Giants deck, you can easily proxy whatever D6 dice you have lying around for the five Natural die you’re short (sides 1 & 2 are Basic; sides 3-5 are class; side 6 is power).

If you’re regularly running four player drafts out of your collection, you might want extras, I guess. Or if you just really like dice.

Playing the game

Alright, so you’ve bought every Ashes Reborn product under the sun, including a bunch of extra dice despite my advice, and now you’re wondering how to actually win because you’ve discovered that when you and your opponent are trading a whole bunch of really small turns back and forth sequencing matters a lot. And for some reason their plans all seem to be coming to fruition while yours burn down around your ears.

I can’t tell you how to know what to do and when to do it (it’s way too situational; you’ll need to play the game to get a feel for that stuff). But I can provide a few guiding principles so you can at least make more informed decisions and start building good habits.

Meditation leads to power

New players are often very leery of meditating off the top of their deck. It just feels awful to flip that top card over and see a Molten Gold or something that you know could have actively helped you win and is now sitting useless in your discard.

Here’s the thing, though: assuming you play all five cards in your hand every round (not guaranteed), the game would have to last six rounds before you’d played every single card in your deck. Many Ashes Reborn games will end in rounds three to four. That means that in a typical game, 10-15 cards in your deck will never see play.

If almost half of your deck will make no impact on the match anyway, then meditation is not discarding cards that you could have played. It is instead allowing you to play what you need to win at the cost of advancing the point at which you’ll take fatigue damage downwards from the top of round 7.

As a result, the vast majority of the time you should decide exactly what dice you need to adjust to play the cards in your hand or spellboard, and meditate exactly that many cards off the top of your deck regardless of what it places in your discard pile. Unless a card is in your hand, it’s effectively blank because it has no impact on the game, so don’t worry about meditating off the top of your deck!

The only exception is if you expect the game to go long (or if you are reasonably sure you’re facing a deck that’s got a lot of discard from deck effects—colloquially known as “mill”—or cards that spin your dice down). However, you’ll be able to recognize those decks with experience. It’s much easier to think about whether you should meditate and choose not to when you’re a more experienced player than it is to overcome the hesitance or habit of not meditating. Meditate early. Meditate often. You’ll need those side actions later in the round to do things that will actually help you win.

Know your win condition

The only way you win in Ashes is to deal lethal damage to your opponent’s Phoenixborn. Knowing how the particular deck you are playing plans to do this is arguably the most important part of playing the game, whether you are playing preconstructed decks or fully custom constructed decks, because it will strongly inform the choices you make in-game.

For instance, let’s say you’re playing your first game with Aradel vs. Maeoni (a very common match-up). Just looking at the deck-lists, you can see that Aradel has a large battlefield, low life, and lots of cheap, small units. This means that her deck is trying to swing around her opponent’s threats by summoning more units than they can block, and you’re likely going to need to play very aggressively to try and end the game before her low starting life becomes a problem.

Maeoni, on the other hand, has high life, a small battlefield she can’t even fill, units that have no attack whatsoever (but a Silver Snake that will get more and more dangerous the longer it is alive), and a card that allows her to attack with a single unit without being blocked (Hypnotize). Just from that, you can figure that she’s going to need to stall the early game, try to clear as much of her opponent’s battlefield as she can, and then swing past her opponent’s threats with a giant snake for the win.

Identifying the win condition for a deck that you have not built can be very tricky (particularly when the deck is built by a higher level Ashes player). My best advice is to familiarize yourself with the common archeyptes in Ashes, and then look for cards that only have a single copy (particularly Ready Spells). That will usually allow you to guess the deck’s typical First Five, which is often a strong indicator of the strategy it is likely to use (you ask yourself: “how would this collection of units or card effects allow me to gain long-term advantage and win?”).

Identify your opponent’s win condition

Knowing your own win condition will help a lot for picking a good First Five. However, you also need to determine what your opponent’s win condition is so that you can adjust your tactics, if necessary. This is often why players in the first round of a game will slowly trickle out their ready spells and units without necessarily doing anything with them; they’re hoping that they’ll be able to get a read on their opponent’s strategy so they can accurately evaluate whether their default approach is smart or suicide.

In the example pairing above, for instance, summoning an early Gilder can be a very important play for Maeoni against some opponents, because it can guard an attack against her Snake. However, versus Aradel, she actually wants to wait to summon the Gilder until Aradel has played one of her single life units so that the damage dealt when summoning a Gilder can kill a unit and feed the Silver Snake. Similarly, the Maeoni player will likely want to use Open Memories to dig up a second copy of either Empower or Summon Gilder rather than another Summon Silver Snake because they need those cards to clear Aradel’s units (whereas in other matchups they might want to get a token on the Snake right away when they summon it so that it can defend itself and doesn’t take as long to build up its attack).

There’s no hard and fast rule here, but a good general idea in the first round is to wait to attack or actively try to destroy your opponent’s threats until you’ve seen 3-4 of their cards. Of course, the more experience you gain (or the more familiar you are with your opponent’s deck or preferred playstyle), the more you’ll be able to ignore this because you’ll be able to more accurately judge what they are doing based on less in-game information.

Why a particular deck wins

Generally speaking, if you have two decks that are well balanced compared to each other piloted by two players of a similar skill level, the player who wins will:

  • Deal more damage for less dice
  • And/or make better use of card effects and unit abilities

This can be difficult to grok for people coming from other card games, because Ashes doesn’t have an economic engine the way other dueling card games typically do (so building or disrupting an economy is much less a thing in this game). Both players have exactly 10 dice to spend, card draw is often a niche effect instead of being game-defining (due to non-random first rounds, and not being able to play extra cards because you’ve run out of dice), and with Ready Spells that summon units board presence is easy to guarantee. As a result, it’s pretty common for new players to be good at building or piloting a deck to achieve a specific win condition, but to struggle when their opponent successfully disrupts their plans.

It’s important to keep these goals in mind, though, because juggling the concern of dealing more damage for less dice and making better use of effects/abilities directly informs your decisions both during deck construction and during the game.

If that seems frustratingly abstract, it’s because it’s a very difficult topic to illustrate outside of specific examples. For now, it’s best to keep in mind that killing your opponent’s units is often a secondary consideration (because it doesn’t advance your win condition; only damaging the Phoenixborn will do that). However, if you can kill your opponent’s units for less dice than they spent on them—or do so before they are able to compound their investment across multiple rounds—then that does advance your win condition, because the gain in efficiency typically leads to long-term advantage.

When and what should I attack?

So much about Ashes is about sequencing and timing, and one of the biggest head-aches for new players is figuring out when and what they should attack. This choice is complex, situational, and very difficult to simplify into generic principles. A lot of really good players just have a good “feel” for it, and probably can’t describe exactly why they make the choices they do, outside of describing their reasoning in specific situations.

However, this choice usually boils down to choosing between actively pursuing your deck’s win condition vs. disrupting your opponent’s deck by dealing more damage with less dice.

As an example, consider the Aradel vs. Maeoni precon example. The Maeoni player summons a Silver Snake, which costs her two dice and comes into play with no attack. The Aradel player now has a dilemma: they can try to destroy the Snake, but thanks to its 4 health it will likely cost them at least 3 dice (1 for Aradel’s Water Blast ability to deal 2 damage; 2 for a couple 1 attack units); and quite possibly more, because the Maeoni player can disrupt their plans (by guarding with their Phoenixborn or Gilder; killing units before they can attack with the ping damage from Summon Gilder or the Natural dice power; etc.). That being the case, an alternative would be to avoid spending resources on the Snake early and try to sneak some damage past or kill the Gilder while establishing a board presence in hopes of dealing with the Snake once the Maeoni player has sunk more dice into buffing it up. After all, if a Mist Spirit attacks in two rounds, then it gets you two damage for one die instead of one damage for one die.

As ever, sequencing here will be key: if the Aradel player can wait until the Snake has 2-3 counters, then drop a Massive Growth on a Blue Jaguar and hit the Snake directly without a Gilder getting in the way, it’s history (and they’ve spent 4 dice vs. the Maeoni player potentially spending 4-5 at the high end, depending on how they got the counters on). If the Snake gets big enough, though, a Massive Growth unit might just get killed instantly with Maeoni’s Command Strike ability. The key point is that unless you’re able to kill a unit without spending more dice than your opponent spent to play it (or has since invested in improving it), you might want to take your licks from it and focus on pursuing your core strategy (in Aradel’s case, swinging around the edges of her opponent’s battlefield with a lot of small units).

Compound the value of your dice

It may seem strange to use spells or attacks to remove your opponent’s units if they can just play them again in the next round, but there’s a very simple reason you want your units to survive and your opponents’ to get destroyed: whenever a unit survives to attack or counter in a subsequent round, the controller of that unit has compounded the value of their dice investment. For instance, if you play a Hammer Knight and attack with it, you’ve dealt 3-4 damage for three dice (depending on whether it deals damage with its ability). If it survives until the next round to attack again, you’ve dealt 6-8 damage for three dice.

This is something that you have to factor into your decisions over what and when to attack. If you expect your opponent to kill your unit before the next round no matter what, it might be worth using it to try and deal damage to their Phoenixborn instead of trying to force the damage onto a unit (since only damage on the Phoenixborn ultimately matters). Alternately, you might have a free shot at their Phoenixborn (e.g. if all their stuff is exhausted), but attack a unit instead to ensure that they cannot compound the value of the unit in the next round. This is highly situational and something you’ll need to get a feel for through actual play, but balancing the conflicting concerns of keeping your units alive to fight multiple rounds, killing your opponent’s units before they can act twice, and actually dealing damage to their Phoenixborn is a key skill for winning in Ashes Reborn.

Building decks

Deck-building in Ashes can be daunting, because you can include literally any card in any deck as long as you include the dice to play them (aside from Phoenixborn uniques). And how do you decide how many dice to use? Aaaaaaargh…head explodes.

That said, getting into deck construction is actually really easy. Here’s how:

  1. Play at least one game with every preconstructed deck in the Master Set
  2. Pick your favorite deck, and ask yourself: which cards were useless or underperforming when I played this deck? Which cards from the other decks would have allowed me to win (or win more)?
  3. Swap the bad cards out and the good cards in, and play again. As you continue to test the deck, you can tweak the number of cards and maybe add or remove dice. You’ll be surprised how quickly you get a feel for what this deck does well, and what kinds of cards it needs to do it better.

But who am I kidding? No one wants to do the hard work of learning through experience! So here’s some quick tips that guide more experienced players as they build decks.

Your spellboard should be odd

If you include one copy of a spellboard card, it means you plan to include it in your First Five (could mean you always include it, or you sometimes include it based on what you expect your opponent to be running).

If you include three copies of a spellboard card, it means that you want to draw into it (whether or not you plan to First Five it).

If you include two copies of a spellboard card, it means that you’re virtually guaranteed to meditate one of them off the top of your deck when you most need it, and in many games you’ll never see it before the third or fourth round when it doesn’t do you a lick of good.

Ready spells are costed on the assumption that you will get value on them across multiple rounds, so rather than wasting a slot on a second copy of a Ready Spell, you would be better off including an Action Spell or Ally that will make a difference regardless of when you draw it.

Keep your spellboard odd.

The meaning behind the numbers for non-spellboard cards

For cards that aren’t Ready Spells, you can include one, two, or three copies as you like. Here’s what those numbers mean:

Like Ready Spells, one copy of a card means you plan to First Five it. It’s very common for decks to build around a standard First Three or First Four and have 1-2 flex cards. For instance, if I’m running Ceremonial dice, I might include one copy of Choke on the off chance that I run across a Phoenixborn whose ability is going to cause me grief or is repeatable (like Odette Diamondcrest, Coal Roarkwin, or Rimea Careworn). I might also include one copy of Fester if I see a dice spread that likely means I’ll be facing threats that cost three dice (like Natural plus Divine). I probably will never First Five both of those cards in the same game, but they’re there when I need them.

Two copies of a card means that you want to see it at least once every couple games, and you don’t want to break down in tears if you meditate it off the top of your deck. For me, these are often cards with high impact but that might be situational. For instance, if I’m using Divine dice I might include two copies of Meteor because that really wrecks decks that rely on lots of small units, but it’s not something I necessarily want to play more than once per game.

Three copies of a card means that you want to see at least one copy every single game, and you wouldn’t mind seeing it more frequently. These are typically the cards that are central to your strategy, and having three copies both means that you’re more likely to draw into them and that if you meditate one off the top of your deck you can feel confident that you are still likely to find another copy later.

Start with your First Five

If you’re having trouble coming up with a deck, start with your First Five. What are five cards that you strongly want to play together (or what are five cards with really interesting synergy)? What is the win condition those cards will push you toward? Once you know those two things, fleshing out your deck with cards that support that win condition or thwart decks that you think your deck will have trouble against is a lot easier.

I recommend looking for cards that work well together in your First Five. (An alternative is to look for cards that are highly efficient, but those are often harder to spot for a new player.) For instance, maybe you really love the idea of Secret Door. So in that case, you’re going to need units with high attack and a life value of 1. Frost Fang, Summon Shadow Hound, Shadow Guard, and Stormwind Sniper all fulfill that requirement. Pick your favorite and look for which cards you’ll need to keep them alive, recur them, or grow them into even worse threats before using Secret Door.

(You may have noticed that these are the two ways decks commonly win; often times starting with what you want to do—”I want to deal more damage for less dice” or “I want my cards to do something cool that’s more than the sum of their parts”—is a good way to focus your deck down and reduce the number of cards you need to worry about trying to include.)

Another perfectly valid choice would be to pick a Phoenixborn you really like, and then look for cards that compliment them. For instance, Echo Greystorm has a mid-size battlefield and manipulates exhaustion, clogging your opponent’s battlefield. What cards might help him to do that even better? What cards can capitalize on units being temporarily exhausted?

With a tentative First Five in hand, your next step is usually to count up how many dice you’ll need to play those cards. More than 10? You might want to swap a higher cost card out for something lower cost. Significantly less than 10? You probably want to do the opposite. Part of dealing more damage for less dice includes spending all of your dice every round. (Which isn’t to say you can’t start a First Five that only uses 8 dice or similar, as long as spending dice powers will directly help your deck. Alternately, if you include card draw in your deck, it might make sense to start with cards that cost fewer dice so that you can afford whatever you draw into.)

Once you have a First Five that costs close to 10 dice, you should take it for a spin! Don’t worry about dealing with potential opponent’s decks too early; worry about crafting a solid starting place for your own deck. It’s usually a lot easier to see where your deck is lacking after you’ve played a game or two with it, and as you accumulate more experience you’ll get a lot better at pre-emptively spotting decks’ weak points.

Picking your dice

There are two main things you need to worry about when choosing how many dice of each type to include in your deck:

  1. How many and what types of dice do you need to activate your spellboard cards?
  2. What is the ratio of dice costs in your deck? (This gives you a rough sense for your likely cost distribution in average draws.)

For instance, if you are a Maeoni player with a slightly-modified deck who is starting out with Summon Silver Snake, Summon Gilder, and Summon Frostback Bear you will need four Natural dice for your first round (one for the Snake, one for Gilder, and two for Frostback Bear). However, on subsequent rounds you will probably only need two (one for Gilder, and one for the Frostback Bear) because Silver Snakes are hard to kill. That means that even if your deck has more Natural cards than other colors, you might not need more than 4-5 Natural dice, since most cards will only require a single Natural cost to play. On the other hand, if you’re also running three copies of Frost Fang and Molten Gold, you might want to have 6 Natural dice so that you can be sure you can cast two cards that require 2 Natural dice each.

You can get away with quite a lot fewer dice in a single color in Reborn than you might expect, as long as you can afford the hands of cards you’re likely to draw. Choosing dice is more of an art than a science, though, so to some extent you should just pick what feels right and then see if it works in an actual game.

Power faces are discard costs

One thing that new players might be surprised about is that even if every cost for a particular dice type in your deck is a power face, you still don’t need any more dice than it takes to play a typical draw of those cards.

This is because you should always assume that power costs require meditation. While you can sometimes lean more heavily into a dice type whose dice power you want to be able to play more often, you should generally just assume that any card with a power face on it has a hidden discard cost, as well.

If a predominance of the cards in your deck are using power symbols, then you might want to give some thought to dice fixing cards like Call Upon The Realms, Magic Syphon, Hidden Power, or Dark Reaping so that you don’t kill yourself with fatigue damage.

Where to go from here

Play the game. Seriously, it’s the single best way to improve. Not comfortable with deck construction? Play a few preconstructed matches, and you’ll pretty quickly start to recognize what works and what doesn’t in those decks (and have some ideas about how you could do it better). Having trouble making constructed decks that function the way you think they should, or choosing how many and which type of dice to include? Play a couple games with it, and watch for moments where you’re wishing you had a different dice spread or card in hand.

If you’re having trouble finding partners, I highly recommend checking out the Ashes Community Discord for matchmaking on Tabletop Simulator or Ashteki. At the time of this writing, there is a very active Friday virtual get-together every week called First Five Fridays that’s explicitly targeted at teaching new players the game, preconstructed matches, and casual constructed. Several online tournaments have been running regularly, as well (which is a great way to gain experience fast; even if you lose games initially, you’ll have a chance to experience directly how more experienced players build decks and pilot them, which will teach you far quicker than any sage advice I can try to dish out).

I agree: playing with strangers is scary. But Ashes is one of the most uniquely friendly communities I’ve ever participated in. I have literally never had a bad experience playing this game, even when I’m getting stomped into the ground. It’s honestly a little weird.

In any case, I hope some of these ideas help you with playing or constructing decks! Welcome to Ashes Reborn!

Archetypal strategies in Ashes Reborn

Uh…been a while since I posted anything here, huh? Looks like the last time was [REDACTED] years ago. Since then I’ve dedicated quite a lot of my free time to the card game Ashes: Rise of the Phoenixborn from Plaid Hat Games (some of that time playing it…but mostly developing Ashes.live, a community fan site and deck building tool). Lots happened; my local meta lived, died, and lived again; the game was canceled; several expansions were released by fans; and very recently Ashes was relaunched as Ashes Reborn! Ashes is better than ever, Ashes.live will eventually be better than ever once I finish porting over the functionality from the legacy site, and I strongly recommend you try the game out if you haven’t already. It’s better than Magic: the Gathering; fight me!

But that’s not the reason for this post. Some folks on the Ashes Community Discord (join here) were recently talking about how the game needs its own terminology to describe common deck archetypes. I love developing terminology. You can do the math. (I’d have posted this on Ashes.live, but I haven’t re-implemented the posts functionality…so here we are.)

Please note that this article assumes familiarity with Ashes cards and gameplay. If you are new to the game, you should probably start with the Watch It Played video or similar.

Conceptualizing deck strategies in Ashes Reborn

A lot of people like to use terms like “burn”, “mill”, and “swing” to describe decks in Ashes, but because of Ashes’ unique structure these terms often fail to capture what actually makes a given Ashes deck unique.

Let’s take a look at some of the core strategies that make up Ashes decks, and how they map onto the common, Magic: the Gathering-based terminology that most people use to describe archetypes!

What’s your win condition?

The most common question raised when a user posts a deck for feedback is “What’s your win con?” This is kind of a misleading question in Ashes, because there’s only one actual win condition: dealing lethal damage to your opponent’s Phoenixborn.

What is meant by this question is “what is your primary source of damage?”, and in Ashes there are three broad categories:

  1. Attack damage (this comes in several flavors, which we’ll explore in a bit)
  2. Direct damage from spells and abilities (commonly referred to as “burn”)
  3. Fatigue damage dealt at the top of the round when they have to draw and have no cards in their deck (commonly referred to as “mill” damage, after an archetype in Magic that used a card called Millstone to discard cards from the opponent’s deck)

Thanks to the widespread use of terms like “burn” and “mill”, players often assume that the sources of damage above are deck archetypes. There’s certainly nothing wrong with trying to do something quirky like make a deck that deals the vast majority of its damage directly through spells and abilities, of course, but it is far more common for decks in Ashes to rely on multiple sources of damage.

This is because in Ashes, the battlefield is omnipresent.

How do you manage the battlefield?

In many competitive card battle games, you have two basic resources: whatever you spend to play cards, and the cards themselves. One or both typically relies on luck of the draw, which means in those games, you can attack the units your opponent plays, or discard those units from their hand, or discard/destroy the resources they use to summon those units, even if you don’t really want to play units yourself. In Ashes, both players always have access to 10 dice per round, and thanks to the First Five and Ready Spells that summon units you can guarantee permanent access to battlefield presence.

It’s still possible to mess with your opponent—you can force them to discard cards, spin down their dice, exhaust their spellboard cards, etc.—but if they want to play units, there’s not really a lot you can do to fully stop that. And since units are an easy source of damage (through attacking) and simultaneously a strong defense (through blocking), they most likely will be playing units.

This means that after figuring out what your primary source of damage is, you need to figure out how you’re going to manage the battlefield. Because it takes two people to battle, there are two sides to this question. For your own battlefield you can:

  • Refill: play units, then when they die play them again (e.g. using a Ready Spell or Ceremonial dice power recursion). This strategy can range from playing a single copy of a spellbook so that you always have one copy of a particular conjuration each round, to running multiple copies so that you can ramp up production in later rounds.
  • Refresh: there are two ways to refresh your battlefield: you can play cards that remove exhaustion from your units (allowing a single threat to act twice in a round), or play cards that destroy your units so that you can replace them with something else. It might seem a little weird to group these seemingly disparate actions into a single strategy, but they boil down to the same thing: you spend some resources to leverage the same battlefield slot more than once in a round.
  • Recover: sink more resources into units that are difficult to kill in hopes of building up advantage when they survive to the next round. Units meant to recover are often the “knights” (a “knight” in Ashes is a unit that costs one power die, one class die, and one basic die; referred to as knights because a lot of them are actual knights: Hammer Knight, Celestial Knight, Holy Knight, etc.), or units paired with strong defensive alterations like Root Armor.

And the main things you can do to your opponent’s battlefield are:

  • Clear: kill their stuff. Area of effect (AOE) spells like Nature’s Wrath and Meteor can wipe entire boards. Units with the Alert skill can kill multiple attackers each round.
  • Clog: why play more units when you can just clog up your opponent’s battlefield? The most common clog strategy relies on exhausting your opponent’s units (Kneel, Blood Chains, etc.), although chump blocking attackers with units that are much cheaper is arguably a clogging strategy, as well.

How you want to manage the battlefield influences what cards you’ll want to include in your deck, and it is the combination of primary damage source and battlefield management strategies that defines the various archetypes you’re most likely to run across in Ashes. However, before we can get into that we need to break down “damage from attacking”, because there are several primary ways to deal attack damage.

What’s your plan of attack?

There are several flavors of attack damage that you can use for your win con:

  • Swing around (often referred to as “swinging wide”): if you have more unexhausted units than your opponent, they can’t block them all. Wide strategies typically focus on spamming out large numbers of low cost units, but can also be seen in smaller battlefields (as long as you have a consistent way to clog or clear your opponent’s units such that you shrink their effective battlefield value smaller than yours).
  • Swing through: by leveraging units that can swing multiple times (either multiple times per round because they don’t exhaust, or due to refresh effects; or that survive more than one round), you can build up an incremental advantage over your opponent until they die by a thousand cuts or you are able to push through lethal damage in a chunk (often at the top of a round). A very common inclusion for swinging through strategies are cards that have Overkill like Cerasaurus Mount or Power Through (which deals direct damage when you kill an opponent’s unit; this sort of complementary damage accelerant is a great example of how to supplement your main plan of attack).
  • Swing past: who cares how many units your opponent has if none of them are allowed to block yours because you have an ability that disallows blocking? Most folks refer to this as “bypass”.
  • Stall: sometimes you don’t want to swing at all! If your deck has a longer-term strategy, you may need units that can efficiently delay or destroy your opponent’s threats (often with a secondary benefit, like discarding cards from their deck on death). This isn’t a win con, per se, but it’s often a legitimate strategy for the first round or two as you try to draw into the cards your deck needs to stabilize. As a secondary strategy, it’s also an important way to shore up other attack strategies (e.g. decks that swing through or swing past often need to protect key units using Unit Guards or healing, both of which are stalling strategies).

People often like to refer to “swinging wide” vs. “swinging tall” (lots of small units vs. one really big unit), but I personally find those less useful categories because they don’t really capture how you plan to deal damage (e.g. a tall strategy could be a One Punch deck where you try to deal lethal damage in a single, unblockable chunk or it could be focused on swinging through medium sized chunks of damage consistently by killing off their battlefield; and which strategy you are using influences which other cards you are going to need much more than whether the deck is “tall,” “wide,” or somewhere in between).

When do you want to win?

Please note: this topic is arguably related to higher-level deck-building, because it’s more about responding to potential threats in your meta rather than crafting a cohesive strategy for your own deck. However, even if you don’t worry about it when initially building a deck, you’ll probably want to have some familiarity with the topic when it comes time to revise your deck after playing it.

A final component to consider when evaluating archetypal strategies in Ashes is when your deck aims to win. This is a tricky topic, however, because it can shift depending on match-up, which means that it usually influences your secondary sources of damage rather than your primary win condition. This is something you consider during deck-building, but decide at the table.

Cards can either accelerate or decelerate the end game, depending on whether they increase or decrease a Phoenixborn’s effective life total. Generally speaking, you want to accelerate the end game for your opponent, and decelerate the end game for yourself (note: this means your Phoenixborn’s base life total is a consideration! E.g. a low life Phoenixborn might need to win quickly, or have support for decelerating their end game):

  • Accelerate: there are two ways you can accelerate the end game: deal direct damage to your opponent’s Phoenixborn, or discard cards from their deck (either directly, or by doing something like spinning down their dice so they have to meditate). Fatigue damage is unavoidable, and if they are suffering fatigue damage it means their available resources are drastically constrained compared to a normal turn, both of which are good for you. A lot of people ignore “mill” damage because they are playing a “swing” deck, but when swing decks stall out on battlefield fatigue damage can be a very effective closer.
  • Decelerate: conversely, you can decelerate the game for yourself by healing your Phoenixborn or using dice fixing (to prevent needing to discard cards when meditating).

For instance, if you are trying to swing through and you come up against an opponent that is also swinging through, how will you ensure you come out ahead? Depending on what dice types you are running, you could accelerate their end game through direct damage or units that have abilities that discard from their deck, or decelerate the game for yourself by including healing or dice fixing.

One last thing that’s important to consider when thinking about when you want to win: accelerating and decelerating the end game are relative between you and your opponent and not necessarily tied to the overall length of the game! If you expect that you’ll need to deal with decks that stall you on battlefield and deal direct damage, for instance, you might want to include tools to decelerate your end game through healing to ensure that you survive long enough to push damage through on the battlefield (even though your deck otherwise tries to aggressively swing past lethal damage by the third or fourth round).

What’s your (arche)type?

Ashes is an unusual game. The First Five rule, coupled with the ability to meditate spellboard cards, means that you can start with one strategy, then pivot into another or include multiple potential strategies for different expected opponents.

However, decks still do tend to fall into natural archetypes because if you generalize your deck too much you risk being unable to push damage through quickly enough.

Additionally, many of the best units in Ashes serve multiple purposes because they both serve as a threat (or defense) on the battlefield, and have an ability that affects the game in a different way (e.g. direct damage, discarding cards from deck to accelerate the end game and fatigue damage, etc.).

Historically, Ashes players have reused a lot of terminology from Magic: the Gathering. Here is how those terms map to the strategies above:

  • Swing: swing decks typically clear their opponent’s battlefield by refilling or replacing attackers (and often by packing removal spells). They usually swing around or swing through, depending on the Phoenixborn (e.g. Aradel is more likely to swing around; Odette is more likely to swing through). The timing for winning with these decks varies a lot; a well-constructed swing deck vs. a deck without sufficient battlefield support can win as early as the top of the second round. When two well-matched swing decks face one another, though, the game can go quite long, with both players jockeying for position.
  • Bypass: while it is possible to have a bypass swing deck (typically a deck that tries to swing through in conjunction with something like Frostback Bear that swings past), pure bypass decks tend to focus on creating a single huge threat that can’t be blocked, and dealing all of their damage in a couple chunks. The quintessential example is Silver Snakes with Hypnotize (which clears and stalls until the Snake is large enough to swing past). These decks tend to try to close the game out within the third or fourth round, although depending on luck and matchup they can end things faster or grind on longer.
  • Burn: pure burn decks are not really a thing in Ashes Reborn, to the best of my knowledge. Burn is typically used to accelerate and close out games regardless of archetype. Typically, burn decks attempt to stall, often with a mixture of clog and clear through defensive units and spells, then win by playing (and possibly recurring) direct damage.
  • Mill: when most players mention “mill” what they mean are decks that stall and use a combination of clear and clogging to manage their opponent’s attacking threats while simultaneously leaning heavily on effects that accelerate fatigue damage and the end game (this typically involves directly discarding cards from the opponent’s deck, spinning down their dice so they are forced to meditate cards off their deck themselves, or both). It is also entirely possible to leverage “mill” cards within a deck that is focused on swinging through, though; in the aforementioned longer games between two well-balanced swing decks, fatigue damage is often a deciding factor so milling serves to accelerate the end game.
  • Control: this isn’t a distinct archetype in Ashes, per se; instead control cards are the ones that mess with your opponent’s plan. Using the above terminology, spells that focus on clearing, clogging, or stalling are typically control cards. A control deck is one that usually tries to gain incremental advantages over an opponent to win the long game (and as such is often conflated with mill decks, although it’s a perfectly valid strategy for decks that want to swing through, as well). Something that players sometimes miss is that the recover strategy is often a control strategy (because you have to manage your opponent’s threats to ensure your threats are able to gain repeat value round-to-round).

One last distinction that can be useful when thinking about decks is whether they are aggressive or defensive. An aggressive deck will try to push as much damage through as fast as possible, whereas a defensive deck will try to accrue incremental advantages over a longer game. Sometimes having defensive tools in an otherwise aggressive deck (or vice versa) is an important method for managing different matchups (although knowing when that’s necessary is something you’ll gain through play experience).

But what about the combos?!

You may have noticed that a particular archetype from other card games is not present above: the combo deck.

Never fear! Building around a specific combination of cards is a time-honored tradition in Ashes (even if many of these decks end up lovingly consigned to the “jank” category of fun concepts that don’t work consistently enough to be competitive). There are two types of combos in Ashes:

  • Explosive: this is what people typically think of as “combos” when coming from other card games. It’s a specific combination of cards that offers sudden, high value with considerable setup. You will rarely see these in competitive Ashes because they are very easy to disrupt if your opponent knows what to expect (you typically have to play all the component pieces across several turns or else luck into the right cards in hand at the right time, giving your opponent lots of time to shut the combo down or making it difficult to execute the combo after the first turn).
  • Engine: this is far and away the most common type of combo in Ashes, and is typically what you should try to build your deck around if you love combos. A value engine is a combination of cards that give repeated long-term value.

An example of an explosive combo is Mind Fog Owl (2 attack unit which can’t be blocked unless all other attacking units are blocked), Shadow Hound (3 attack, 1 life), Accelerate (grants 2 extra side actions), Secret Door (makes 1 life unit unblockable for a side action), and Exhortation (adds two unit’s attack values for a side action). This pushes through 10 unblockable damage, but is very easy to disrupt (your opponent could kill either unit before the combo went off, or make you discard a card from hand, or exhaust one of the two Ready Spells necessary to summon your units, etc.).

An example of a combo engine would be Hunt Master (which spends a status token to buff other units for the turn) and Time Hopper (which places a status token on another unit when it comes into play). This offers repeatable value that compounds the longer the game goes (and the longer the Hunt Master survives), which is much easier to set up and protect.

If you like building around a particular set of card interactions, you’ll want to ask yourself, “What strategies will allow this combo to help me win?” Combos, particularly combo engines, often require more time to stabilize and start to generate value so you might want to consider tools for stalling or clogging to shut down your opponent’s bigger threats. Alternatively, it can be very easy when building out an explosive combo to go overboard and end up with a deck that doesn’t do anything except execute the combo (which often means you are guaranteed to lose once your opponent knows what to expect). In that case you’ll want to be sure to include some cards that advance one of the win conditions outlined above, or else use the combo only against people who you believe aren’t expecting it, or are not building to prevent it.

So how do you use these ideas?

Personally, I find these concepts most useful for evaluating how one of my own decks is likely to perform, because once I identify my primary strategy it becomes a lot easier to determine whether cards are supporting that strategy or not. It can also make comparing cards easier, because while I might have two cards that support my primary win condition, if one of them also supports my secondary goals then that’s probably the more valuable card for this deck.

For instance, if I’m building a Maeoni deck and I know I want to use Grave Knight, then I already know that I am probably aiming to swing through my opponent’s units (because that’s one of the things that Grave Knight does best; it forces your opponent into blocking when they don’t want to, and tosses some direct damage over the top). I also know that Grave Knight’s relatively low health (for a knight) means that it will probably die every round. That means I’m going to need cards that refill my battlefield, and since I’m already trying to force my opponent into unfavorable trades I likely am looking at spells and units that aim to clear my opponent’s stuff.

That jives fairly well with Maeoni, because her ability is a built-in clearing option and her small battlefield means that unless I’m very confident that I’ll be able to push through lethal damage quickly, a clogging strategy on my part could badly misfire if my opponent’s units have a chance to recover. I’ll likely need some way to push through extra damage just in case my battlefield gets stalled, as well, so a bit of direct damage wouldn’t be out of place (this also compliments Overkill on the Grave Knight, which is a source of direct damage that only functions if I am swinging through).

With those broad strokes out of the way, I have a basis for evaluating other cards to include, which can help lead to a more cohesive, functional deck.

Of course, just having cards that support a central strategy isn’t enough, but it’s often the first big step toward building a competitive deck. Once you have a central strategy, you can start evaluating cards based on their value compared to their cost, decide if you need to lean towards higher damage threats or spread the damage out, decide whether your utility spells should protect your units or threaten your opponent’s units, etc.

If you have a particular meta deck that has been plaguing you, evaluating what strategy it is using can also help when coming up with a counter (e.g. they like to stall and clog? You could look into refreshing your battlefield and perhaps try a strategy that swings past).

Narrow your options

Building decks in Ashes can be daunting, because there are so many possible cards you can include. By thinking about the core strategy behind your deck, you can narrow down the dice types and cards that will be most useful while simultaneously crafting a deck that is more focused and thus more likely to win. Having a feeling for the various strategies can also help evaluate your deck’s strengths and weaknesses before bringing it to the table.

Ultimately, however, no amount of thinking about a deck can replace putting it to the test in an actual game. These strategies provide a starting point, but finding the right balance of cards for you requires seeing what works and what doesn’t in an actual match. Particularly when it comes to choosing how many of each card to include or how heavily you need to lean into a particular strategy, nothing beats hands-on experience. I highly recommend checking out the Ashes community online if you lack a regular local play partner (the Ashes community in general is absurdly welcoming, regardless of your skill level). You can find players on Discord, or asynchronously through Reddit, BoardGameGeek, and Facebook.

Most importantly, though: have fun!

Summary

This article ended up being a lot longer than I anticipated. tl;dr:

Primary sources of damage

  • Attack damage (most prevalent win condition)
    • Swing around (go wide around blockers)
    • Swing through (efficiently destroy blockers, then hit face)
    • Swing past (bypass blockers)
    • Stall (defend to buy time so you can set up other strategies)
  • Direct damage (“burn”; typically a secondary source of damage)
  • Fatigue damage (“mill”; typically a secondary source of damage)

Battlefield management

Your battlefield:

  • Refill (just keep pushing out expendable units from spellboard and/or recursion)
  • Refresh (unexhaust or destroy own units to reuse battlefield slots)
  • Recover (incremental gains from units that survive more than 1 round)

Your opponent’s battlefield:

  • Clear (kill their stuff)
  • Clog (exhaust their stuff)

Shifting the end game

  • Accelerate (deal damage to opponent, or discard cards from their deck)
  • Decelerate (heal damage from yourself, or fix dice instead of meditating)

Combos

  • Explosive (sudden, high value; very easy to disrupt)
  • Engine (ongoing, repeat value from a specific card interaction)

Espresso 3 beta is out!

Hooray! Espresso 3 is at last available as a public beta! I’ve been one of the few people using this version of the app for a while (yikes, is it years now?), and I think you’re going to love some of the new features. You’re probably going to dislike a lot of the rough edges, but for what it’s worth I’ve been using Espresso 3 as my primary editor for the past 4-6 months and haven’t run into any huge show-stoppers (note that I’ve been basically using it only to edit text, though; not so much with the server connections, since my recent work has been all git-managed for deployments).

In any case, the beta has practically no documentation included, so how about I introduce you to some of the new features you’ll find in Espresso 3?

Text Editing

LESS and SCSS, sitting in a tree

Probably my favorite feature in Espresso 3 (and one of the ones I had a big hand in developing) is support for LESS and SCSS. Just pop open a LESS or SCSS file and sigh in relief at the comprehensible syntax coloring. Give the CSS tools a spin and giggle as they actually work on nested rules.

“But,” I hear you say, “almost all editors these days support syntax coloring for LESS and SCSS! What’s so special about Espresso 3?” I’m so glad you asked, because it leads me to one of my other favorite features: Dynamo.

Try this:

  1. In Espresso 3, create a new empty project; mine’s called “Blow my mind”
  2. Add a new file in the project named index.html and give it the following contents:

    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <title>My excellent file</title>
        <link rel="stylesheet" href="css/styles.css" />
    </head>
    <body>
        <h1>Is this text red?</h1>
    </body>
    </html>
    
  3. Preview your file. The text is, sadly, not red.
  4. Add a new folder named css, then add a new file inside named styles.scss with the following contents:

    h1 {
        color: red;
    }
    
  5. Now for the magic: rename the folder css to css.esdynamo. Wait for it…wait for it…
  6. Observe the fact that Espresso has created a folder called css with a file named styles.css inside; switch back to your preview and observe your lovely red text.
  7. Try changing the color of your header in styles.scss and watch what happens in your preview.

Welcome to Dynamo.

(Dynamo can actually do a lot more than just automatically render CSS pre-processors, but I’ll leave that for another day.)

Welcome home, text re-indentation

In CSSEdit, you could automatically re-indent your CSS. This was incredibly handy for working with “minified” CSS, or fixing a co-workers’ poor “style choices”.

Espresso 2 sadly never gained this ability, and in fact largely dictated a single style of CSS formatting.

In Espresso 3, text re-indentation is back, and it lives in the Text menu. Not only that, but you can specify a specific style and have that be used for re-indentation. Whoo hoo!

Note that this is one area that is probably undertested; there will be bugs here.

Tab it your way

One of the most common complaints directed at Espresso 2 came from people who disliked the vertical tabs of the Workspace. In Espresso 3, you can continue to use the Workspace just like you always have, or you can ditch it in favor of tabs along the top of the window: just click the arrow next to “Workspace” and select Show Tab Bar.

Quick Open and the new filter bar

Want to find a file whose name you know? The Quick Filter now lives at the bottom of the left sidebar.

Want to find a file whose name you mostly know? Try the new Quick Open feature, accessible with command shift O (that’s the letter “oh”) or via the “target” menu icon in the toolbar.

Additionally, if you want a little more context about the files in your Workspace, click the star icon in the filter field at the bottom right corner of the left sidebar. You’ll get a filtered look at your project files showing only items that are currently open in the Workspace/tabs.

Zen and the art of snippet maintenance

Snippets no longer live in a floating window! Huzzah! Instead, you can find your snippets in the “zen” toolbar item. Snippets themselves are largely unchanged (same syntax, although the editor now syntax colors them so it should be easier to see when a stray question mark is going to trigger a tab stop zone instead of outputting a PHP variable!), but there are two nice additions worth calling out:

  1. You can specify a language context for your snippets (so Javascript snippets only show up in Javascript, for instance)
  2. If you save a snippet to the “Favorites bar” it will show up in the toolbar next to the “zen” icon

No, you can’t sort your snippets into groups. Give that one a rest already, there’s like a million other more important things on Jan’s plate! ;-)

Navigating the Navigator

If you’ve used Espresso 2 for any length of time you probably know that the Navigator can be a real boon for finding things quickly, but gets less and less useful the more complicated your file becomes. Now you can click the “filter” icon in the upper right corner of the Navigator and filter things visually based on their names. Whoo!

Syncing files

In Espresso 2, servers were saved within the context of individual projects. So if you had a single server that hosted multiple websites, you had better keep the username and password handy, because you were going to be entering it a bunch.

Espresso 3 does away with this, and allows you to instead save server credentials globally, and associate specific paths to projects.

If that makes you excited, check the upper left corner of your window for a happy little cloud icon; this is “Clodette” (I hope Jan doesn’t get mad at me for sharing her codename), and she’s going to be your very good friend.

To get started, click Clodette and choose Connect To; this interface will allow you to quickly create a new connection, or connect to a previously-saved server for file browsing and after you are done configuring the connection, the server will open up in your Workspace alongside your files. This is the most basic method for connecting to a server from an Espresso 3 project, but the connection will not persist after you close it in your Workspace.

For the full meal deal, click Clodette and choose Servers + Settings. This will replace your project sidebar with three new sections: Sync, Places, and Sync Specific Folders. Adding a server connection to Sync or Places is roughly equivalent to adding a server to an Espresso 2 project, except explicitly tied to a Sync or Browse server action. The main difference is that instead of accessing your servers in a list within the left sidebar, you will access them from Clodette (which will add them to your Workspace).

Sync Specific Folders is where the really fun new stuff comes into play. From here, you can add a sync server that only operates on a single folder in your project (just click the folder icon next to the folder you want to sync). So for instance, if you are building your website out with Gulp or whatever, you can attach a sync server to your build folder (in Espresso 2, you would need a secondary project for that folder to sync it). Or you could sync your assets folder to a CDN server and your program logic to another. The possibilities are pretty wide-open.

Just like the other server configuration options, adding a server basically saves a bookmark that you can then open in your Workspace when you need to work with it actively.

And of course since what Espresso is saving is the server path that’s associated with your project (or project’s folder), you can easily use your server credentials across multiple projects without needing to re-enter them.

Previewing

This is one of the buggier and more incomplete sections of the app, but it deserves mention. Espresso 3 now allows you to preview files either in Espresso, or in basically any other browser on your computer. Live reloading (and, although it’s not really functional yet, X-ray) come along for the ride regardless of where the preview is living.

No longer do you need to wonder why your swanky CSS3 is failing in weird ways; simply open it up in Chrome, Safari, Firefox, etc. and observe the behavior in a more modern rendering engine (Espresso is stuck with an older version of WebKit for technical reasons largely out of MacRabbit’s control).

But…what about my custom syntax coloring?

Older syntax themes are probably going to break with Espresso 3 (let’s be honest: a lot of them broke with Espresso 2). But fear not! For those of you with excellent taste in themes, Earthworm and Quiet Light are both up and running for Espresso 3, and I have additionally created a SCSS template for generating your own themes. You can find both here (the themes are included as examples with the template generator):

https://github.com/onecrayon/E3-Theme-Generator

Will this make it easier to create themes for Espresso? Who knows! On the plus side, it doesn’t require you to know much of anything about the specific syntax zones being used, but I will admit that the massive number of possible SCSS variables you can use might be a bit confusing. Now that Espresso 3 is actually out and other people might be using this beast, I am hoping to come back to it and improve it in my spare time. Feedback and pull requests are also always welcome!

Pricing

Before you ask, here’s what you’ll get from me: ¯\_(ツ)_/¯

Jan decided on Espresso 3’s new pricing scheme after I left MacRabbit, so you know as much as I do. I can say that Espresso 2’s pricing (and particularly it’s ridiculously lenient and dirt-cheap upgrade policy) was non-sustainable, though, so a pseudo-subscription makes a lot of sense from a business standpoint. I’m not too worried about it, frankly. One thing I learned working at MacRabbit is that Jan always, always has users in mind when making decisions for Espresso whether he’s making design decisions or figuring out upgrade and pricing policies.

So should I use Espresso 3?

Not that I’m incredibly biased or anything, but yes! At the very least, if the features I described above sound interesting, you should definitely test it out. Depending on what you rely on day-to-day, some of the rough or unfinished edges might prevent you from using it as your main editor until it’s a little more fleshed out and less “beta”, but there’s a lot to love about Espresso 3. In particular, one thing I didn’t mention is that Espresso 3 is a complete visual refresh for the editor and looks amazing. Seriously, Coda is eating its heart out, and I think I hear BBEdit crying softly in the corner right now.

And although I’m no longer affiliated officially with MacRabbit, feel free to ask me if you have any questions! I’m still hacking away at my custom Espresso plug-ins, and aside from Jan am arguably the person most familiar with the current state of Espresso. Rough edges and all, Espresso is still my absolute favorite editor for front-end development work (and just general happy state of mind while writing code). Sure, some of that is years worth of habit and lingering loyalty from working at MacRabbit, but you know what? Every good piece of software needs someone to proselytize it, and even in its current beta state Espresso 3 is a very good piece of software.

Don’t just take my word for it, though: try it yourself!

The tragic internal consistency of Steins;Gate

The first time I watched the anime Steins;Gate, I was unsure why so many people were raving about it. The first six episodes or so I mostly spent wondering why I should care about these characters, most of whom were incredibly off-putting (particularly the protagonist). Then the time travel aspects finally kicked in a bit, which grabbed my interest enough to keep me watching in hopes that the brilliance people were talking about would show up. And then about twelve episodes in the show kicked it up into high gear and I was on the edge of my seat right up until the last couple episodes.

However, those last few episodes really soured the show for me, because there seemed to be so many plot holes and inconsistencies. Additionally, I made the unfortunate choice to watch the additional OVA episode (basically an epilogue), and its horrific English voice acting, inappropriate tone (compared to the rest of the series), and the fact that its sole redeeming scene was basically ripped off from one of the best scenes in the season itself badly tainted my memories of Steins;Gate.

Despite that, recently the series was on sale, so I bought it (at a dollar an episode, watching it once was basically going to be worth the money) and boy did it ever improve on the second time around. The first six episodes weren’t bad at all, because I knew what we were working for and could savor some of the little details that I missed the first time around. The final twelve episodes were just as incredible as I remembered, and the emotional pay-off at the end hit even harder because I felt a much greater connection to the characters.

Not only that, but I did some thinking about the final events of the series and realized that far from being inconsistent, within their rather wonky time travel setup everything checked out perfectly. In point of fact, although the ending is incredibly hopeful, there appears to be a hidden tragedy years after the series completes, simply because of how closely they stuck to their time travel rules.

If you’ve seen Steins;Gate, feel free to keep reading; I’m going to pick apart the way that time travel is structured in the show, along with the final few events, to show both why it is internally consistent and why a tragedy lurks within Okabe Rintaro’s otherwise happy ending.

If you haven’t seen Steins;Gate, then begone! Go watch it and come back later. Seriously, I’m going to majorly spoil the series for you otherwise.

Spoilers to follow! Time travel in Steins;Gate

One of the weirdest aspects of Steins;Gate is its time travel, because while it masquerades as multiple world theory, it is effectively dealing with linear time. This is part of what threw me in my initial viewing; Steins;Gate’s “world lines” seemed to me to be multiple worlds, which makes the way the series ends in particular seem to be little more than hand-waving on the parts of the writers.

Classic time travel stories typically involve linear time. When traveling in linear time, time paradoxes are possible since there is only a single timeline. Anything that a time traveler does in the past either has to percolate up and effect the present, or has to be revealed to have already happened. From a story-telling perspective, the benefit of linear time is that the stakes are very high: if the protagonist goes back in time and kills their parents, they will cease to exist, for instance. The downside is that it is very easy to write yourself into a corner.

Recent time travel stories typically involve some form of multiple worlds. When dealing with multiple worlds, you actually have the opposite problem from linear time: going back in time doesn’t affect your personal past because the act of doing so causes you to enter an alternate world/dimension/timeline/etc. The story-telling benefit of this is that you can play around with past actions with virtually no consequences and without having to worry about time paradoxes because every action simply spawns a new world. The major downside is that if the characters give it any thought at all they will realize that they have no motivation to try and change the past (outside of potentially seeking a better world just for themselves) because each world exists on its own; if the protagonist has a tragic outcome, changing the past actually won’t matter because that tragic outcome will still exist.

Steins;Gate has a weird merger of these two approaches to time travel. Basically, changing anything major in the past results in a new world line, but the show very explicitly notes that the characters are “moving” to a new world line (and then “forget” everything that happened in the other timeline). That is, they are effectively participating in linear time, but the course of that linear time can be restructured after the fact. This works because Okabe Rintaro is given the ability to maintain an accurate memory of his personal linear progress through time regardless of how his consciousness moves around in time.

Wait, aren’t we short one Okabe Rintaro?

The biggest thing that bugged me for the final few episodes of Steins;Gate was that when Okabe physically goes back in time, there are only ever two versions of him running around (past Okabe, and time traveling Okabe). “Isn’t that a plot hole?” I asked myself. “He went back twice, so there should be three of him!”

However, what I didn’t realize initially is that when he goes back in time that second time, the world line has shifted behind the scenes.

Here’s the thing: for almost the entire show, we only see what happens for the Okabe who causes the world line to shift. He sends a D-mail to the past, and then his perspective gets wonky and next thing we know the world has changed around him. However, just prior to that second physical trip into the past, he receives a video file from his future self and from his perspective the world line remains stable. This is because it is his future self who experiences the world line changing; he’s the one who sent the video D-mail.

What happens is this:

Okabe Rintaro physically travels back in time and kills Makise Kurisu. When he comes back he is so stricken with grief and hopelessness that he refuses to go back in time again. However, over the course of the next fifteen years, he helps develop an actual, physical time machine. He additionally improves on the capabilities of his original D-mail to allow him to send video. And, in a desperate bid to change his life, he sends a video back, pleading with his past self to try and save Makise Kurisu a second time.

However, we the viewers don’t get to see all that, because we’re following the Okabe Rintaro who receives that D-mail video. The video spurs him to action that he did not originally take, which changes the world line. As a result, when he goes back in time the second time, there are only two Okabe Rintaros because the first trip occurred on a separate world line. His actions successfully save Makise Kurisu’s life, and the final credits end with the two of them reuniting coupled with hints that they will be able to rebuild their relationship.

Happily ever after…?

And now we come to the hidden tragedy within Steins;Gate. At the end of the series, the Okabe Rintaro we the viewers know and love has exactly 15 years to enjoy whatever sort of life he can form with Makise Kurisu, because at the end of that time his consciousness is going to disappear as if it had never been when the version of him that sent the D-mail video jumps world lines.

Do they end up marrying; maybe having kids? Hope he enjoys their childhood/early adolescence, because 15 years after the anime ends he’s going to forget their names and be introduced to them basically as a stranger.

The first time I saw it, I liked Steins;Gate but was disappointed that the writers discarded Makise Kurisu’s very emotional death in favor of a happily-ever-after that felt grafted on and played fast and loose with the time travel rules they themselves had come up with.

Having watched it again, though, I love Steins;Gate. Despite my initial impression, it’s one of the most internally-consistent time travel stories I’ve ever seen, and it somehow manages to not only deliver a happy ending, but also simultaneously delivers an ending that stays true to the theme of loss and sacrifice going hand in hand with trying to change the past.

Which is not to say that I don’t find the setup for time travel pretty ridiculous (the whole series relies on some serious suspension of disbelief, and there are admittedly some plot holes like the static-only video that’s sent to his past self transforming into an actual video), but since internal consistency is often what makes or breaks time travel stories I’m not going to complain too much.