I’ve been playing card games for over 20 years now, with MTG being my main game for a significant portion of that time (before that, I dabbled in the Pokémon TCG and the very old Lord of the rings TCG from the early-mid 2000’s). I love the amount of depth and layers of strategy in these types of games. With every new card you discover, brand new strategies open up in your mind. This process of discovering cards and brewing up ideas either when creating new decks or live in game is probably the single most important aspect of these games to me.
I enjoyed the process so much that in the summer of 2017 I started a YouTube channel. Here I was able to share my experiences with other viewers who might get some enjoyment out of some crazy stuff I was doing. I didn’t expect much of it, but my channel really started to grow. By 2019 I was one of the larger MTG channels out there making draft/limited content.
At the time I was doing a PhD in optical sciences and thought of the videos as a hobby. I was working on a startup company that was my plan for after I graduated (it was a freeform optical design suite that did raytracing and optimization of NURBS defined surfaces with distributed compute in a really cool way). I had buyers and interest lined up and everything was going how I hoped it would.
But, my body had a different plan. In the middle of 2019 I encountered some major health issues that made any sort of high stress or demanding work basically impossible, so posting a few YouTube videos a week was all I was physically capable of doing. I managed to finish my PhD, but was unable to continue with my startup. In 2020, my hobby of making fun YouTube videos essentially became my full time job.
Even when limited in scope that didn’t stop me from giving my all to the work that I was capable of doing. I was drawn especially towards the pauper format in MTG, where only commons are legal (making it in theory, affordable to play). As viewers of my YouTube channel will recognize, this time was where some of my absolute best video ideas and crazy brews came out (including perhaps my most famous brew, Fishelbrand which is one of the most absurdly complex and beautiful things I’ve ever had the pleasure of experiencing).
Oddly enough, even decks in the pauper format in the digital client could get very expensive (sometimes upwards of $200 for a single deck). So, in what was supposed to be the affordable format I was only able to brew a few decks and anything beyond that like Standard or Modern were essentially unavailable to me due to cost alone. Maybe I could have put together one deck, but making changes or updates to it become prohibitively expensive fairly quickly.
Around this time, the cube draft format drew me in as a way to be able to express creative ideas in a dynamic and ever changing environment. I wouldn’t have to buy new cards every time I wanted to try something new, I could just make a cube and draft it endlessly.
For those who are not familiar, a cube is essentially a collection of cards someone puts together with the specific purpose to draft them. The cards are shuffled together and made into packs of cards, which players will draft decks from before playing games against each other using these decks.
Obviously, the nature of the cards in your cube determines the quality of your experience. The most popular cube I played is called “Vintage Cube”, which is essentially a collection of all of the most powerful cards in the history of MTG. It allows for some of the most wild and unique strategies but the games are incredibly swingy, sometimes ending before the other player even has a chance to play the game. Things like that are great for content, so it became a mainstay of my YouTube channel even if it wasn’t always the best user experience.
At some point I got so tired of the problems with the design of Vintage Cube that I set out to make my own. I called it “The Powered Synergy Cube” because it still used many of the powerful old cards, but my main design objective was to maximize the synergy potential and allow players room to create things on their own instead of just playing singular powerful cards. There are a million different ways players can mix and match synergistic designs together, allowing for a more rewarding and deep gameplay experience that won’t get old as fast as dying to the same card over and over again.
With my discord we spent months designing and playtesting this format until the point it was ready to share with others. Just one small issue…to buy the cube would cost upwards of $30,000 in paper which is absolutely unattainable for most of us to invest into cardboard for a hobby. I had created this project but it was so expensive I couldn’t even get it myself, let alone share with others.
Additionally, the gameplay experience was not really where I wanted it to be. I started creating custom cards and rules to fill in the gaps and try to patch up the experience to the place where I would be happy with it, but I began to realize more and more this would require me to switch games or create a completely new game.
A New Game
After spending around 6 months designing that format and around 20 years of playing TCG’s and board games in general, I sat down and wrote a list of everything I would want in my ideal game. A condensed version of that list is below.
A game that was affordable and accessible to players. I loathe the TCG model where players need to gamble for cards, creating scarcity and skyrocketing prices of a few chase cards while also creating worthless commons that are printed into oblivion. To foster a truly creative environment, the cost of making changes to decks or cube designs needs to be low enough that virtually any player can do it. One single card costing $100+ is absurd to me. I’m fine with special expensive versions of cards that players can otherwise get for cheap. But locking gameplay behind high ticket single cards is something I fundamentally disagree with.
To solve the problem of play/draw disparity. In many mature card games, whoever goes first can have a significant advantage in the game, allowing them to carry this early advantage and snowball their way to victory. If a game is going to be truly competitive, we can’t have a coin flip determining who wins.
Create a genuinely competitive environment that encourages players to improve. There is so much randomness in most existing card games that there is little possibility for them to function as a serious competitive endeavor. The best MTG players in the world max out at around a ~70% win rate, and that includes the advantages players can get through deckbuilding with a team. This means the real skill ceiling is potentially even lower than that. I’m not saying the games aren’t difficult or skill intensive, what I am saying is that effect of the randomness outweighs the advantages gain through skill alone.
In a competitive game we should see consistent and repeatable performances by the top players. Games should be able to be analyzed and see where players messed up and why they lost. “I drew poorly and they drew well” is not something I want to decide the outcome of games at the highest level too often. Some amount of variance can keep things fun and exciting, but too much will discourage players from trying to improve once their skill level reaches the noise threshold.
To eliminate down time / time spent waiting on the opponent. Many game players can relate to this, especially in multiplayer games. An opponent draws a card, thinks for 5 minutes then takes their turn. Then the next opponent draws a card, thinks for 5 minutes and takes their turn, etc. In a 4 player game you have 4 players each thinking for 5 minutes, for a total of 20 minutes of game time, 15 of which you have to sit and wait.
If we can instead design a game such that all players can do those 5 minutes of thinking at once, we’ve cut the game time in 1/4 while keeping the important aspect of the game unchanged (each player still gets plenty of time to plan and execute their turn).
To create a gameplay experience that works for any number of players. I love drafting cube, but with fewer than 8 players the quality of the experience can definitely suffer. During the pandemic especially, I realized how important a good 1v1 game can be.
To give the player more control over their games/ minimize rng. So many times I’ve planned out an exciting strategy during a board or card game just to see endless unfavorable dice rolls, coin flips or dead draws. I don’t think random chance should control the quality of your experience. Variance is important for re-playability, but you can introduce variance without random chance. For example, if every game was played with a new set of cards, each game would be completely different while still being fair.
To create complexity through the interactions of cards, rather than individual cards. If my game has a card pool of 100 cards and I introduce 100 additional cards into it, I don’t want the depth of the game to only increase by a factor of 2. While the number of cards has doubled, the number of card pairs has 4x and the number of card triples has 10x. If we design around enabling 2 and 3+ card pairings instead of individual cards, we can create significantly more depth in our game through emergent complexity. This also has the added benefits of reducing the number of game pieces to keep prices down and lowering the barrier to entry since there are fewer cards to read and memorize. This synergistic design philosophy was the hallmark of my synergy cube and why I think it was so well received by many players.
To keep the focus on the interactions between players, rather than each player doing their own thing (prevent solitaire-like games). The single biggest problem with the synergy cube and I feel like many card games out there right now is the gameplay is designed for each player individually. Essentially, I’m going to do this and ignore my opponent. I especially felt this with deckbuilding and engine building games like dominion and splendor. We’re all basically playing individual games, but just happen to be together when doing so. I want the players looking up and engaging with each other to create a community experience.
Make sure all stages of the game are fun. With cube draft specifically, the drafting and deckbuilding part of the experience is the most fun by far. I have often had a group come together excited to draft, then once their decks are made decide to do something else or even just draft again because the gameplay portion often isn’t as fun. I also see this a lot with my YouTube videos. People almost always watch the entire draft and then drop off after a game or two with the deck.
Compare this experience to auto-battlers, where the draft is essentially the entire game. The key here is that every step of the draft and game is exciting because both parts are working together in real time. I wanted to carry that idea over to cube, finding some way to extend the draft throughout the game to keep the excitement high.
I had never designed a game before, but I certainly know how to code. So I structured my game in a similar manner as I plan out a coding project. I figured the core game loop would be the backbone of the entire experience and therefore the most important. If the core game loop is bad, no amount of cool mechanics or fancy art will save your game.
First, I wrote down a list of experiences I wanted to have in the game – what are the things that I really enjoy doing. The objective is to emphasize these experiences as much as possible, while setting up the rest of the game to support them.
It boiled down to: planning ahead, interacting with my opponents, and doing cool stuff.
With these three objectives in mind, I brainstormed different setups that could maximize the gameplay experience for both players, starting with the planning ahead portion.
I knew that planning ahead can be the most time consuming part of a player’s turn and also the least visually interesting. This makes it an excellent opportunity for things to be run in parallel. The card game 7 Wonders is a great example of this, where the entire gameplay loop is just planning ahead and everything happens in parallel. Even though from the outside you just see every player in the tank thinking during the entire game, it isn’t boring for the players because none of them need to wait for their turn. To them, it’s all action the whole time.
Doing Cool Stuff
Doing cool stuff can mean a variety of things, but in essence I categorized it as “playing my cards”. (The cool stuff part can be handled in the card design and mechanics stage of the game.) One thing that really bothers me in other games is when disruptions stop me from being able to play my cards, or require me to confirm with every other person if they want to interact with me after every game action (dramatically slowing down the pace of the game). MTG players can relate, asking “does it resolve” after every game action can get old.
If I can figure out a way for all players to be able to play their cards in parallel, this can also solve both of the above mentioned issues while also speeding up the game substantially. This is also not too hard in theory, as many games have structures for playing cards simultaneously (either in sequence like in Sushi Go: place one face down, all players flip up at once, or true parallel gameplay like competitive solitaire or Bananagrams).
Interacting With Other Players
This is by far the trickiest of all of them. My major sticking point with many other games that implement parallel gameplay is that the player interaction feels like an afterthought or something that can be ignored.
With Algomancy, I am looking for a genuine skill testing back and forth between players where sequencing and strategy matter and take the center stage. In terms of all three of my objectives, I want the player interaction to be the focus of the game and set it up so that everything else supports this process.
Given that my design objectives include parallel gameplay, it is apparent I will need one portion of each turn to take place in parallel and another portion for back and forth interaction.
The Starting Point
All of this brainstorming gave me a good starting point. I wanted a portion of the turn for interaction, and another portion for planning ahead and doing cool stuff. The simplest testing point to start with is just breaking the turn into two steps. The first part both players can do at once, and the second part is for interaction.
I grabbed a deck of cards to playtest with, and started playtesting different turn setups and scenarios for a day or two before I settled on the notion of an initiative to help streamline the interaction.
Because I wanted a lot of the game to take place in parallel, it doesn’t make sense to have a traditional turn system. However, in any interactive sequence one player needs to be forced into action first to prevent stalemates. This is what the initiative does: in any situation where a decision needs to be made, the player with the initiative must act first.
In the combat system I was looking at, this meant the initiative player needed to declare how they were attacking first, before the other player has a chance to respond to their attacks (potentially launching a counter-attack).
The First Print Test
After I had settled on a basic system of combat, my first print test came about. I simply printed creatures with stats on some cards as well as spells that killed creatures to test out how interaction felt, and played a few games against my girlfriend. The main question I was asking here is just “does this work?”
It was woefully boring! That is not necessarily a bad thing though because the cards have no abilities. It just means the basic game loop isn’t overly complex.
But I did notice that because both players were at an equal footing during every stage of the game there is almost no incentive for either player to initiate an attack. If I have an army of 2/2 creatures and my opponent has the same number of creatures on their side, and we both play the same number of units each turn, we’ll be locked in a stalemate forever.
Eventually I had the idea to introduce formations to help overcome this problem. I wanted players to be able to stack their units strategically on both offense and defense, adding some depth to the combat interactions. The idea is that you could do something like place a unit with high health in front of a unit with high attack and they would attack as a team.
After many different iterations of how this combat math worked out, I decided that formations would deal damage equal to their combined power to the opposing formation. And when they receive damage, they would receive it front to back (essentially you need to break through the frontline in order to reach the backline).
This worked wonderfully. It allowed the player attacking to make favorable attacks into an army of opposing units, which significantly improves player interaction. Now players are able to create plays and make action in many different board states that would otherwise be stalemates. For example:
If I have an 0/5 and a swarm of 2/2s against an opponent with a swarm of 2/2s. I can now freely attack in a formation with my 0/5 in front and my 2/2 behind. The most they can ever defend with is a stack of two 2/2s, which would deal 4 total damage to my 0/5 (not killing it). Then my 2/2 would deal damage and take out their front line unit. So either they lose a unit or take damage. Obviously this is a simplified example, but hopefully it gets the point across: many situations where attacking would be bad now become possible or even favorable.
It also makes combat math fairly simple. If your unit has more health than their two strongest units, you can go ahead and attack without fear. This keeps a game moving along.
One additional note: formations also allow me to have “adjacency matters” effects, as the units are locked into a specific configuration through the duration of combat. I explored this type of effect in detail in another blog post (here), but the takeaway that I learned is that adjacency matters is great when used sparingly and becomes exponentially more complicated the more effects are introduced.
What happened was that games started to feel extremely overly complex and I wasn’t sure why, so I decided to look at the math of where my complexity was coming from. It turns out if more than 5 are in play at a given time, the number of permutations becomes unbearable for most people. This is a counter-intuitive and important lesson to learn early on, so I’m glad I did the math.
The next layer I wanted to add to the game is modifiers that change the way units engage in combat. Crashing numbers into other numbers is fine, but additional effects beyond those numbers can add significant depth to a game. I also wrote a blog post about my foray into this topic (here).
I knew I wanted Algomancy to give the player control over their game plan, and in particular I wanted players to somehow draft their playable cards in real time during the game. This accomplishes all of my goals in one: drafting can be done in parallel, it gives you an opportunity to plan your turn ahead of time and it allows you significant control over how you will play the game each turn.
Every drafting game I have played before (mostly 7 Wonders, Sushi Go, MTG) only allowed a player to take a single card from a pack each turn, so this was my starting point. This allows the “draft” to replace the draw step. We started with 10 card packs and passed them back and forth, every turn taking 1 until eventually the packs ran out and then we replenished them.
This worked okay for the first few turns, but there were many problems: it took forever, once the packs were passed a few times the card pool felt stale, and the player’s starting hand seemed to be the most important factor in their game anyway. The draft felt like a secondary option that got in the way.
This problem was probably the most difficult issue for me to solve in the entire game development process, I spent about 6 months of intensive playtesting trying to develop something that flowed smoothly. I’ll highlight a few of the key ideas I tried:
Allowing the player to draft 2 cards each turn instead of 1 helped balance the draft to gameplay ratio a lot better, where it felt like each draft step was meaningful and games didn’t need to go on for 10+ turns for a player to develop a meaningful strategy.
Create a subset of cards that can be freely exchanged between the pack and hand. This special deck was called the “historic deck” and players initially got their starting hands full of these cards, allowing them to draft more cards if a pack had multiple important things they wanted. The issue with this, is packs filled up with historic cards quickly, leaving nothing else.
Allow players to draft their starting hands from a pack of 16 cards, which they would draft 6 cards from before going back to the normal drafting amount each turn. This made the first turn feel great, but it was easy to get locked in to a bad strategy.
Continuously refill the packs so they don’t deplete over time. Before, while you might have a ton of decisions on the first turn with a full pack of 10 cards, eventually the pack got down to 1-2 cards and your options become limited again. By continuously replacing drafted cards with new random cards, every stage of the game felt relatively equal. Over time packs would still fill up with cards neither player wanted.
Completely replenish packs every so often. In addition to ensuring packs stay the same size throughout the game, swapping them out for brand new packs keeps the game feeling fresh and exciting instead of players passing the same cards around. This was particularly important in 1v1 games, where packs can grow stale extremely quickly. In this case, we replenish packs every 3 turns so you can see a pack, pass it to the opponent and then see what you get back; then start over with a new pack the following turn. It allows for some drafting strategy and signaling while also preserving some hidden information.
Allow every card to be freely exchanged between your hand and the pack. This was the single most important development which made the game as enjoyable as it is today. It started from seeing how fun drafting your opening hand was and wondering what it would be like if every single turn was like that. After about 2 months of serious playtesting we decided on a solid system where every draft step, you combine your hand with the pack and take cards until there are 10 cards remaining in the pack.
This means you don’t need to keep track of what’s in your hand, its impossible to cheat (which is important for a competitive game where both players would be drafting at once), and you are never locked into a given strategy. You can take cards that are situationally good, hold onto them in case that situation arises and then trade them away later on for something else that better serves you.
This change significantly improved the strategic depth and user experience of the game, as there is basically no such thing as a “dead card” in your hand. Now cards in hand are a resource, as you can always hold onto them to exchange them for something better later on. If you can’t tell, I’m really excited about this change 🙂
After all of these changes (and some others I didn’t mention, like the months where I had a blue and gold historic deck or resource exchange cards in the draft pool), we finally had a great way for players to source their cards for turn.
With draft mostly figured out, I next needed to figure out how the main phase was going to work. Essentially, this is the time when cards get played and players build up for the combat/interaction sequence.
Initially I tested out having a single main phase immediately after the draft step so players could draft, play their cards and then go right into combat, repeating that sequence until a game ended. This setup was simple, effective and fun. But it had three major problems:
First, it made games extremely unpredictable and invalidated the drafting sequence as the time to plan ahead. You could make all the plans in the world during the draft only for your opponent to play something that invalidated your plans entirely. This split the planning phase into two stages, one during the draft which was mostly useless and another right before combat that was less useless but where you had limited options.
Second, it made interactive spells (in particular, defensive spells) horrible and obvious. Any open mana after the main phase was immediately a sign that you were planning to do something to your opponent. If you did want to hold up mana for an interactive fight and the opponent didn’t try to interact, you essentially wasted your entire turn for no gain.
Lastly, it made the game less skill intensive and more “battle cruiser style gameplay.” The optimal play ended up being “take the biggest thing and play it, ignoring your opponent entirely”. This was fun for a while, especially in multiplayer games but after a few games it became obvious that just playing big stuff every turn and not interacting was the way to go.
This was another mechanic I tested extensively. The simple fix of moving the main phase to after combat resolved all of these issues. It allowed you to fully plan your turn during the drafting phase with near perfect information of how the battle would begin. It completely removed the problem where interaction was telegraphed, since all non-interactive cards would be played afterwards anyway and it still kept the turn structure reasonably simple, allowing almost all of our main phase activities to take place at once. The game instantly became more skill intensive, interactive and rewarding for those who were willing to plan ahead.
There was still the small issue of when players would play their mana each turn. After much debate, I decided to introduce a mana step immediately after the draft. Because players trade cards for mana, it felt like they were “drafting” their mana. Plus, deciding which cards you will exchange for mana is a decision that takes place during the draft, so allowing players to immediately act on that decision seemed wise, rather than requiring them to wait through an entire combat sequence with potentially useless cards in hand. This also removes the possibility of players being “locked out” from a game if their opponents discard the cards they were planning on swapping for mana.
With a game that is drafted live, I knew I wanted to allow players to “spend a draft pick” on a resource. The specifics of that process have been through countless iterations. I started out putting resources in the packs, but that made the late game worse and could lead to some unplayable early game starts. So a deterministic resource system made more sense.
After a few weeks of testing various setups like allowing cards to be exchanged for resources of their type and giving players a set number of resources each turn, eventually I settled on allowing players to remove cards from their hand in exchange for a resource which they would take from outside of the game. This came at the cost of requiring additional setup for the game but it was worth it for the smooth gameplay experience it provided.
With full control over which resources they take, one major problem I was experiencing was how to incentivize players to stick to a set number of factions instead of taking the best cards from every pack and moving into all of the factions. To solve this I had the idea of a “factionless” resource that provided twice the amount of mana as a regular resource (and counted as both of their resources for the turn), effectively rewarding players with card advantage in exchange for limiting the number of factions, since they got two resources for a single card instead of needing to exchange two cards.
This caused some issues with sequencing. Since players are only allowed 2 resources per turn, if a player was taking only fire cards, they would play two fire the first turn. But on the second turn if they wanted to get up to maximum fire threshold (which is currently three), they couldn’t do so if they wanted to get the benefits of the (2) resource. This ended up making the triple threshold cards unplayable. It also led to some weird sequencing because the (2) couldn’t be split up over multiple turns, you had to take a turn off from playing thresholded resources entirely in order to play it.
Finally, I settled on a system where every time a resource is played, if that player has 3 or more of that resource type they get a (1) thresholdless resource for free into their hand. This allows a smooth turn 2 for the single faction decks, where they play their third resource and the free (1) shard right away while also giving players flexibility to hold the (1) in hand for later if they want to move into other factions as well. So far this has felt like a great balance between flexibility of allowing players to do what they want and reward for staying within a specific faction.
One huge benefit of having a game that runs smoothly in parallel is the ability to scale into multiplayer games without blowing up the game length. If every player is able to do things at the same time, in theory there is no time cost in adding other players (aside from, essentially the whole group will play as fast as their slowest member). So I knew I wanted to design an interaction system that preserved this attribute of gameplay.
The only real way to accomplish this is with a system of local interaction, where players are limited to interacting with a subset of the overall player group. In this case, I decided to go with their left and right neighbors. So for example, I could attack my left neighbor, I could defend myself from attacks from my left and right neighbors, and I could attack my right neighbor (and the same is true from the perspective of every other player). This means there are in theory only three global steps necessary for resolving combat with an infinite number of players. Globally, we just need to resolve every third region in the first step, move over one, resolve every third region, then finally move to the remaining regions and resolve them.
The tricky part, is how do we keep information from any of these interactions from spilling into other regions? What is stopping me from messing with my left opponent during battle with my right opponent?
My solution was to define each player as an isolated region in space (like an island). Each island has zero information about anything that takes place at any of the other islands. So when I attack my opponent’s island to the right, all of the creatures and spells we use to interact over there have no bearing on any of the other islands or regions in the game.
This solution worked great for a number of reasons: It gave an answer to why there is no player interaction outside of the combat step (players are not in each other’s regions), it prevented information from leaking between combats that are running in parallel. It added an interesting and unique gameplay element where players can position their units across multiple regions in space to play around specific effects. And it really helps emphasize the feeling of being a war tactician planning out a global quest for domination, especially when combined with battle formations.
Surprisingly this was one of the easier components of the game to design, but I paid for it dearly in the later stages of development like card design. (I don’t mean this in a bad way, but I had never seen a game with a system like this before so I essentially had to learn for myself the do’s and don’ts of what mechanics work.)
Graft and Augment
I had mentioned before I wanted the card designs to be synergistic, where it is the combinations and interactions of cards together that make the game interesting rather than specific individual powerful cards. However, I also created an environment with the live draft where circumstances are changing dramatically turn to turn and players have easy access for removal to disrupt plans the opponent is working up.
Say for example, I draft a card that makes unit tokens for me and my objective is to “go wide”. I play the token maker and have a token payoff card in my hand (for example, allies gain +1/+1). If my opponent kills my token maker with one of the abundant removal spells, my whole plan is foiled and I wasted a turn with a payoff in my hand, falling behind on tempo. In this case, there isn’t a lot of incentive to pursue synergistic plans when a single removal spell can easily disrupt them.
This is where the idea for ‘augment’ originated. With augment, you are able to bring back effects from fallen units to give your plans some amount of continuity at the cost of some extra mana. In this example, I could simply give my token creation ability to one of my tokens and continue with my game plan, requiring my opponent to remove the effect twice before it is fully taken away from me.
I wrote a blog post about graft and augment a while ago, which I linked to above. Interestingly, the effect of these abilities has extended far beyond my original intentions in a way that I am very excited about. In particular, viruses opened up an extremely fresh and interesting design space for the game where cards with drawbacks or interesting effects can be combined in many different ways, making some incredibly flexible and unique cards that can be used in a variety of ways. Originally, viruses were called mutations, which I explained for the first time in the post below:
Of all the mechanics in the game, graft and augment have been the most interesting and I’m really excited to see where I can take these mechanics in future set designs, and what other new mechanics I may come up with!
Now we get into the challenging bit. Algomancy is a game where all players are on equal footings at all times with access to a wide variety of effects every single turn.
Most existing card games use play/draw disparities and rng to break parity, for example the player going first often begins the game with an advantage. If all things were equal, the player going first would win the game every single time. They don’t though, because of the variance of the order cards are drawn in. In MTG for example, a player with a massive advantage might not draw a single playable spell for the rest of the game (called flooding out). Even though they started out ahead, variance decided the outcome of that game.
To illustrate this, lets go back to my thought example of an army of 2/2s. If the entire game was full of 2/2 units. Every turn both players would deploy the same number of 2/2 units. In Algomancy it would be impossible for either player to win or lose (when playing optimally), and the game would continue forever.
In MTG, eventually one player would draw a land on a turn the other player drew a 2/2, putting them behind one unit. If every turn they traded off units, we can imagine this disparity as giving an additional unit to one of the players. Over time this unit will slowly damage the opponent until they lose the game. It was the ordering of the cards, not the players who determined the outcome of that game.
So while ending a game is an inevitable process in other games with higher variance, Algomancy gives no such guarantees. Players can in theory play one game forever even when playing optimally.
The only way to solve this is through careful and specific card design that always takes into consideration the ability for players to close out games. Sweeping comeback cards especially need to be few and far between, otherwise settling players back into a parity situation can substantially extend games.
The result of this design philosophy can lead to a “snowbally” gameplay experience for some players (it is one of the most common comments I have received from newer players), where players who take an early lead continue to have an advantage throughout the game. In reality, this effect exists in other games too, but it is often completely negated by the variance in that game (as in the example mentioned above, a player snowballing an advantage can suddenly stop drawing relevant spells, giving their opponent the opportunity back into the game).
Eventually games do need to come to an end, and without variance to drive this forward, every game will need to end with one player accumulating an insurmountable advantage over the other, either through amassing additional resources, making better use of their tempo or finding spots to get in for additional damage. Otherwise players will simply trade blows back and forth forever and the game will never end. The reality is, this feeling of “snowballing” is really just players realizing that every single decision they make has a meaningful and lasting impact on the game.
I designed Algomancy with the intention for it to be viable as a competitive game, so players who make a good play early should pull ahead into the mid and late games. If nothing changes, one player making a single good play that their opponent didn’t should make the difference between winning and losing.
To help facilitate this, the interactive cards are designed to be more specific with high reward, where many require a player to create a specific scenario in order to reap their benefits from their cards and pull ahead. This allows players plenty of strategic options and countermeasures to take control of a game or come back from behind with carefully crafted plans.
The caveat to this is if I do accidentally design cards that are too strong relative to the others, it can turn games into “who played the strong card first”, in which case the snowballing effect can be insurmountable. This makes proper card balance a vital component of maintaining a fun and competitive experience and is one of the major reasons why I so adamantly oppose the TCG model.
Balancing and Card Availability
To make the best game I possibly can, I need to allow myself room to make some mistakes. Playing it safe leads to boring game and card design and stifles creativity. To give myself the most opportunity for error, I need to make the cost of my mistakes on players as low as possible. I don’t want to create hyped up expensive cards because I accidentally made them too strong, only to need to ban them and cost my players a lot of money in the process.
For this reason (and others), I decided to release cards in complete sets. That way, the price for each card is capped to a fairly low amount, and all cards can be easily accessible to all players. If you want every card available to you, you can simply pay a set flat price and get all of the cards. Additionally, I want to sell singles for cheap direct to players either through an online store or partnering with local game stores (or perhaps both). This way, even if I do need to ban something, it doesn’t have a major financial impact on players and they will have plenty of other cards to continue playing with.
In fact, I plan to implement some means of a rotating ban-list to keep formats fresh and exciting. Taking some portion of the top 20% of cards either through metrics like usage, win rate, player experience etc. and banning them in cycles throughout the year, while un-banning other cards. I hope this will create a dynamic experience that allows players to take a break from a card that wasn’t too powerful but was beginning to feel tiresome. When designing a card economy to support formats like this, I should also be allowing myself room to make some design mistakes every once in a while.
I’m not saying I plan to just make untested broken designs and see what sticks. I will do extensive playtesting and collect user feedback with each set release. I’m just being realistic that Algomancy in particular is a game that mandates carefully polished card designs in terms of power level, so I am trying to create an economy where pivoting for the sake of a better gameplay experience is possible.
Since I wanted a game where the card design was heavily focused on synergistic interactions, I decided to give myself as much visual incentive to keep the textbox as small as possible on each individual card. I’ve seen many other card games where the textbox takes up nearly half of the card space and I knew if I went with a layout like that I would be tempted to fill all that space with text. The shorter textboxes in Algomancy forced me to get more creative with my card designs and keep individual cards simple, otherwise the textbox sizes start to increase and all of the cards start looking worse.
With less text on each card, players will be able to read through a pack of cards a lot faster too. This was one issue with early prototypes of the game where walls of text made the draft feel tedious and overwhelming. If most cards are only 1-2 lines of text you can scan them quickly to understand what they do.
The other benefit of this is it keeps every card design “atomic”. That is, every card tends to only do one thing, which makes it much easier to remember what every card in play does. There are fewer moments of “oh I didn’t realize that card also had that line of text on it!” The one downside to this design approach could leave some cards feeling flat, but due to the graft and augment mechanics there are actually a lot of ways to give flexibility to cards even if they have a single ability.
This card for example, only has one line of text (I’m still working on polishing up the art). On the surface, it’s a massive under costed unit with a drawback. Because it is also a virus, however, it can be used to steal opposing units when you are attacking their controller by augmenting it onto them. In addition, you can also augment this card onto one of your own cards to forcibly donate it to an opponent (say you have a card with a significant negative effect you want to inflict upon them).
That’s a lot of utility and flexibility for such a small amount of text!
I don’t think I would have come up with designs like these if I had allowed myself more room for the textbox, and individual cards would likely be wordier and complex. My general advice here is to create incentives to force or encourage you to follow your own design goals. Saying “I want to design cards like this” is one thing, but if there is nothing actively keeping you on that track besides your own wishes, it can be easy to forget and make mistakes. In my designs, every time I see a card’s textbox size expanding up too much, I know its time for a change.
One benefit of making the cards this way was that it gave me a massive amount of space to fill with art! Of all the aspects of game design, this is one that I was the least prepared for. Art is such a significant part of the player experience and is the first thing anyone notices when looking at your game. While the mechanics are necessary for long-term growth, art is necessary for getting people interested and willing to try out the game (which is vital for a new game starting out, like Algomancy).
As someone who has been working with machine learning for years, even dabbling in some art myself, I was absolutely excited for the upcoming developments in AI image generation. When I started working on the visuals of Algomancy, Dall-E 2 was just teased to release, and other programs like Clip Guided Diffusion and Disco Diffusion were also just being developed. I was really excited to celebrate this awesome technological achievement and decided to make being in an AI simulation the theme of my game.
I wanted the magic system in my game to be source code manipulations within a simulated universe. This is where the name Algomancy came from. Algo- from algorithm and -mancy as in divination or magic. Working inside of a simulated universe gives me a lot of freedom to develop new mechanics with wild and unique settings for expansions without being limited to realms that could exist in a physical space. (I’ve thrown around ideas like a music world where each of the factions represents a genre of music, a cubist world, a plane where everything is upside down, etc. The open ended applications of the setting is very exciting to me.)
I set out learning how to tame the AI image generation beasts and hopefully make some awesome art in the process. I’ve been making art professionally for quite a few years now, but everything I worked on was created in isolation. I never fully learned the skills behind art direction or art design for games.
For over a full year I’ve been working on the art for this game, slowly getting better at understanding what types of compositions look good on cards, and how to match elements depicted in the art to game mechanics of the cards etc. I have completely re-done the art for this game four times now, each time I would learn something new about the process, improve the tools I was working with and get a better sense of what players were looking for in the art through player feedback.
As you can see, I started out just putting art somewhat randomly on cards that vaguely matched their descriptions. The first two stages of art were just placeholders during playtesting so there wasn’t a lot of fine-tuning.
Once I finished the game design I was able to spend more time improving the art and creating more interesting visuals (like in Resurrect). But the compositions often clashed with the card layout and the visuals still looked too abstract to give the player an immediate sense of what the cards did before they read them.
Eventually, I realized that composition and color were the two most important aspects of the art to focus on. You can hit all of the small or specific details perfectly, but if the card looks awkward in frame or the colors don’t look good in the context of the rest of the cards, you aren’t going to have a pleasant visual experience. Players only have time to glance at most card arts, so nailing the big picture stuff is critical. And AI is terrible at both of these things!
So I decided to draw the composition for each card, and spend time focusing on getting the colors and balance just right, so the image looked good at a glance. Then just using the AI as a final “rendering” stage to give the cards more detail and that characteristic dreamlike look.
I also planned out a specific and singular theme for each card that I wanted to make sure came through, rather than the more abstract themes I had been working with before. For example, in Stormsowing Nimbus the idea was to create something like a plant growing out of the storm to match the card’s ability. I drew a tree with a thunderstorm for the leaves, and set the lightning elements to a lighter shade of pink to draw the eye into them, with a trail of lightning leading the player’s eyes directly to the game text.
Interestingly, to me this visual hierarchy of first looking at the storm then down to the ground helps represent the essence of what the card does (takes fireballs and spawns units on the ground). It is one of the visual designs that I’m most proud of in the game.
AI Image Generation
I was not prepared for the backlash in response to AI image generation going mainstream. In hindsight it makes sense, AI is scary and unknown to many people and there is a ton of misinformation running around about how it works.
My fundamental belief on this topic has always been: it’s the application of a technology that makes it good or bad, not the technology itself. While some technologies are more powerful and because of that susceptible to misuse, it doesn’t make them inherently evil.
I can go to someone’s art website, right click and save one of their images and upload it to my own website for sale. Does this mean the “right click save” function is somehow immoral? No, it is my actions using the right click save function that are wrong. And this applies to so many other things. You can use a camera to take a picture of someone else’s art and claim it as your own. But that doesn’t mean cameras shouldn’t be used.
For AI image generation it is the implementation and use of the individual user that should be looked at as being ethical or not. Training a model explicitly on an artist’s style and naming it after them, then taunting them with it after repeated requests to take it down is reprehensible behavior (talking about the samdoesarts situation). Typing the words “Mickey Mouse” into the prompt line and trying to sell the resulting image will also likely get you into trouble. But if I use an AI to give me an image that is solid black, how could that be stealing from other artists?
Just because you used an AI to make something doesn’t immediately make your actions right or wrong in the same way that painting something on a canvas doesn’t immediately save you from copyright issues (you also can’t paint Mickey Mouse and try to sell it).
This is somewhat of an over-simplification of the real issue, because the visual case for copyright claims is less than obvious. To be as safe as possible, I have been working with the stable diffusion 2.1 model, which allowed artists to opt out of the dataset and had things like Artstation and Deviantart removed from the dataset (as best as they could). Almost all of the art used to train the model was open source–like old museum scans–and it basically has no idea who most artists are. Many people call this the “nerfed” model, but I really like it because it gives this old school painted vibe to its creations even when you are working with modern and colorful styles. This ends up making some really unique looking art.
Whether we like it or not, AI image generation is here to stay. Within a year, the technology has improved from a quirky image generator to the point of being undetectable. By this time next year it will be almost impossible to determine if any image was created using AI or not. It is native in Photoshop and Blender and major corporations are adopting it as common practice.
This will undoubtedly hurt artists in the short term who do things that AI is quite good at, like certain kinds of commission work and stock illustrations. I absolutely understand the frustration when new technology shakes things up. But it will also open up entirely new possibilities for artists who adapt and learn the technology that were entirely unthinkable before. Art is more than just drawing with pencil on paper or paint on a canvas. Times change and humans adapt, and I think that’s fundamentally what’s so awesome about human artistic expression. Now we have cameras and 3d modeling software and VR and drone footage and music creation and remixing software and so many cool things to work with. And through all of this, people who like to draw and paint will continue to draw and paint.
AI image generation will change how we use and perceive art in a very similar way that photography did when it first came out (and we saw the art community move heavily into abstraction around that time, since there was less of an emphasis on art as a preservation tool since photography does that better and easier). If you are frustrated or concerned about this new technology the most important thing you can do is be part of the conversation on how we can best work together to safely integrate it into our society. Ignoring it or being unwilling to discuss it openly and honestly it will only allow bad actors and corporations at scale to take advantage of this technology, in the process hurting us all.
This whole section is just my opinion, and I don’t know everything. I just wish people would accept that most topics are more nuanced than “AI is 100% fine and I can do anything I want with it” vs “AI is immoral and everything it makes is stolen art”. In reality it’s somewhere in between, and I’m doing my best to be as ethical with the technology as I can while still being excited for the potential it opens up for creators.
I am very fortunate to have a Discord with an active and supportive community who was willing and eager to give my game a chance. Without them there is no possibility that this game would be anywhere near as good as it is now. They played through all of these changes I made to the game over the year or so of active development (which, for anyone who’s ever playtested a game actively under development, can be a challenge to keep up with rules changes).
One of the best things I learned through making the Powered Synergy Cube is how to playtest with “random” people. The feedback and advice you get from the average person is significantly different from what you might get from a game designer or professional playtester.
The first thing I learned is that “feedback forms” feel forced, a little too formal and they often lack the capability to properly convey information. Playtesters give the best data when they’re genuinely interacting with and playing the game for fun. Giving them homework is a great way to stop them from coming back, and if you ask them “hey what is wrong with my game?”, they’ll often spend their gameplay experience looking for issues instead of enjoying what is there. (Debugging is still important and you should certainly have people actively looking for issues, but that type of feedback is fundamentally different).
When letting people play your game with no restrictions, you give them the opportunity to discover what they find fun. I’ve learned that maximizing fun ends up producing a substantially better experience than minimizing problems. In fact, there are quite a few games out there which are an absolute mess but are fun specifically because of how buggy they are! More than once, I’ve witnessed players having an absolute blast from an aspect of the game I did not expect at all. I was then able to lean into that aspect harder with future updates to the game to iteratively make the game even more fun over time.
I learned a lot on how to pick up on the tone of what people are saying, soliciting feedback in a casual setting and how to gain insight from just watching players interact with my game. Discord is especially useful for the latter option, where you can simply observe games digitally without being as intrusive as it would be with you just sitting there watching them play in person.
A significant portion of my playtesting feedback came from just watching playtesting matches. Rather than getting feedback like “cool game”, I was able to watch two people interact with my game for almost an hour, seeing which cards they liked, which rules they got wrong and the areas that became confusing or frustrating to them. Then I was able to ask specifically tailored questions about the game and cards afterwards, while also showing the players that I am actively interested in and engaged in creating an environment for them to have fun.
Since I want Algomancy to be a competitively viable product, we also held quite a few tournaments to see how it behaves when players are trying to win instead of just having fun. These went smoothly, so there isn’t much to report back. Mostly it was helpful to see that Algomancy does work as a competitive game and players were able to take things seriously and try hard. When they lost, many were able to identify where they made an error that cost them the game. We spotted a few problematic cards in these events that were strong but not fun, so they had been ignored in the “for fun” playtesting.
Plans for the Future
Algomancy is about to launch on Kickstarter and I’m unbelievably excited and nervous. I’ve spent well over a year full time on this project. I’ve poured every bit of creativity and care I have into making the best and most enjoyable game I possibly can. Now I can do all the planning and estimations I want, but until launch day I have absolutely no idea what is going to happen. That’s up to you all!
If things go well, I know that developing a digital client is the next step for this project. Having a free-to-play online platform where new players can easily try out the game and learn the rules is the best way to bring in new players and to retain existing players without a dedicated local playgroup.
My objective will be to get a playable digital prototype out as close to the product delivery date as I can to maintain the hype around the game. That way backers can direct their friends to the digital client to help grow the community. I know that getting a complete product will take some time, but I’m hopeful that with enough funding we could launch a minimum viable product in around 6 months.
From there, it really depends on the community response upon receiving the game in person!
If things continue to go well, developing an in-paper organized play system and starting to run tournaments and events at local game stores will come next, while continuing to develop and polish the digital client.
I also have some long term plans like fully supported custom card creation and printing, direct to consumer (or LGS) singles to keep prices down, and regular expansions to keep things feeling fresh and new!
Thank you for taking the time to read all of this. Algomancy absolutely would not be possible without the support of each and every one of you! I will do my best to grow this project to be as great for the community as possible.