Computation vs Heuristics

I recently read this article about depth of play in games, and it got me thinking to how it applies to KeyForge.
I highly recommend you go read it, as it is thought provoking and well written, and will also answer questions like what depth is and what it isn’t. Things I am not going to define here.

Branching Factor

One of the first things the article mentions is branching factor which means simply, the average number of legal moves you can make every turn.
In chess, this is much easier to calculate, since you only make one move each turn.
In KeyForge you might say that the order of cards you play are all branching factors, so if you have 3 cards of a house, you could play them A -> B -> C or A -> C -> B, etc. for 6 possible combinations.
But branching factors are about legal game states, so the question is, how many legal game states can you get to from the position you started.
Let’s take this simple board state I happen to have already made.

Regardless of what the ‘right’ play here is, how many legal board states can we reach by the end of our turn?
Let’s start counting…
Reap -> Pass turn: 2 aember, no draw.
Reap -> Burning Glare -> Pass turn: Stunned Ape, Anaphiel, 2 aember, 1 draw.
Reap -> Mob -> Pass turn: Mob, Anaphiel, 2 aember, 1 draw
Reap -> Burning Glare -> Angry Mob -> Pass turn: Stunned Ape, Mob, Anaphiel, 3 aember, 2 draw.
Reap -> Discard Glare -> Pass turn: Anaphiel, 2 aember, 1 draw.
Reap -> Discard Glare, Discard Mob: Anaphiel, 2 aember, 2 draw.
You could also attack we Anaphiel or just do nothing with it.
There are obviously a lot of choices here, but those choices aren’t meaningful.


A heuristic is a shortcut to how to play. Hand + Board is a common Heuristic. Don’t hold cards is another. Those Heuristics are strong in KeyForge, to the point they take away some of the depth of the game.
When a heuristic is almost always correct, you’re not allowing players to exercise a lot of agency.
However, I would venture that identifying when to break those heuristics is exactly where depth in KeyForge comes from.
There are many intuitive KeyForge players, and some are very strong, and intuitive players use their own, possibly more complex heuristics.
Dave Cordeiro said he plays KeyForge well because he’s played it a lot. He has a sort of muscle memory regarding what to do in a given situation.
I myself have been asked if I’m a tempo player, and I think I am, but I have yet to be able to write an article to explain what tempo play even is.
We teach ourselves heuristics by playing, and yes, often by playing outside what we think is right, just to try and see where it lands us. This is how I discovered sometimes holding cards is the right call.


According to the aforementioned article, Depth is a sort of balance between being able to calculate moves ahead and having strong heuristics. Because KeyForge has hidden information, it is very hard to calculate moves ahead.
So the way I have found I play it, is I go by heuristics until a situation arises where I can compute possible outcomes, and then I do that. I can’t always compute outcomes because it is very taxing, and also sometimes the Branching Factor is too high.
The less cards my opponent has in their draw + hand, the more likely I am to correctly predict the outcome of my move and their moves to follow. The longer the game goes on, the less I rely on heuristics and the more I rely on computation.
This is a revaluation to me. I thought I was being lazy not computing outcomes right from the start, but that’s not the case. It is simply a matter of the number of legal board states needing to converge to a smaller portion for me to be able to do so at any kind of efficiency.



You may also like...