Ai deck builders

All created AI or player decks. All discussion related to Wagic AI deck competion and results.
excessum
Posts: 220
Joined: Wed Jan 16, 2013 5:03 am
Contact:

Re: Ai deck builders

Post by excessum »

Ok so #HINT:castpriority only changes the search order for the spell types rather than enforce any decision rules so if (hand:Spawnwrithe,Shock) and #HINT:castpriority(creature,instant), the AI will still choose to cast Shock first if it only has {R} available?

For the Dragonstorm combo, I need the AI to cast 1 or more rituals to achieve the 9 mana cost of Dragonstorm. On the other hand, I need to force the AI to hold on to its rituals instead of wasting them for random nonsense. If I define combo hints for one, two and three rituals in hand, will the AI search through them and select the applicable one? eg. ritual + {7}{R}, 2 rituals + {5}{R}{R}, 3 rituals + {3}{R}{R}{R}

Code: Select all

#HINT:combo hold(Desperate Ritual|myhand)^until(Dragonstorm|myhand)^cast(Dragonstorm|myhand)^totalmananeeded({R}{R}{R}{3})^restriction{type(Desperate Ritual|myhand)~morethan~2}
#HINT:combo hold(Pyretic Ritual|myhand)^until(Dragonstorm|myhand)^cast(Dragonstorm|myhand)^totalmananeeded({R}{R}{R}{3})^restriction{type(Pyretic Ritual|myhand)~morethan~2}
Does hold(Desperate Ritual,Pyretic Ritual|myhand) and restriction{type(Desperate Ritual,Pyretic Ritual|myhand)~morethan~2} work for interchangeable combo components?
Zethfox
Posts: 3029
Joined: Thu Jun 10, 2010 11:28 pm

Re: Ai deck builders

Post by Zethfox »

#HINT:combo hold(dark ritual|myhand)^hold(animate dead|myhand)^until(Genesis Chamber|mybattlefield)^cast(dark ritual|myhand)^cast(animate
dead|myhand)^restriction{type(creature|graveyard)~morethan~0}^totalmananeeded({b})

this is a example of a code i just debugged and corrected some things on.
the order of the casting is now from left to right so the way it's written is how they will be cast.
excessum
Posts: 220
Joined: Wed Jan 16, 2013 5:03 am
Contact:

Re: Ai deck builders

Post by excessum »

I am still unable to make the combohints work with the latest SVN. Using your example, this is the test deck I made up:

Code: Select all

#HINT:combo hold(dark ritual|myhand)^hold(animate dead|myhand)^until(Genesis Chamber|mybattlefield)^cast(dark ritual|myhand)^cast(animate dead|myhand)^restriction{type(creature|graveyard)~morethan~0}^totalmananeeded({b})

Bloodline Keeper * 4

Genesis Chamber * 4
Dark Ritual * 4
Animate Dead * 4

swamp * 6
The AI happily fires off Dark Ritual into nothing or cast Animate Dead and THEN Genesis Chamber on the same turn or Dark Ritual to Bloodline Keeper, all of which are supposed to be very unlikely due to the hint. I tried following the syntax to chain Dark Rituals to higher cost creatures but the AI still ignores it to cast Dark Ritual into cheaper crepes. My previous example to enforce Rancor on Spawnwrithe instead of mana birds still fails after following the new syntax.
Zethfox
Posts: 3029
Joined: Thu Jun 10, 2010 11:28 pm

Re: Ai deck builders

Post by Zethfox »

I'll look at it with your exact deck, and I'll remove any possibility of using a combo card outside of defined combos.
Zethfox
Posts: 3029
Joined: Thu Jun 10, 2010 11:28 pm

Re: Ai deck builders

Post by Zethfox »

Do you have Skype where we can text chat? we really should work together on this, you're the first person to exactly want to get that combo system running smoothly. message me on the forum a Skype or gmail name where we chat actually chat about these systems
excessum
Posts: 220
Joined: Wed Jan 16, 2013 5:03 am
Contact:

Re: Ai deck builders

Post by excessum »

Unfortunately I do not have or use Skype. I do check the forums pretty regularly though so I suppose that will have to do.

Are you using the same parser for these combohints and the actual card code, at least for the card selections like (blah|blah)? I also had the idea of using these hints to force the AI to cast some spells it currently can/will not use like Immortal Servitude and Heartless Summoning.
Tacoghandi
Posts: 1197
Joined: Thu Apr 28, 2011 11:34 pm

Re: Ai deck builders

Post by Tacoghandi »

I am rebuilding now with this mornings updates. But so far what i have seen is that the a.i. will utilize the combo if it comes across the parameters while playing, however if it does not it will not hold the cards in hand that it is set to and wait for the combo. Instead it will use the cards for other possibilities. This I am fine with.
What I would like to see is a way to make the a.i. attack with certain creatures. Similar to the dontattackwith hint there could be a mustattackwith hint. It just that I have a.i. decks that use Invisible Stalker and aura's. but even though the opponent is at an amount of life that the stalker can kill, the a.i. wont attack since the opponent has creatures on the board.

-------------------------*EDIT*---------------------------

hmmm after update the a.i. met the parameters of the combo then ignored them and cast the enchantment on a different target

#HINT:combo(hold[Steel of the Godhead|myhand]^until[Geist of Saint Traft|inplay]^thenCast[Steel of the Godhead,target=Geist of Saint Traft|mybattlefield]^totalmananeeded[{U}{W}{1}])

could that be because I have another combo line above that one with a different creature and the Steel of the Godhead.
!!Check out My Created Sets and other Stuff!!

viewtopic.php?f=22&t=3380
Zethfox
Posts: 3029
Joined: Thu Jun 10, 2010 11:28 pm

Re: Ai deck builders

Post by Zethfox »

That hint you coded is wrong, read my recent post to this thread for the correct syntax
Tacoghandi
Posts: 1197
Joined: Thu Apr 28, 2011 11:34 pm

Re: Ai deck builders

Post by Tacoghandi »

So is this correct then. I am assuming the targeting parameter is still usable and it seems to be working if the conditions are met.

#HINT:combo hold(Steel of the Godhead|myhand)^until(creature[white]|mybattlfield)^cast(Steel of the Godhead|myhand,target=creature[white]|mybattlefield)^totalmananeeded({U}{W}{1})

I wrote it like this since the only creatures with white in the deck are white and blue.

And to add to my last post I was also think of an opposite to castpriority that could be added to help with draw discard and anti discard decks that could be discardpriority. Thought that would be cool. Thanks for the help Zeth.

*EDIT* I just saw that this was mentioned before. I think just a basic discard priority would work fine. It does not need to be highly detailed as of yet. Im most decks if I have to discard I am gonna discard the most useless thing at the time, but with a.i. the deck creator will have to determine the most useless type of card in the deck for most situations and set those up first. Those who are looking to discard certain cards can set up the type for that as well. I was thinking of it in terms of reanimation combos and using Looter's to draw and discard, and having a general priority set for basic discarding depending on the deck can be extremely useful, and would be something that would be great to see in the future.
!!Check out My Created Sets and other Stuff!!

viewtopic.php?f=22&t=3380
Zethfox
Posts: 3029
Joined: Thu Jun 10, 2010 11:28 pm

Re: Ai deck builders

Post by Zethfox »

i did couple minor changes and debugged the crepes out of it, ai seems to do the combos the way its supposed to now, the debug trace actually walks through the combo. please try it on current rev and let me know.
Locked