Local Multiplayer and a New Brand

This holiday season brings an update featuring a new way to play Age of Rivals. I’m happy to announce that the game now has a local multiplayer mode, which means you can play a Hot Seat or Pass & Play game vs a friend on one device. This update will be rolling out on all platforms over the next couple of days.

Also, if you’re reading this you probably noticed that the official website and branding of the game has changed from Roboto Games to Dark Inertia. When I (Vijay) first created Age of Rivals, Roboto Games published it and helped me get the first release out the door. It has been a great partnership, allowing me to focus on design and development while using their pre-existing infrastructure to distribute the game and updates.

These days, we’re all focused on multiple projects. Roboto is developing an exciting IO game (Arx Arcana), I created a puzzle game with another friend (Dr. Schplot’s Nanobots), and I’d now like to devote more time to Age of Rivals again. So it seems like a good time to take over publishing duties on it and move it to my own personal studio: Dark Inertia.

I intend for Dark Inertia to focus on Age of Rivals and games like it: 2-player turn-based strategy games that are designed for digital devices but based on fun physical board and card game mechanics. I have exciting plans for the future, so sign up for the newsletter and stay tuned!

The Conflict of Faith Update

A soldier’s death sets in motion events which may lead to the end of an age…

Age of Rivals’ next content update is here, featuring 18 new cards, new story/challenge levels, and several gameplay improvements.  Read on for details.

The Conflict of Faith Campaign


The second campaign includes 6 new story/challenge levels vs. custom decks for Ziana, Theophilos and Nairi.  Beating these levels will unlock 3 of the new cards.  

New Cards

The remaining 15 new cards can be obtained by spending coins.  All 18 new cards:

  • Barduk’s Bonewall – You bring the bodies and Barduk will build you the wall.
  • Royal Academy – See the Moneylender for a student loan.
  • Standard Bearer – Don’t mess with the mascot.
  • Martyr – Sometimes death is only the beginning.
  • Martial Law – Culture smulture…just attack!
  • Acid Spitters – The sworn enemies of The Undying.
  • Exotic Trinkets – Shells, beads, and the occasional dragon egg.
  • Princess of Thieves – Her leadership will bring the underworld out of the shadows.
  • The Sentinels – No shenanigans on their watch.
  • Eternal Gardens – A whole grove of giving trees.
  • Faithless Bannermen – Your earliest allies are not always your most reliable allies.
  • Exotic Expedition – Riches beyond compare…if they ever make it back.
  • Smoke and Mirrors – It’s not a trick..it’s an illusion!
  • Monolith – A mysterious construction for anyone confused by the damage splitting rules.
  • Stone Table – Broken – When the table cracks, death itself begins working backwards.
  • Scavengers – Waste not, want not.
  • Sacred Relic – An artifact that should never have been uncovered.
  • Open Borders – Keep the big door open…everyone will come around.

Card Rebalancing

  • Graverobber Baron can now only steal a maximum of 2 coins per turn instead of 2 coins per Ruins drawn
  • Sun’s Sisters now gives bonus culture based on ruined card’s attack, and cost increased by 1
  • War Drums ability reprogrammed to work more reliably
  • Myrmidons cost reduced by 1
  • Conquistadors attack increased by 1
  • Assacani attack reduced by 1

Gameplay Changes

  • Both players are guaranteed to draw at least one Economic card during every draft in Round 1
  • Guaranteed cards will no longer ever show up in the very first draft
  • Early phase guaranteed cards may now draw during any draft in Round 1 (instead of just the first 2 drafts)

This update also includes several bug fixes.  I hope you enjoy the new content!

Age of Rivals Selected as a Finalist for the Google Play Indie Games Festival

We are very happy to announce that Age of Rivals has been selected as one of the 20 finalists for this year’s Google Play Indie Games Festival!  We have been invited to present our game in competition in San Francisco on September 23rd, and we would love for our fans to join us there. 

The event is open to anyone and free to attend, as long as you register now while there’s still space: https://android-developers.googleblog.com/2017/08/announcing-20-finalists-and-open.html

Out of the 20 games selected to exhibit, 10 will be chosen by audience voting to present on stage, and then 3 winners will be chosen by a panel of judges.  

In Google’s words:  To celebrate some of the latest innovative indie games on Google Play, we’re hosting the second Indie Games Festival in North America on September 23rd in San Francisco. At the festival, Android fans and gamers will have a unique opportunity to play new and/or unreleased indie games from some of the most innovative developers in the US and Canada, as well as vote for their favorite ones.

It’s great to have an opportunity to work with Google to bring digital-first board games to more players.  We are thrilled to be a part of this event, and we hope to be able to meet some of our fans there as well!  

The Age of Rivals AI: A Behind the Scenes Look

One of the things players seem to like about Age of Rivals is the quality of the AI opponent.  A small minority of players have even jumped to the conclusion that the AI must be cheating (it’s not).  I’ve been asked how it works behind the scenes, so I’m dedicating this blog post to that topic.  I will go in-depth on the AI logic and also provide some interesting stats.  


The initial goal of the AI was to provide a good learning experience for new players, at which point players would transition into playing multiplayer exclusively.  But as we realized that there was a significant number of players who wanted to play single player, I kept improving the AI to play at a higher level.  

During the course of any AoR game, there are basically two kinds of decisions a player must make:

  • Which card to draft out of a possible pool of 3 or 4 cards.
  • Which cards to assign any opponent damage to.


To make the first decision (what to draft), the AI scores each card across 17 different categories.  For each category, a function examines the card and the current state of the game and returns a score between 0 and 1.  Then the AI weights each of these results, averages them into an overall score, and drafts the card with the best overall score.  Weights for the categories range from 1 (not very important) to 20 (very important).  

The 17 categories are:

  1. Discounts
    1. How much of a discount am I getting on this card?
  2. Taxes (negative factor)
    1. How much tax do I have to pay my opponent for this card?
  3. Affordability
    1. How affordable is this card given how much Gold I have left and how many cards I still have to buy this round (so I won’t end up with Waste).
  4. Resources
    1. How many new resources will I get with respect to how many resources I and my opponent already have and which round we are in.
  5. Income
    1. How much income will this card generate with respect to how much income I and my opponent already have and which round we are in.
  6. Gold
    1. How much immediate gold will this card give me this round?
  7. Culture
    1. How much culture will this card give me with respect to which round we are in?
  8. Conquests
    1. To what extent does this card allow me to win additional conquests?
  9. Damage
    1. To what extent will this card allow me to make a dent in my opponent’s current armor?
  10. Armor
    1. To what extent will this card help me deal with my opponent’s upcoming attacks?
  11. Field Combos
    1. How well does this card combo with my other cards currently in the field this round?
    2. How well does this card counter my opponent’s cards currently in the field this round?
  12. City Combos
    1. How well does this card combo with other cards I have drafted for my city so far?
    2. How well does this card counter the cards my opponent has drafted for his/her city so far?
  13. Draft Combos
    1. How well does this card combo with the 4 cards my opponent might pass to me next turn?
    2. How well does this card counter the 4 cards my opponent might draft this turn?
  14. Field Counters (negative factor)
    1. Does my opponent have cards in the field right now that counter this card?
  15. City Counters (negative factor)
    1. Does my opponent have cards from previous drafts that counter this card?
  16. Draft Counters (negative factor)
    1. How well do the other 3 cards I must pass to my opponent counter this card?
    2. How well do the 4 cards my opponent might draft counter this card?
  17. Special Abilities (both positive and negative)
    1. Special card-specific weighting to help the AI understand when to use cards with abilities that are not covered by the default combos and counters logic.

The first 10 categories are fairly straightforward.  The AI looks at the current state of the game (how much culture/armor/attack/economy each player has and what round it currently is) and tries to find the card that will best benefit it.  


The last 7 categories attempt to handle Abilities, which are trickier.  It is assumed that the cost of each card is fair and accurately reflects its value under ordinary circumstances, so the AI is basically looking for extraordinary circumstances to take advantage of.  If it has a lot of Infantry cards, then Shieldwall is a high value card since that ability represents a combo opportunity with Infantry cards.  

Categories 11-16 (combos and counters) handle most card abilities, and for a long time that seemed okay enough.  But it eventually became obvious that for some cards it’s harder to describe what a combo or counter is, and so category 17 was added to provide custom logic for those cards.  Examples include Plaguebearer, Master Thief and The Oracle.  These are cards that you should only buy under very specific circumstances, and if the AI buys one when it shouldn’t, it can ruin the illusion of intelligence completely.  About 25 cards have such custom logic.

The first version of the AI probably only had about half of these categories.  Whenever I embarked upon a series of AI improvements, I would simply play a game and wait for the AI to do something that seemed obviously sub-optimal, and then I would analyze its logic to figure out why it made that choice.  This usually resulted in a re-write of a category, the addition of a new one, or the adjusting of weights.  

Assigning Damage

Combat damage assignment follows a similar pattern, but with only 10 categories.  The AI randomly assigns damage and then calculates the total value of the cards left over.  It does this 1000 times and then picks the permutation that resulted in the highest total value.  I probably could have done this in a more rigorous way, but in practice it seemed to work pretty well so I never improved it.  

The 10 combat categories are:

  1. Culture
    1. What is the scoring value of the leftover card?
  2. Value
    1. What is the overall value of the leftover card, as defined by its base cost?
  3. Armor
    1. How much armor does the card have leftover after damage has been assigned?
  4. Waste/Ruins (negative factor)
    1. Is this card Waste or Ruins? (Such cards should have been sacrificed typically)
  5. Buffing Culture
    1. Is this card currently buffing the culture value of other cards?
  6. Economic
    1. Is this card currently contributing resources or income?
  7. Post-War Ability
    1. Does this card have a post-war or end-of-round ability that will trigger?
  8. District Combos (same as above)
  9. Deck Combos (same as above)
  10. Special Abilities
    1. Custom logic to account for certain cards that you should or should not sacrifice under very specific circumstances. One example is Shock Troops, which should almost always be sacrificed since it’s going to ruin itself anyways (unless it received a Culture buff). Currently six cards have such custom logic.

Normal vs Hard AI

Over the past year I’ve released several sets of category weightings, including ones that favored more combat, more culture, and everything in-between.  I’ve measured their various win rates and removed poorer performers over time.  There is only one AI out in the wild currently.  

So what’s the difference between the Normal and Hard AIs?  They both use the same set of weights and the same categories of logic.  But the Normal AI just chooses to ignore some of the logic some of the time, randomly.  This is an attempt to simulate a human player occasionally missing something.   


So how well does the AI actually perform?  Over the last 6 months:

  • The Normal AI wins about 40% of games against all players.
  • The Normal AI wins about 37% of games against players who’ve been playing for at least a week.
  • The Hard AI wins about 61% of games against all players.
  • The Hard AI wins about 54% of games against players who’ve been playing for at least a month.

So both AIs become more “beatable” as players get more experience.  But the Hard AI in particular has the potential to stay fairly competitive.  

But of course there are some players who beat the average and crush the AI 80-90% of the time.  They have probably come up with a play style that is particularly effective against the AI’s logic and weights, and over time I can try to improve the AI by analyzing their games in particular.  


In my opinion, the AI’s main advantages are:

  • The ability to consider all these different aspects of the game. Humans can do this as well though, and the best players do.
  • The ability to remember cards that were drafted in prior rounds that aren’t currently on-screen.
  • The ability to ignore prior strategies and adapt to changing circumstances. Sometimes humans (like myself) try to play out a particular strategy and are too slow to adapt when it’s clear that it’s not going to work out.

The AI’s main disadvantages are:

  • It still doesn’t understand the nuances of every ability perfectly, and it over-simplifies many of them.
  • It makes no attempt to Guarantee cards that work well together, or that are even known to be useful cards. Most humans know over time which cards are better Guarantees, but the AI always chooses these at random.
  • It has no understanding of the current “meta” or which cards are perceived to be better than others. It does not have access to any card win rate data, even its own. Humans remember which cards served them well in the past and can take advantage of that knowledge, but the AI plays every game as if it was its first.

Some next steps towards improving the AI could be to analyze games against players that have high win rates vs. the AI, teaching the AI about more abilities, teaching the AI to be more strategic with the Guaranteed Cards system, and continuing to test alternative sets of weights.  

And I’ll say it one more time.  The AI does NOT cheat in any way whatsoever.  It has no access to extra information.  It does not manipulate the random draft.  It does not know which card you drafted before it makes a decision.  

I hope this has been interesting, and as always I’m happy to answer any questions!

Update: To Grind or not to Grind

The short version of this post is that our newest update (3.8) increases coin rewards in all game modes by 30% and adds coin rewards for losing to all game modes (even Normal AI and Friend games).  Now you can gain access to all the content even faster!  We also fixed some bugs.  Read on if you’re curious about why we even have card packs in the game.  

So one of the more controversial aspects of our game (from a player feedback perspective) has been the fact that you have to unlock all the cards and playable characters (rivals) over time.  Some players don’t like that a premium boardgame does not come with all the content available upfront.  Others appreciate that the game grows more complex and varied over time and that there are long-term goals to work towards.  

Even when I was debating whether or not Age of Rivals should be a premium or free-to-play game, I was reluctant to have all the content available from day one.  I knew from early play-testing that that would have been overwhelming, and that the starter deck of 71 cards made for a good game.  And I thought it would be fun for the game to evolve over time, encouraging players to adapt to the changing deck and to try new strategies as they gained new cards.  Also, I had too much fun watching my 5 and 7 year old daughters opening cards packs.  “Daddy, I unlocked Arsenia!”.  It was (and still is) too priceless.  

Most games (premium or not) do this.  As you progress, you gain new skills and and weapons and encounter new challenges.  The metaphor varies from genre to genre.  Sometimes it’s leveling up, sometimes it’s getting to a new world, sometimes you earn a new seed packet to counter a new type of zombie.  And the paces varies as well.  Sometimes it’s steady and linear, and sometimes it’s fast at first but then slows down to something more tedious.

And that’s where Age of Rivals runs into problems.  Our metaphor is the dreaded card pack.  And it’s normal to assume that card packs equal a slow and tedious grind.  Many CCGs these days are free-to-play with card packs, and it takes forever to unlock everything.  

Our original metaphor long ago was a linear progression of unlocking cards one by one as you won games.  But we switched to the more easily recognizable card pack system so we could release a free-to-play version of the game on Kongregate.  And when we switched back to premium for Steam/iOS/Android, we decided to keep it.  (The whole premium vs free-to-play thing can be a future blog post).

Maybe this was a bad idea, but by then it was fully developed and we didn’t really want to redo it.  The important thing was that we changed the pace of content unlocking to linear by eliminating redundant drops.  You never get a card you don’t need, so you’re unlocking content as quickly on day 30 as you did on day 1.  

But while the pace was pleasingly linear, it was definitely still too slow overall.  We still had one foot in free-to-play-economy land.  Our early Steam players gave us some great feedback, and so we quickly doubled the coin rewards, added rewards for more game modes, and added unlimited missions.  

Today we’re going the rest of the way.  We’re speeding up the pace again by increasing coin rewards in all modes and (more importantly) adding rewards for loss in all modes.  Everyone should now be able to earn all the Level 3 Rivals and all cards after a pretty reasonable number of games.

Hope you all like the new update.  As always, keep the feedback coming!  

Age of Rivals Launches on Mobile and Adds an Offline Mode

Well, one week into mobile and we’ve already got a feature update!  Now you can play most of the game offline without even registering an account.  I’ve also fixed the screen rotation issue, made the first 10 missions dismissable (once every 24 hours), and added better handling of failed network saves.  All of these also apply to the Steam version (except auto-rotate, although that would be funny).   

Don’t forget that today is the last day of our launch week discounts for iOS and Android!  I also think today is the last day of the Steam Summer Sale discount.  So now is the time!

Offline mode support combined with automatic syncing across multiple devices and platforms is a bit tricky, so I added a new FAQ with more details, which I will also flesh out with other topics of interest.  

Every new platform has brought new fans and new kinds of feedback to Age of Rivals.  And since this is my (me personally, not Roboto Games) first mobile launch as an indie, it has been a fantastic learning experience for me.  Trust me, I will never launch a premium mobile game again without auto-rotate and offline support.  🙂

Many thanks to the Touch Arcade community for providing excellent feedback, conversation and even volunteer testing.  

Many thanks to David Neumann of Stately Play and iOS Board Games for being an early supporter of the game and helping us get our first round of beta testers almost a full year ago when it was just a web game on this web site. 

Also thank you to mrbaconpants for creating and moderating an Age of Rivals subreddit and to Lycentia for starting an Age of Rivals wiki.

Some other recent coverage:

  • “…there’s a depth here that other games of the same length can’t emulate” – Pocket Gamer – 8/10 Silver Award Winner
  • “Gameplay is fast, very fun, and requires both an overall strategy and turn-by-turn tactics to prevail.” – Pocket Tactics

And thank you to everyone else who’s provided feedback, bug reports and encouragement on this long road.  Especially Curt and Mathilde of Roboto Games who are always willing to help me tackle the really tough problems.  

There is still much to do, so keep an eye out for future updates!

Age of Rivals Goes Mobile

Age of Rivals launches on Android and iOS on Thursday, June 22!

Just like the Dragoons of old, Age of Rivals is going mobile.  We finally have a firm date for our mobile/tablet launches: June 22.  We’ve been quietly beta testing for the past few weeks to make sure everything looks stable, and now we’re ready to go!

Launch Sale

In celebration of these launches, we’ve reached out to our Moneylenders and convinced them that for the first week the game will be on sale for $.99.  Make sure to grab it and take advantage of this launch discount!

Includes All Content

Just like the Steam edition, these mobile versions will be premium versions of the game with no in-app purchases.  This means that all content unlocks at a linear pace, and you never get duplicate cards you don’t need.  As long as you keep playing, you will regularly receive new cards and rivals until you unlock everything.  Remember that as long as you play vs. Anyone or vs. the Hard computer, you earn coins even when you lose the game.  That is certainly a Good (Trade) Deal!  (Sorry, had to do it!) 

We hope you enjoy being able to play from the convenience of your phone or tablet!  We’ll post the links to the stores on Thursday when the game goes live.  Thanks!

Update: Balance Changes and More

Today’s medium-sized update aims to address a few player-requested issues before we officially launch on mobile.  This also includes our second round of card balance tweaks.  We analyzed game data and read all the comments on both Kongregate and Steam forums before deciding which cards to change.  

The biggest source of controversy recently has been Graverobber Baron.  We agonized over this one, but ultimately we decided to leave it unchanged.  There were good arguments on both sides, but we were more swayed by the players who wanted to keep it as-is.  We think this card plays an interesting and somewhat unique role in the overall composition of the game.  The game benefits from having dramatic late game cards that can turn the tide in big ways, and GB is not really one of the more OP ones.  It has almost exactly a 50% win rate, which is lower than several other cards.  But we still might change our minds in the future, so keep letting us know what you think.  

Balance changes:

  • Warmonger -1 attack
  • Silencers -1 culture
  • Patrons -1 gold cost
  • Arms Dealers -1 armor, +1 attack, -1 gold cost
  • Brilliant Tactic -1 gold cost (now free)
  • Blind Bolt Throwers -1 base attack (ability unchanged)

Other changes requested by players:

  • Friend games no longer have a turn timer.
  • You will now hear an audio warning during timed games when you only have 5 seconds left.  This will only happen if you have Sound Effects turned on.
  • The Normal AI is now a little easier.  The Hard AI is still the same.  

We hope you enjoy these changes!  Our next big update will be to get this game onto mobile finally.