Songs of Conquest - Upcoming AI Improvements Detailed

With their summer vacations now over, Lavapotion is back with this Steam announcement outlining some upcoming AI improvements for their kingdom management RPG Songs of Conquest. As a result, you can expect the game's AI-controlled Wielders to adopt a number of specialized roles, become better at reinforcing its armies, and generally start making better decisions.

Here's more on that:

Hello everyone!

We've been quiet for a while as the team has enjoyed their Swedish summer vacations. But, since a few weeks back the team is now hard at work again. And we are soon to drop some news and updates for you. Starting right now we would like to introduce you to the upcoming AI improvements. Some of these improvements are already live on our internal development branch, however, AI improvements are an ongoing process, rather than just one update!

Since this is one of the most discussed topics in the community, we want to emphasize that we value your feedback a lot and are aware of many issues related to the AI. It is definitely not finished and we will continuously work on improving it as time goes by - So please, if you have the time, post your feedback regarding the AI in the comments section of this Blog Post. It helps a lot!

We've started to add the concept of wielder roles. So, now the AI will start looking at its wielders in the terms of roles, and from that it can take certain decision. I.e. who should get the strongest troops or what skills to pick when leveling up. This is in an early stage still, but we are quite certain it's going to affect more and more decisions. The inital roles we have created for the first iteration is Warrior and Explorer, more will come after the system has matured a bit.

This a non-exhaustive list of what has been worked on lately:
  • The AI upgrading and also switching out (weaker) troops when entering towns/settlements has been made more likely to happen. Previously the AI simply topped off what it had and filled empty slots, often leading to weak and pretty insignificant troops being left in slots.
  • Recruitment has gotten an overhaul in general, previously recruitment was only part a long term decision which meant that if it walked by its own town it did not always recruit even if the town was overflowing with units. It's now more likely to recruit if it happens to walk by. Also it should use neutral dwellings much more often than before.
  • Skill selection scoring has been changed, in some ways to promote command in situations when it got pushed to the bottom. This was previously a mitigation due to other issues the AI had, having many troop slots just lead to it having empty troop slots. The root cause has been fixed for this so we could remove that mitigation.
  • How the AI reasons around buildings has been updated and we've added more decision input for when it decides what to build. For instance, it can check how much resource surplus it has if it would buy all units it produces every round. Or what starting resources are lying around the starting area.
  • Deciding what to build has also previously been a bit unbalanced between the factions, which is one of the reasons why the AI has been weaker playing certain factions.
  • An improved retreat option is in place to make feeding weak wielders to opponents less likely to happen.
  • There has also been several bugs fixed which caused behaviour problems rather than crashing the game. The two major ones being: 1. It inverted treat checks which made Suicide opponents appear as Very Easy, this was particularly nasty. 2. The AI could not "see" some items under hostile zone of control, nor items it was standing next to.
The above points will be iterated upon even more, this is what we have had time to look at after coming back from our vacations. More to come in the future!

We've made a fundamental change to how the AI traces items nearby for pickup/claiming. The previous solution started out well with what we had available at the time (without making the AI even slower, it did not need that ...) but it has scaled poorly and created lots of edge cases.

The AI is now better at determining if something is on the way to where it wants to go and interact with it on the way. This is being verified currently and the initial tests look great, it also has better scaling capabilities when it comes to improvement and performance so we expect this to improve even further.

As always, if you have any questions or comments about this, please put them below.

Until next time!