So this weekend I’ve been looking at introducing difficulty levels and well, one thing led to another and I ended up rewriting the diplomacy/politics layer of the AI almost from scratch 🤣. LEARN MORE!

And damn, I think it was worth it! Let me introduce you to:

  • AI chatter: The rivals will now comment on what’s happening in the game and how they feel about it! This should hopefully make the rival intentions and motivations a LOT more transparent and make the game feel more alive as a bonus. And if it ever wears out it’s welcome, you can turn it off in the settings.

  • More reliable emoji: The way the rival emojis get coloured was based on a very simple model back in the early days, and as the factors behind AI decision-making grew more complex, it became less and less accurate. This update makes the emoji coloring a better reflection of how likely the AI is to actually attack you, without giving away too much. Basically green means you should be relatively safe and yellow means either neutrality or a poker face just before a ruthless backstab 🙂. Red, of course, still means blood.

  • More dynamic faction relations: While the rivals can still hold a grudge for a considerable time, they don’t let it overshadow more pragmatic concerns as easily. Previously, who are your allies and enemies would hardly ever change after the early game. Now things are much more in flux and relations shift quickly when the balance of power on the map shifts. Overall I would say it is a bit harder to win, but also harder to lose! When you get kicked down from the first spot into obscurity, it should be easier to restore truce with the other weaker factions and perhaps take on the new dominant faction together.

  • Roleplaying AI mode: This is a bit of a temporary bonus feature while I’m at work on a proper casual AI preset. Changing the “Rival AI” from “competitive” to “roleplaying” in the options menu will disable the tendency of everyone to scheme against the strongest faction. If you don’t enjoy trying to break the late game deadlocks when nobody wants to let anyone else come out on top, this is the toggle for you. Just keep in mind this does not always make things easier, because you can no longer rely on the AI to help you against the stronger enemies either.

In the early days of konkr development before there was any AI to speak of, I used to play a lot of games against myself, basically roleplaying for all the factions on the map. I was quite excited by the emergent stories and dramatic twists that would happen as the balance of power kept shifting and every faction under my control was adjusting plans to ensure it survives and eventually comes out on top. The strategic depth felt amazing as it was less about greedy expansion and more about carefully setting yourself up into a position for a perfectly timed ruthless power grab - the only way to run away with the game before the others can stop you.

My work on the AI has been chasing that vision ever since, and today I feel like I’m closer to making it a reality then I thought possible! So you can imagine how excited I am about this 🙂.

I’ll give you all some time to experience it while keeping an eye on the analytics, and later I’m planning a small survey to gather some more concrete feedback.

UPDATE: The survey is now up! Let me know what you think!

Next steps

Next I’m about to work on a few more things that tie into this update:

Polishing and expanding the AI chatter

While I am really happy with the system I came up with for scripting the AI messages, I didn’t have that much time to really polish the messages themselves yet. There’s already around 500 unique messages there, and their content itself is a bit of quantity over quality at the moment. I’ll be expanding and pimping it up as we go, and the most fun part about it is that you will be able to help if you’d like!

  • You can already see the source file for all the AI messages over here (spoiler alert!).
  • It’s a markdown file that serves partially as documentation, but it can be also directly parsed to import the data into the game. I’ll soon add more documentation on how exactly it works.
  • You will be able to make your own “chatter file” and import it into your game to customize what the AI says in various situations. You can even share it with others (did somebody say “moding support”? 🙂).

AI difficulty modes

Currently, I plan to introduce two difficulty modes as part of the content overhaul:

  • The “hardcore” mode will be pretty much what the game is now - enjoyable if you seek true challenge, ruthless scheming and utterly unforgiving adversaries.
  • The “casual” mode will be Konkr without the sharp edges. The version of Konkr for when you’re on your lunch break or just came back after a long day at work and want to actually relax for a bit without getting bullied by the AI and sweating every move.

It’s interesting that designing the more causal mode turns out to be not as simple as making all the opponents dumber. After all this is a game where you often fight alongside the other AI factions against a stronger foe. Having the AI act dumb as brick is all fun and games until that dumbass is actually your ally and isn’t sharp enough to realize he should be helping you bring down the dominant faction 🙂.

What seems to be needed is to restrict the AI behavior specifically when it comes to actions hostile to the player. So for example the AI will still gang up against other AI-controlled dominant factions, but never against the player. Same for the more tactical decisions, the AI should still defend well against other AI factions, just perhaps not so much against the player.

I’ll be messing with this in the coming days, and we’ll see how it turns out!

AI rulers

Now, this is the fun stuff!

Now that I made the rivals talk to you, it gave them more character and personality for sure. But it also highlights the question, what are the rival kings in this game actually like? Are they pompous? Honorable? Proud? Pragmatic and down to earth? Sly and conniving? Amicable and diplomatic? Are they sophisticated nobles or violent brutes?

I’m not really sure which characterization would fit best for the game, so that’s why I’m not planning to have just one!

In other words let’s turn the rival rulers into actual characters! Visually I plan to use things like headgear and other accessories on the rival emojis to distinguish different AI characters from each other. For example a viking helmet certainly communicates a different kind of ruler than an olive branch crown 🙂 (I wish I had some assets ready to illustrate this, but sadly not yet!).

The plan is that these AI rulers may shape their faction in a number of ways:

  • they can talk differently (so if you’ve been paying attention in the previous section, that means each ruler can have their own “chatter file”)
  • they can have different playstyle and quirks then the default AI (building on the AI traits system that I’ve introduced with the AI overhaul a few months ago)
  • their units and buildings can have different visuals (anyone up for non-human factions?)

Before you get too excited, I need to mention this is more of a long term goal. For the nearest future I’m planning to add only one additional ruler personality, made specifically for the early tutorial levels.

It solves a bit of a design pickle with the tutorial. The default AI is way too brutal for the early levels, so I want to make it easier. But I also want this artificial limitation to be understood by the player, so that they know more challenging opponents are waiting later in the game. And perhaps more importantly, when these guard rails come off eventually, it should be clearly communicated.

The AI rulers system seems perfect for this. Let’s say you go from fighting Dumbo the Doofus with his peasant hat to facing Godwin the Conqueror who wears a proper golden crown. There’s not much extra explanation need to get across that you’re up for a different kind of challenge 🙂.

Tutorial overhaul

Speaking of tutorial, improving the tutorial experience in general is my next short-term focus. The analytics paint a pretty bleak picture of some early levels and this will also be a good opportunity to implement some related systems that will be useful beyond the tutorial (like level hints, custom objectives, level descriptions, and more).

Since you’ve read all they way down here, you are probably quite a fan of the game (❤️), so I imagine tutorial changes aren’t the most exciting thing to you. I’ll try to get it done quickly and get to all the other cool stuff soon 😉.

What else is new

Finally, if you weren’t following the updates on discord this week, here’s a quick summary of some other new things that landed in the game:

  • Folks are reporting significant performance gains on Android after I upgraded the game to use Phaser 3.60!
  • There’s a new nicer looking summary label when selecting rival provinces on the map, which also gives you a prediction for what is the most expensive unit the rival might be able to use next turn.
  • Plus a whole bunch of bugfixes and some other small improvements.

That’s all for now, thanks for reading and see you next week! I was planning to wrap this up with some new level statistics, but I’m tired and my reporting webapp is broken at the moment, so tough luck 😆.