It is currently 24 Apr 2024, 01:09
   
Text Size

Cards the AI can use

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

Cards the AI can use

Postby mtgrares » 09 Mar 2009, 19:20

I think I can quickly generate a listing of all the cards that the AI cannot fully use. The listing would only be cards that the AI cannot fully use, for example, the AI can play a creature but can't use that creature's activated ability, so the card would be listed. And maybe the Deck Editor could read this list and show the user this information.

Cards the AI Cannot Fully Use
Nical Bolas Planeswalk
Sensei's Divining Top
etc...
mtgrares
DEVELOPER
 
Posts: 1352
Joined: 08 Sep 2008, 22:10
Has thanked: 3 times
Been thanked: 12 times

Re: Cards the AI can use

Postby DennisBergkamp » 09 Mar 2009, 19:30

Yes, I think it would be cool to have some list (alphabetical?) of cards the AI cannot correctly use.
AI code Nicol Bolas, Planeswalker should be fixed by now though :)
User avatar
DennisBergkamp
AI Programmer
 
Posts: 2602
Joined: 09 Sep 2008, 15:46
Has thanked: 0 time
Been thanked: 0 time

Re: Cards the AI can use

Postby mtgrares » 19 Mar 2009, 18:34

I thought there was an easy way to check to see if the AI could play a card but there isn't since the canPlayAI() code for Wrath of God actually looks at the game board. Maybe a program could scan CardFactory.java and see what cards have "return false" or a person look through the file manually.
mtgrares
DEVELOPER
 
Posts: 1352
Joined: 08 Sep 2008, 22:10
Has thanked: 3 times
Been thanked: 12 times

Re: Cards the AI can use

Postby DennisBergkamp » 19 Mar 2009, 18:50

I did something similar to this already, some piece of code that goes through all cards and for each of the spellAbilities associated with the card, it will return "Y" (if it's a definite true returned) or "?" (if the return value is either false or depending on whatever condition). Then all results are concatenated into a string, for example, Ajani Goldmane would return "YY?Y" (Yes for the permanent itself, Yes for its first ability, in this case No for its second ability, Yes for its third ability).

I added this into the deck editor, but then we kind of decided it wasn't really worth having this, since even if a canPlayAI() method would return true, in a lot of cases the card still wouldn't be played correctly by the AI. Or, it would just return a "?" even though the AI can definitely play the ability.
Someone would have to go through manually, and note which cards/abilities can be used correctly by the AI.
User avatar
DennisBergkamp
AI Programmer
 
Posts: 2602
Joined: 09 Sep 2008, 15:46
Has thanked: 0 time
Been thanked: 0 time


Return to Forge

Who is online

Users browsing this forum: No registered users and 78 guests


Who is online

In total there are 78 users online :: 0 registered, 0 hidden and 78 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: No registered users and 78 guests

Login Form