Setting AI card priority for Siege

    • Setting AI card priority for Siege

      I've just been thinking about Siege and I'm just guessing here, but I imagine the AI isn't sophisticated enough to understand curve intentions or card order priority too well...

      A simple example is something like an Inspire deck, a player knows to get their Mirror Knight down first or to get a Mentalist down before other 3 cost or higher troops, but the AI might not. Maybe with Inspire it will get it correct most of the time but as decks get a lot more intricate then I would imagine it would make more mistakes.

      If this is the case, then I've thought of a possible solution that would allow players a bit more control to how the AI plays their decks.

      Setting AI priority for cards

      This could be done in numerous ways, the way in which I envision it is as follows...

      While in the deck editor and in the Siege tab, when zooming in on a card you are presented with a new option, like so:


      The default setting would be - or blank, meaning the AI would act like normal. However, if you then set a card to 1 like the above example, then the AI will prioritize it over other cards if it has the ability to cast it.

      So if I had several 2 drops in my deck but I wanted to ensure that the AI will always play a specific 2 drop over all other cards when possible, I would set it to 1, giving it the highest priority.
      Then If i had another 2 drop that I wanted to prioritize but not over the first one, I'd set it to 2.

      Using Inspire again, I might leave most of the cards in the deck with the default priority (nothing), but then I might set up some specific cards as follows:


      Cerulean Mirror Knight - 1
      Highlands Magus - 2
      Cerulean Mentalist - 3
      Azurefate Sorceress - 3

      In this above example, the AI would prioritize playing these cards over all others in the deck and then among them it would prioritize the CMK over the other 3 mentioned. In the case of the Mentalist and Azurefate, I am basically telling the AI that when presented with the ability to play both to not mind which is played first.

      That could be the starting point, obviously this can be built upon over time to make it more intricate and give players even more control. Also by default, I'd make it so the AI will always use removal first where it normally would, but maybe have a check box option for each card that lets you set to prioritize over removal or not.

      Speaking of building upon this idea over time, you could also have another interface in which you set specific cards for the AI to prioritize dealing with. For example, I might be building a creature heavy deck for my defense and we all know Bride is a huge threat for these decks. So I may then open up this new interface and Select Bride of the Damned and give it a priority of 1, meaning when possible the AI will deal with it over anything else.

      Hopefully I explained this clear enough, my oven is beeping now so my dinner is ready!

      Cheers

      HAVOC :)



      EDIT: The reason to do something like the above suggestion is so that over time more and more decks are viable for siege defense (the more diverse a game mode the better).

      At the moment I'd imagine there will be many decks that are not too viable as they require a specific curve or method to properly execute. For example, having the AI play something like Azure Cannon would likely fail due to the exact sequencing required to properly execute.


      Twitch —— YouTube —— Twitter —— Steam —— Patreon

      The post was edited 3 times, last by HAVOC ().

    • Edswor wrote:

      I think the IA is programmed to understand game mechanics and not individual cards, so I don't know if this option (to "tune" specific cards) match very well with it's design.
      Shouldn't be especially hard almost every AI uses a assigned value to the hand to decide what to play this just lets the player set specific values to override that. If this makes the AI play worse that is a issue of the player using the priority system not the AI it self.
    • What I mean is that the IA know what bury or escalate does, but don't know the card Chronic Madness. The IA evaluates the cards by it's mechanic not by the card itself.

      Other example, that we can watch in the Hex stream this week, was that the IA does not currently know how to choose thresholds when a card creates them, so he choose them randomly.

      PD: I'm not sure if I'm explaining correctly (not being very fluent in english does not help either).
    • Edswor wrote:

      What I mean is that the IA know what bury or escalate does, but don't know the card Chronic Madness. The IA evaluates the cards by it's mechanic not by the card itself.

      Other example, that we can watch in the Hex stream this week, was that the IA does not currently know how to choose thresholds when a card creates them, so he choose them randomly.

      PD: I'm not sure if I'm explaining correctly (not being very fluent in english does not help either).
      Right, this is mostly true and my above suggestion is to help alleviate some of the problems that the AI has. It is impossible to program (at least time wise) an AI smart enough to be able to handle all the different cards that Hex has to offer, especially when you're trying to do specific sequences or combos. By giving the players tools/options, the AI might then be able to play a complicated deck slightly better. This would then help diversify the meta as there will be more viable options.

      Twitch —— YouTube —— Twitter —— Steam —— Patreon

      The post was edited 1 time, last by HAVOC ().

    • Another switch that might be interesting is to set cards to other or self again overriding the AI's standard evaluation to make it do things that might not seem good.

      For example using a mill card should be set to other by default but overriding it to be self makes it mill it self. More useful maybe is a card that gives +x/-x or -x/+x telling it to use them on either opponents troops or yours.

      Granted that is probably harder to program than priority system but it also certainly easier than letting you teach the AI how to play in any advanced way.
    • If they're going to devote time to allow players to fine tune/micro-manage AI behaviour I would hope they focus efforts on a highly customizable if->then system. This would essentially allow you to transfer exactly how you'd play the deck to the AI.

      Examples:

      If opposing player health is below 6 then cast Burn to face.
      If my health is below 7 then adopt board control personality.
      If opposing player has less than 3 troops then prioritize using Herofall over Extinction .
      If my hand has Cerulean Mirror Knight and Storm Cloud then prioritize CMK over Storm Cloud.
      etc...

      The possibilities here are endless in terms of customization and likely the more lines you add, the better your siege will perform and the more likelihood we have of non conventional decks being operatable by the AI. This will give another dimension to customizing keeps and being able to stand out from the pack because even if people manage to copy your decklists, they won't have the secret AI sauce that makes them run so well.

      Obviously this is probably something incredibly complex to develop but another one of those features that will reap many fruits if the one time development cost can be afforded.
    • Bootlace wrote:

      If they're going to devote time to allow players to fine tune/micro-manage AI behaviour I would hope they focus efforts on a highly customizable if->then system. This would essentially allow you to transfer exactly how you'd play the deck to the AI.

      Examples:

      If opposing player health is below 6 then cast Burn to face.
      If my health is below 7 then adopt board control personality.
      If opposing player has less than 3 troops then prioritize using Herofall over Extinction .
      If my hand has Cerulean Mirror Knight and Storm Cloud then prioritize CMK over Storm Cloud.
      etc...

      The possibilities here are endless in terms of customization and likely the more lines you add, the better your siege will perform and the more likelihood we have of non conventional decks being operatable by the AI. This will give another dimension to customizing keeps and being able to stand out from the pack because even if people manage to copy your decklists, they won't have the secret AI sauce that makes them run so well.

      Obviously this is probably something incredibly complex to develop but another one of those features that will reap many fruits if the one time development cost can be afforded.
      I've actually suggested this exact thing in the past too :P I do agree it would be more ideal but it's a lot more complex though as you point out :)

      Twitch —— YouTube —— Twitter —— Steam —— Patreon

      The post was edited 1 time, last by HAVOC ().

    • This would be a great way to guide the AI to play with weird cards. I was thinking for example, if I gave the AI a Flashpaw Howler, will it understand that it can use its champion power as a combat trick? Anyway, as with anything that requires a lot of work, it probably won't be done for a long while, perhaps years.