It is currently 16 Apr 2024, 18:03
   
Text Size

Tempest world development

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Tempest world development

Postby Seravy » 31 Aug 2017, 16:02

Started building the Tempest world - I expect this to take a while so might as well discuss the progress. (I also consider this a far more important world than the starter one - plenty of interesting and fun cards here!)

First decklist I tested :
| Open
4 Cloud Spirit|STH
4 Counterspell|TMP
4 Curiosity|EXO
9 Island|TMP|1
4 Island|TMP|2
2 Island|TMP|3
3 Island|TMP|4
4 Legacy's Allure|TMP
4 Rootwater Hunter|TMP
4 Thalakos Deceiver|STH
1 Thalakos Scout|EXO
4 Thalakos Seer|TMP
4 Time Warp|TMP
4 Tradewind Rider|TMP
4 Wasteland|TMP
1 Wayward Soul|EXO


I expected this to perform well, around Hard difficulty level...but it failed. It won only 3 out of 10 against my "starting" deck - black/white random cardpool.

Some problems I identified :
Thalakos Deceiver : The AI enchants this with curiosity and then sacs it. Would be nice if the card could be marked "do not enchant" if such a feature exists.
Tradewind Rider : The AI is too trigger happy on using this. It taps out during its own upkeep, then fails to attack with curiosity enchanted creatures and fails to block, losing the game. Ideally, Tradewind Rider's ability should only be used during my combat phase after blockers are declared, or when I'm attempting to steal/kill the AI's permanent(s) as a reaction to save it.

Aside from these two, the AI's unwillingness to trade creatures makes this deck perform poorly - card advantage is not helping if the AI doesn't block my attacks even if it has twice as many creatures as I do. Especially as it doesn't have as much opportunity to do so - Shadow and Cloud Spirit can't block normal ground creatures.

As is, I categorized this as a medium difficulty deck but...I'm not happy with that. My 70% win rate means it was actually Easy tier but the cards in it just reek of "hard" - 8 copies of creature steal, extra turns, plenty of evasion, and Tradewind Rider used to be like the second most powerful card in the entire block...

Second decklist :
| Open
4 Caldera Lake|TMP
2 Capsize|TMP
4 Cloud Spirit|STH
4 Counterspell|TMP
2 Curiosity|EXO
2 Fanning the Flames|STH
2 Fireslinger|TMP
4 Island|TMP|2
1 Island|TMP|3
5 Island|TMP|4
4 Kindle|TMP
4 Legacy's Allure|TMP
4 Lightning Blast|TMP
4 Mana Leak|STH
3 Mountain|TMP|1
4 Mountain|TMP|2
1 Mountain|TMP|3
2 Mountain|TMP|4
4 Propaganda|TMP
2 Thalakos Seer|TMP
2 Wayward Soul|EXO


I had medium expectations from this one.

Fireslinger : The AI taps it to damage me and itself, when the AI has 6 health and I have 19. That's a suicide move. It should only be used to target players when the AI is ahead in life, or if it is enchanted by Curiosity.

3 out of 10 wins for the AI again, but I was expecting this to be around easy/medium level so I guess that's what it is indeed - nothing special just a mix of medicore flying creatures, counterspells and burn spells. It's even less powerful than it looks like.
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Tempest world development

Postby Agetian » 31 Aug 2017, 16:37

I'll take a look at those AI issues when I have an opportunity :)
I might be able to whip up a separate AI profile which would trade more aggressively. There's already a "Reckless" profile that attacks more aggressively into potential trades, but I might expand that into a more aggressive trade on blocking, too. For quest decks, it's possible to specify a specific AI profile to use:

[metadata]
Profile=Reckless

Once I come up with a separate option for aggressive trade-blocking, we can create an additional profile that you'll be able to use for decks which should trade that way. Might take a little white to consider when exactly to trade btw, any considerations?

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Tempest world development

Postby Agetian » 31 Aug 2017, 16:59

Fireslinger AI can be a bit tricky to get right - originally I wanted to set a limit such that the AI only activates it if it's ahead in life, but that's a bit iffy since, for example, if the opponent has a 6/1 creature on the battlefield that threatens to do damage, then dealing 1 damage to it to itself is actually a good proposition, while *not* doing it can actually prove fatal - if the opponent attacks with 6/1 and, say, deals 6 damage, not only will the AI fall further *behind* in life, it'll also fail to get rid of the said 6/1 since, being behind in life, it won't even consider the ability :/

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Tempest world development

Postby Seravy » 31 Aug 2017, 17:08

For Fireslinger, my suggestion is for the case when the player is targeted. Killing creatures is always the right choice.

About trading creatures on blocks, as a general guideline, this behavior is the most effective if it's unpredictable. If the human player can be 100% sure the AI will, or will not block, they can exploit both behaviors. Like currently, I can be 100% sure my attack will not get blocked above 5 AI health but always below that.

Profiles are nice but I think trading when blocking is a generic issue needing a generic solution - having a parameter in the profile to trade slightly more or less is fine though, but...this is how it should be done I think :

The best solution is to make it random, but the chance should go up the closer the AI gets to that 5 life, while the minimal chance (and this can be optional) should be applied when the AI has a massive health advantage (15-20).
The problem is, the current setup means the AI is effectively playing from 5 life : it will let any attackers through if we have identical creatures, while at the same time it won't attack because I have a blocker that can kill theirs (this part is not a problem in this deck but on drafts it does work like that. We both have some 3/3s, I attack he doesn't attack nor block so I win. (just need to find a way to deal that last 5 damage.)

As for when to trade - if the power of the creatures are equal or the AI is lower, regardless of toughness, but try to preserve creatures with valuable abilities (Royal Assassin, enchanted by Curiosity, etc)
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Tempest world development

Postby Agetian » 31 Aug 2017, 17:22

Alrighty, I'll think about what can be done :)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Tempest world development

Postby Seravy » 31 Aug 2017, 17:24

PS : I think the minimal chance for trading on blocks should be around 20-40% for default profiles and it can be higher on the more "control" type ones, less or even 0 for aggro profiles.
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Tempest world development

Postby Seravy » 31 Aug 2017, 18:22

Third decklist.

| Open
4 Counterspell|TMP
4 Dismiss|TMP
2 Island|TMP|1
5 Island|TMP|2
8 Island|TMP|3
8 Island|TMP|4
2 Killer Whale|EXO
4 Mana Leak|STH
1 Mawcor|TMP
4 Power Sink|TMP
4 Propaganda|TMP
2 Treasure Trove|EXO
4 Wall of Tears|STH
4 Wayward Soul|EXO
4 Whispers of the Muse|TMP


The AI didn't activate Killer Whale when I attacked it with a flying creature, so didn't block it and lost the game. I have never seen it do so for attacking either. Silver Wyvern would probably be better but it's marked unplayable.
The AI uses Whispers of the Muse as if it was a sorcery card, during its main phase. It should always be used at the end of my turn. Also, it shouldn't be used without Buyback unless the AI has two in hand, or doesn't have 6 lands in play yet.
Likewise, Treasure Trove should also be have that "use at end of opponent's turn" flag. I only hope the cards have protection from self-decking, as the AI kept drawing until 5 cards left in deck (but won that turn so I didn't find out)

Now that I think about it, why aren't ALL instant effects defaulting to end of turn use? Except those that kill creatures, those are better used in declare attackers or blockers or in reaction to the creature being enchanted/equipped.

I won 6 and lost 1 out of 7 so this deck will be easy difficulty. I wasn't expecting the AI to do well with a counterspell deck, especially a slow one, but this is below my expectations. I guess it just doesn't work without a good "top" creature, or idk. Maybe I should add Ephemeron instead of Wayward Spirit? I think I'll try an alternate version of this with bigger creatures and see if that is enough for medium or hard.

All the counterspells and Propaganda definitely slowed me down a lot but the AI just failed to win the game before me anyway.
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Tempest world development

Postby Agetian » 01 Sep 2017, 07:58

Whispers of the Muse and Treasure Trove are now set to be activated at opponent's EOT. Will take a look at the Buyback restriction a bit later.

Will take a look at what's up with Killer Whale a bit later too - the code for it is a bit tangled, by the looks of it the AI can use this effect offensively, usually to finish off the opponent, but I'm not sure if it'll consider using it defensively. I'll think about how to add that if it's not implemented yet, or will see what's wrong with it if it should do it already but is not doing it.

Necrologia is giving me some major headache, it's difficult to make the AI properly put the spell on stack and announce the cost. Might take some time :/

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Tempest world development

Postby Seravy » 01 Sep 2017, 09:31

Thanks!
Moved all the previous decks into the "needs retesting" folder. I'll go through all the other decks first before revisiting them, to give you more time on improving the mentioned cards.
(please test Silver Wyvern, it seems the AI can play it fine but idk if it can use the ability or not - when I tried to add cards to my hand to target it, the game always crashed so this is still unknown. The card is marked unplayable which shouldn't be the case unless the ability breaks the AI somehow - a 4/3 flying for 5 is not bad on its own, but of course it's way better if the AI can use the ability.)
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Tempest world development

Postby Seravy » 01 Sep 2017, 11:58

Decklist 4
| Open
4 Cloud Spirit|STH
2 Counterspell|TMP
2 Curiosity|EXO
4 Cursed Scroll|TMP
4 Equilibrium|EXO
2 Island|TMP|1
7 Island|TMP|2
3 Island|TMP|3
6 Island|TMP|4
4 Legacy's Allure|TMP
4 Propaganda|TMP
4 Spindrift Drake|STH
2 Thalakos Mistfolk|TMP
4 Thalakos Scout|EXO
2 Wall of Tears|STH
4 Wasteland|TMP
2 Wind Drake|TMP


This deck works perfectly, including the Cursed Scroll. I won 3, lost 5 so it's definitely medium or better.
Equilibrium felt a bit useless at times, as the AI played the creatures before it and then drew noncreature cards. I'll reduce it to 2 copies and add an extra Curiosity and Counterspell.
The only, very minor detail I noticed was, the AI generally left Wastelands untapped instead of islands, making it harder to use the counterspells, but normally, the wasteland should get sacrificed anyway - any decent high difficulty player deck will have lots of nonbasic lands, so this can be safely ignored.

Decklist 5
| Open
4 Anarchist|EXO
4 Cloud Spirit|STH
4 Counterspell|TMP
2 Curiosity|EXO
4 Erratic Portal|EXO
2 Furnace Brood|EXO
4 Island|TMP|1
2 Island|TMP|2
4 Island|TMP|3
2 Island|TMP|4
4 Lightning Blast|TMP
4 Mana Leak|STH
2 Mountain|TMP|1
4 Mountain|TMP|2
3 Mountain|TMP|3
3 Mountain|TMP|4
4 Propaganda|TMP
4 Time Warp|TMP


The AI didn't use the Erratic Portal to return Anarchist to its own hand, which is the whole point of this deck - making infinite turns with that and Time Warp. Testing of this one postponed until returning own "comes into play" effect creatures becomes implemented. Ideally, this type of use should be timed for the combat phase after blocking but before combat damage or if the creature isn't blocking, at end of turn or in reaction to spells that would kill it (in fact, the portal should be used to save own creatures regardless of it being a comes-into-play creature or not). The rest of the deck seemed to work well.

Deck 6
| Open
2 Coat of Arms|EXO
9 Forest|TMP|1
6 Forest|TMP|2
5 Forest|TMP|3
3 Forest|TMP|4
4 Heartstone|STH
4 Hermit Druid|STH
4 Rampant Growth|TMP
4 Spike Colony|STH
4 Spike Feeder|STH
4 Spike Hatcher|EXO
1 Spike Rogue|EXO
4 Spike Soldier|STH
4 Spike Weaver|EXO
2 Spike Worker|STH


I have low expectations of this one - spikes suck without damage on the stack tricks and the deck has nothing else going on. Probably easy level...

AI sacced Spike Feeder before using it to block, should be after. AI attacked into my untapped 2/3 with another Spike Feeder, then didn't sac it to gain life.

AI milled itself with Hermit Druid - the card is not safe to use at all (which is a big blow, as many decks use it) - the AI shouldn't activate this when there are fewer than 20 cards remaining.

...this one has to go into to "try again later" folder too.
I'm giving you a lot of work :(
Can't you do something to make this migration happen faster? It would be better for all of us if I could work on the AI myself.
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Tempest world development

Postby Agetian » 02 Sep 2017, 16:12

Silver Wyvern - appears to work fine as a 4/3 flying body; the AI won't activate the ability though, which may still be alright for the time being (eventually, something like Spellskite retargeting AI could be expanded and adapted to work for this ability).

Hermit Druid - EDIT: added a restriction as requested.

I'll see if Spike Feeder is straightforward enough as well. - EDIT: Tried to improve Spike Feeder a bit as well.

Erratic Portal combo - would likely need a specialized AI implemented for it, much like there is already one for Voltaic Key + Time Vault and Saheeli + Felidar Guardian :)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Tempest world development

Postby Seravy » 02 Sep 2017, 18:43

Agetian wrote:Erratic Portal combo - would likely need a specialized AI implemented for it, much like there is already one for Voltaic Key + Time Vault and Saheeli + Felidar Guardian :)

- Agetian
Please keep it generic, I mean, only used for Erratic Portal but it should recognize all "enters the battlefield" cards.
There aren't that many with a beneficial effect, so if nothing else, mark the cards with a variable like "$AIINFO HASENTERPLAYABILITY" if that's doable. If it helps I can try to make a list of cards.
This is especially important because these cards should never be targeted if they are owned by another player - we don't want to give them infinite turns, do we :D
So we need the AI to know about it anyway. (and I doubt the AI can tell apart "gain 3 life" from "lose 3 life" on enters play abilities unless we explicitly tell it which is which so having a list seems inevitable.)
Speaking of "owner", the effect should prioritize "stolen" creatures that could get returned to the AI's hand.

...in fact, this should actually be true for all "return to hand" effects, even plain old Boomerang shouldn't bounce an enemy Bone Shredder or Eternal Witness.
Also, this list opens up a whole ton of combo opportunities for the AI outside this world, such as using Umbilicus or its different name reprint or Sunken Hope etc, there are a lot of repeatable "return to hand" cards and plenty of "enters the battlefield" to combo them with. Hundreds of decks can be made on this single interaction alone.
(in fact, Umbilicus could be an Urza quest world opponent, the block does have "enters the battlefield" creatures.)

I'll test the Hermit Druid decks next then, probably only tomorrow or the day after though.
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Tempest world development

Postby Agetian » 02 Sep 2017, 19:32

Ah, yeah, a generic AI like that sounds interesting and fun to try! I think the ETB effects can be figured out in code from the card script itself, I think there won't be a need for an extra AI flag. At any rate, I'll try to find some time to look into it :)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Tempest world development

Postby friarsol » 02 Sep 2017, 20:21

While it should prefer not to, it's not correct to never bounce ETB creatures.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Tempest world development

Postby Agetian » 03 Sep 2017, 03:27

friarsol wrote:While it should prefer not to, it's not correct to never bounce ETB creatures.
Yeah, that's true :) And in fact, it's very important to think through the "default priorities". The AI should be able to prioritize between, at least, the following (maybe there's more, feel free to add something I may have forgotten):

AI's creatures with beneficial ETB effects
AI's creatures with detrimental ETB effects
Human's creatures with beneficial ETB effects
Human's creatures with detrimental ETB effects
AI's creatures buffed with AI's own auras and other attachments
Human's creatures buffed with Human's own auras and other attachments
AI's creatures debuffed with Human's auras
Human's creatures debuffed with AI's auras

I'm open to suggestions for the default priority considerations for these and possibly other groups :)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Next

Return to Developer's Corner

Who is online

Users browsing this forum: Google [Bot] and 43 guests


Who is online

In total there are 44 users online :: 1 registered, 0 hidden and 43 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: Google [Bot] and 43 guests

Login Form