Snarky
  • Snarky
  • Advanced Member Topic Starter
2015-09-27T15:34:23Z
This thread serves as a list of issues with the latest AI script I am aware of. It will also have information, if those issues can be fixed at all, and if they were addressed in an experimental version or something. This includes bugs, error messages and obvious misplays with the official AI decks. Make sure to check the FAQ  as well.

Each issue has a status attached to it:


The following issues exist in AI version 0.90 beta, AI script version 0.33 stable. Some of them are fixed in the latest Experimental version .

No Replays in AI Mode


Under investigation.

Frequent crashes


Under investigation.

Attack logic issues


Under investigation.

AI cannot be decked out


fixed in v0.33a

AI decks & the banlist


Will be fixed (Shaddoll + Nekroz)



More issues:



Yes, I dislike the edit message enough to include white text here to seperate it a little :P
Snarky
  • Snarky
  • Advanced Member Topic Starter
2015-09-27T17:06:40Z
Did you experience any bugs or error messages not listed here? Can you provide information about an issue currently under investigation? Or do you still experience an issue, that should be fixed already? Feel free to post it here, or in a new thread.

.
Michael Lawrence Dee
2015-09-28T00:39:08Z
Originally Posted by: Snarky 

Did you experience any bugs or error messages not listed here? Can you provide information about an issue currently under investigation? Or do you still experience an issue, that should be fixed already? Feel free to post it here, or in a new thread.

.



Not exactly, Attack logic issues, this should contain:
1. Cannot be destroyed by battle.
2. Superheavy Samurai
3. Total Defense Shogun
4. Attacking using Timelords or something else.

There's a lot of things to check. I can't even list them all.
Now this is how I play:
Snarky
  • Snarky
  • Advanced Member Topic Starter
AntiMetaman
2015-09-30T12:49:04Z
So what is the exact reason why we still cannot yet record replays of duels from the AI? I see that in every ygopro percy update, it lists that it is a known issue. However, I'm perplexed to know why that is. For people who want to demonstrate a combo or a situation, this feature can be very useful.
Snarky
  • Snarky
  • Advanced Member Topic Starter
2015-09-30T13:05:59Z
Originally Posted by: AntiMetaman 

So what is the exact reason why we still cannot yet record replays of duels from the AI? I see that in every ygopro percy update, it lists that it is a known issue. However, I'm perplexed to know why that is. For people who want to demonstrate a combo or a situation, this feature can be very useful.



Replays are recorded by tracking player input. AI script does not produce player input. This complicates things significantly, from what I understand. I do not know all the inner workings of the AI, but massive changes have to be implemented to make the AI either simulate player input, or to track the AI decisions in a different way somehow. Also, since the AI script updates quite regularly, and people might have local differences in AI scripts, this causes additional problems. My own AI script is pretty much constantly different from the official version as I apply fixes, so the replay files must be either independant of the local AI script, or store the AI scripts in the replay.

Anyway, it would be complicated, a lot of work, and it doesn't have a high priority. I agree, that it would be very useful for AI debugging. But I can understand, why its not implemented yet.
AntiMetaman
2015-09-30T13:32:52Z
Originally Posted by: Snarky 

AI script does not produce player input. This complicates things significantly, from what I understand. I do not know all the inner workings of the AI, but massive changes have to be implemented to make the AI either simulate player input, or to track the AI decisions in a different way somehow. Also, since the AI script updates quite regularly, and people might have local differences in AI scripts, this causes additional problems. My own AI script is pretty much constantly different from the official version as I apply fixes, so the replay files must be either independant of the local AI script, or store the AI scripts in the replay.



Why can't the data be tracked and stored in a different folder location? Replays are generated in the replays folder. Even if local changes are made to the AI, it should not disturb the replay functionality. If updates to the AI are made, then people can simply download them but should still not alter the input from the AI I think. When ygopro updates, previous replays don't work anymore, but that's just because of newer scripts. When the AI updates, aren't those changes specific to the AI and not have anything to do with recording?
Snarky
  • Snarky
  • Advanced Member Topic Starter
2015-09-30T14:22:07Z
Originally Posted by: AntiMetaman 


Why can't the data be tracked and stored in a different folder location? Replays are generated in the replays folder. Even if local changes are made to the AI, it should not disturb the replay functionality. If updates to the AI are made, then people can simply download them but should still not alter the input from the AI I think. When ygopro updates, previous replays don't work anymore, but that's just because of newer scripts. When the AI updates, aren't those changes specific to the AI and not have anything to do with recording?



Depends on the realization. If you make the AI generate player input to store in the replay, or if you only track the AI output, then the replay would be independent. That would make the most sense probably. But maybe that is not possible, and the AI script has to be run based on stored player input or something.
AntiMetaman
2015-09-30T14:49:48Z
Originally Posted by: Snarky 


Depends on the realization. If you make the AI generate player input to store in the replay, or if you only track the AI output, then the replay would be independent. That would make the most sense probably. But maybe that is not possible, and the AI script has to be run based on stored player input or something.



It should be independent and I think it is possible. While the AI is running, it is recording player input since the AI script is based on that, but a different location is tracking player input and AI input and that data can be used to generate the replay.
kenpazaraki
2015-09-30T19:40:57Z
Hi Snarky, is it possible to improve the way the AI deals with the opponent's scale? Right now it destroys a scale only when its effect is activated or when the 2nd one is played.
Imho, a better logic could be:
The AI decides to pop a scale if
1) There are scales whose difference is 2 or more
2) One scale is Insight Magician and the other is a Magician
3) One scale is Luster Pendulum, the Dracoslayer
4) Both scales are Yosenju Shinchu R
5) When a scale activates its effect
In these cases the AI chooses to pop respectively:
1) A random scale
2) Insight Magician
3) Luster Pendulum, the Dracoslayer
4) Yosenju Shinchu R
5) The scale that activates its effect
And maybe add an exception for Performage Flame Mascot, so that it doesn't pop it unless it has exausted any other viable move.
I don't know if all this is doable, but it would be nice to have an AI that can't be tricked into popping a useless scale.

EDIT: Another thing. Is it possible to implement a logic that makes the AI use the opponent's Chicken Game. Something like this is probably more than enough:
1) If the AI has more LP than the opponent and can deal damage to the opponent, pop Chicken Game
2) In any other case, draw (unless it has less than X LP or less than Y cards in the Main Deck, in that case not using it is probably the right move)
Again, I don't know if it's doable, but right now is almost impossible for the AI to win if the opponent has Chicken Game on the field.
salvadorc17
2015-09-30T19:42:36Z
Quote:


Attack logic issues:
using monsters with very low ATK to attack into face-down defense position monsters



I had got so much times this error, sometimes when ai had only monster with lower ATK it does it without thinking about that my monster DEf could be higher, and ai hurts itself like trol.


Also there is a common issue Ai destroying his own trap cards, which something like MST when i have no cards in the field, and for monsters using Torrential Tribute..

Snarky
  • Snarky
  • Advanced Member Topic Starter
2015-09-30T20:02:07Z
Originally Posted by: kenpazaraki 

Hi Snarky, is it possible to improve the way the AI deals with the opponent's scale? Right now it destroys a scale only when its effect is activated or when the 2nd one is played.


Thanks for the feedback and the concrete logic. I'll look into it.

Quote:

Another thing. Is it possible to implement a logic that makes the AI use the opponent's Chicken Game.


Forgot about that, will be added.

Originally Posted by: salvadorc17 


I had got so much times this error, sometimes when ai had only monster with lower ATK it does it without thinking about that my monster DEf could be higher, and ai hurts itself like trol.


I did find an error in the part handling that. So this specific issue might be fixed in 0.31a, but I didn't test it thoroughly yet.

Quote:


Also there is a common issue Ai destroying his own trap cards, which something like MST when i have no cards in the field, and for monsters using Torrential Tribute..


When does this happen? I did not notice an MST misfire in a long time, and Torrential seems to be used somewhat decently as well. Do you have a screenshot, or steps to reproduce? Did you notice an error message? I know of an issue in the Magician script, that makes Dragonpit Magician target its own cards with the discard effect, but MST seems to work just fine.

Snarky
  • Snarky
  • Advanced Member Topic Starter
kenpazaraki
2015-10-06T07:05:21Z
Hi Snarky, I found 2 things that don't work properly.
1) Dust Tornado is used to destroy Normal Spells and such
2) When I attack a Nekroz monster and the AI has both Valkyrus and Gungnir, both are activated at the same time

I don't know if you already fixed these issues in the experimental versions, I'm currently using v0.31 for Android.
Snarky
  • Snarky
  • Advanced Member Topic Starter
2015-10-06T13:38:54Z
Originally Posted by: kenpazaraki 


1) Dust Tornado is used to destroy Normal Spells and such


Dust Tornado is not supported yet, no AI deck uses it at the moment, as far as I am aware.
Quote:


2) When I attack a Nekroz monster and the AI has both Valkyrus and Gungnir, both are activated at the same time


I tried to fix that at some point, but it might still be a problem. I'll look into it.

kenpazaraki
2015-10-06T19:26:25Z
Dust Tornado is in the AI_Yugi deck, actually.
About the 2nd problem, it may be possible to circumvent it by adding some conditions to the individual cards. As I see it, the simplest way to make it work is to use Gungnir only to prevent destruction by a card's effect. A better logic could be implemented, but that would require taking into account cards that modify the ATK of monsters (particularly Honest and Limiter Removal) and to compare the AI's LPs to the ATK difference, so it would be much more complicated.
Another thing that I noticed is that the AI tends to use Unicore too early or to use it as an XYZ Material when it would be more useful to keep it on the field. Since the AI doesn't know what the opponent plays it should avoid making a turn 1 Unicore and it should not use it as an Xyz Material if the opponent has a monster summoned from the Extra Deck (idk if that's feasible).
The last thing I noticed is that the AI tends to use Valkyrus's tributing effect too much, like making a turn 1 Unicore and Valkyrus just to tribute them. The simplest way to solve this issue would be to make a blacklist of monsters that Valkyrus shouldn't tribute (that should include at least any Ritual Nekroz in the hand, any Manju/Senju in the hand, any Ritual Nekroz on the field excluding Trishula), while prioritizing Manju/Senju on the field as tributes.
Snarky
  • Snarky
  • Advanced Member Topic Starter
2015-10-06T20:40:29Z
Originally Posted by: kenpazaraki 

Dust Tornado is in the AI_Yugi deck, actually.


Oops. Sorry, I pretty much never use the character decks :)

Quote:


Another thing that I noticed is that the AI tends to use Unicore too early or to use it as an XYZ Material when it would be more useful to keep it on the field. Since the AI doesn't know what the opponent plays it should avoid making a turn 1 Unicore and it should not use it as an Xyz Material if the opponent has a monster summoned from the Extra Deck (idk if that's feasible)


Yeah, the Nekroz logic could use an overhaul maybe. But I am not a very good Nekroz player myself, and the AI has a hard time handling all that search. A good Nekroz player can sculpt his hand pretty much to his liking, for the AI it is really hard to consider all the searches it has access to right now. I'll try to improve on that at some point.
Quote:


The last thing I noticed is that the AI tends to use Valkyrus's tributing effect too much, like making a turn 1 Unicore and Valkyrus just to tribute them. The simplest way to solve this issue would be to make a blacklist of monsters that Valkyrus shouldn't tribute (that should include at least any Ritual Nekroz in the hand, any Manju/Senju in the hand, any Ritual Nekroz on the field excluding Trishula), while prioritizing Manju/Senju on the field as tributes.



This was based around the playstyle, when Nekoz were everywhere, and you would always clear your field with Valkyrus to enable your spells from grave and not allow your opponent to go Trishula. Again, I'll try to improve it.


kenpazaraki
2015-10-06T20:52:16Z
Thank you for your answers. I rarely use characters' decks myself, unless they come out at random, and in that case I usually surrender 🙂.
About the Nekroz logic, I get what you're saying, besides it's not like its logic and plays are overall bad, it's just that with it being an AI deck most people use it to test things, so I think it should play without much consideration to the meta and the ways of thinking that go with it, but more on a turn-to-turn basis, so that it plays at a reasonably satisfying level against most decks, meta or not.
Snarky
  • Snarky
  • Advanced Member Topic Starter
2015-10-06T22:47:08Z
Originally Posted by: kenpazaraki 


About the Nekroz logic, I get what you're saying, besides it's not like its logic and plays are overall bad, it's just that with it being an AI deck most people use it to test things, so I think it should play without much consideration to the meta and the ways of thinking that go with it, but more on a turn-to-turn basis, so that it plays at a reasonably satisfying level against most decks, meta or not.



I agree. Ideally, it should be able to adapt to your opponent's deck and make plays accordingly. I am currently in the process of updating the AI_Shaddoll deck with the "new" cards like El-Shaddoll Fusion and the currently unused fusion monsters, probably switching the accompanying engine from Artifacts to Clowns/Performages as well, as they are probably the most consistent engine currently in use.

I also plan on including some rudimentary logic to detect the opponent's deck, so for Shaddolls specifically, it would be more likely to play Anoyatilis, if it detects a Nekroz opponent, and it might prefer Abyss Dweller against BA, Mermails and the like. Not sure yet, how that will turn out.


Rhonindex86
2015-10-06T23:45:46Z
It may have just been because something in an older version of YGOPRO was to blame, however, I encountered a virus detected by my norton antivirus described as WS.reputation1 or something like that. I've encountered the same before related to another program or modification to one but just wanted to let you know. As for now, I have deleted and am reinstalling the newest update clean install...