Codex Development: Combat Evolved
Friday, January 10, 2014 at 2:32PM
Sirlin in Codex

I wrote before about the process of making Codex possible to play asynchronously by compressing all the decisions an opponent has to make on your turn into just one step, rather than like a thousand steps. It turned out surprisingly well. There was one detail of combat that became more confusing with that change though.

You have two units, we'll call them A and B. I attack your unit A with some of my stuff and I also attack your unit B with other stuff. Because all the opponent's decisions all occur in the same step in the asynchronous version of the game, it means you can have your unit A block to protect unit B *and* have your unit B block to protect your unit A. Then later we'll see which of those units is still around to actually block depending on the order that the attacker decided to resolve things. This particular situation made it difficult to understand how you should even block sometimes. Meaning "if I decide to do it this way, what will end up happening?" In one playtest a situation like that came up and a group of experienced players argued over the strategy for like 10 minutes about which way they should block. And one of them was factually incorrect about how it even worked. This really shouldn't be so hard.

Maybe we should fix that? I mean if it's that confusing to an expert then something seems to have gone wrong somewhere. There is no simple fix to it though. Stuff like saying "if I attack unit A, then unit A just can't block to protect another unit" doesn't work. It might be possible to change the way combat works entirely though, such that this situation can't come up, or maybe change it so that if it does come up, the way to resolve it much simpler.

Any Changes Needed?

"Is this worth fixing?" was a real question here. There's nothing mechanically wrong, though maybe we should do something about it anyway. This was just the beginning of unravelling of a lot of rules though. The very prospect of changing anything about how combat works made me think of other questions, too.

"Do games take too long?" This is another judgment call. How long is too long? And more to the point, what if usually game length is ok but sometimes it's too long? Like 20% of the time? Or 10%? It's not so straightforward but several times I've thought "this game took too long to finish I think." There seem to be two main reasons for this: 1) combat situations are sometimes so complicated to plan for that it takes players a really long time to decide what they should do and work through all the possibilities and 2) by nature of how the combat system works, defense is pretty good. Sometimes it just takes a while to really be able to punch through someone's defense.

And then another possible issue is that it's pretty great that all the opponent's decisions are now concentrated into just one step during your turn, but should we have really figured out some way to make it 0 steps? As in, just take your entire turn without having to wait for the opponent? One way to fix that confusing combat situation I mentioned before is to go up to TWO waits for opponent decisions per turn, but maybe that's wrong direction? Is it ok if we did that, or should it stay at just one wait period for the opponent during your own turn, or should that go all the way down to zero to be fully asynchronous?

So now there's four issues on the table:

1) Combat has one situation that can come up that is especially confusing.
2) Combat often causes analysis paralysis.
3) The way combat works inherently favors defense, and possibly a bit too much.
4) Maybe combat should remove the step where you wait for the opponent to make decisions to make the game fully asynchronous. 

No one complained about *any* of these things though. (The last one will only matter for online versions someday). Everyone who plays the game seems to really like it as it is. So which, if any of these things are worth caring about? None? All? Just one? It's not clear at all how to address any of those things even if we did care. And it seems unlikely to be able to address all of them. Probably some tradeoffs will make it so that fixing one of those problems would just make a different one of the problems worse. Who knows.

Some Ideas

The last time I tried to make Codex more asynchronous, the first step was "just let it be totally terrible, try it, and see if that sparks any ideas. If not, we can just revert it all to what it was before." That worked well, so I tried that technique again here. It was pretty difficult to think of any system that could address all those points, but at least some things line up. If blocking could somehow happen "automatically" then that means it would probably end up faster, probably end up less confusing, and probably end up with defense being a bit weaker.

After thinking through a new system for about a week, I had something to try, at least. When I tried it against a friend, immediately on turn 1 it was terrible. I had thought through many examples of how it would go mid-game, but I hadn't really thought about turn 1 when you don't have much in play.

So we abandoned that idea and improvised a variation of it. What if you had a "patrol zone" and any units or heroes you put there would automatically block? It turns out that many possible ways to handle "automatically block" involve really complicated rules, so how about the attacker gets to choose exactly how the blockers block? That makes  defense hugely weaker, so to make up for it somewhat, after each attacker is blocked by one patroller, if there are any remaining patrollers then they get to "harass" and deal their damage for free without getting hit back.

It turns out, this actually worked fairly well. You don't decide the specifics of how your guys will block, but you do decide which guys will block at all and which are "in the back row" protected by your patrollers. This worked well sometimes, though were several frustrating situations that came up where the opponent choosing blockers in the most favorable way was just too favorable. Sometimes it was fine though. All attempts to make this more fair to the defending player made it much, much more complicated though. As soon as you try to make up some algorithm about exactly how these blocks happen, there are just tons of loopholes and special cases you have to take into account, and it sucks.

So I tried coming at it from a different angle. Instead of trying to really fix these problems, how about just a small step toward fixing them? Then we can see how that goes. That step was to let you say that one of your patrolling guys is a "patrol leader." That patrol leader always automatically blocks the attacker with the highest attack power (or the attacker chooses if it's a tie). I was very surprised how much difference this made. It wasn't a small step, it was a huge step. It felt like an actual working system. The ability to choose which of your guys patrol at all AND which will block their most threatening thing makes the automated blocking system function a lot better than I would have ever guessed.

There was also another implication I hadn't thought of until playing this experimental, fully asynchronous version. Each turn in Codex, there's a step where you modify your deck a bit. In live play, if it really is asynchronous (so you don't make any decisions during your opponent's turn), then their turn is the natural time for you do that step where you modify your deck. That way no one is waiting on you to do that and it actually flows very well. We weren't able to it that way before because during the opponent's turn, in the old days the opponent is constantly having to ask if you want to respond to this or that, so it wasn't a good time for you to do the deck-modifying step.

Testing the New Version

Anyway, I updated about 1/3rd of the cards in the game to function correctly in this new fully asynchronous version. Playtesters liked it so much that they said the whole game should be converted to this. It's faster to play, easier to understand, and still had the parts of the game they liked. One person said it was like a more concentrated version, in that it was delivering a similar kind of fun as before, but in less time. Another player said he had no idea why any of these changes were made because he wasn't around for any discussions, but that just playing the newer version with no context, it was "far more accessible." He liked it a lot, so I have since converted all cards in the game to work with this new combat system, held another playtest with even more players, and they liked it too.

Conclusion

There is currently no work on an online version of Codex (maybe a kickstarter for it someday?) but when it eventually does exist, the ability to play like 10 simultaneous, asynchronous games of it is going to be pretty awesome. And the current players who are trying the live version and not even thinking about online stuff have so far all approved it due to faster play time and less confusion. I actually like that offense is a bit better now so we don't get locked up board states where no one can do anything for a while.

Codex has been through several major system changes, and each time it seems to have emerged a bit more streamlined and with various new and good properties. Hopefully all these experiments will have been worth it once you can finally play it too. Lots of art development is going on right now, so it's getting there.

Article originally appeared on Sirlin.Net (http://oldsite.sirlin.net/).
See website for complete article licensing information.