Page 1 of 2

50%

PostPosted: 12 Jun 2014, 13:58
by ShawnieBoy
With the latest push of cards (A bunch of land-animating spells/abilities) that puts us at the 50.0% mark of all tournament legal cards playable by the AI!

Kudos to all who have submitted cards, and of course to Melvin for keeping this whole thing rolling! There's still cards out there that the AI can already handle ;)

Re: 50%

PostPosted: 12 Jun 2014, 17:32
by Huggybaby
Thank you!

Re: 50%

PostPosted: 12 Jun 2014, 23:33
by Lodici
Well done! =D> Since I joined this project I have seen how much hard work has gone on behind the scenes from shawnie and melvin to extend the card pool without compromising the AI. So this is a significant milestone.

And at least now you are on the homestretch! :wink:

Re: 50%

PostPosted: 26 Jul 2014, 20:25
by PalladiaMors
No longer relevant, outdated, see the new topic.

Re: 50%

PostPosted: 26 Jul 2014, 20:56
by ShawnieBoy
Nice bit of research :)

It could be a handy resource for people wanting to add new cards, and what to not try banging your head against unless you look at the underlying engine instead of simply groovy code or scripts. Lots of these have been mentioned in the issues and in the forums, but having them in one place helps. I did have a cheat sheet which I've not updated for a while since looking at the wiki. Could add a page on there.

I can add some information too:

As far as development goes, the complications involved with Banding (And the current combat damage being assigned by the blocker instead of the attacker anyway), isn't worth the effort until the combat damage and blocking is more expanded... Leading to

Provoke - Forcing or denying blocking to particular creatures isn't currently possible. (Can only be blocked by 2 or more, must be blocked etc. Along with can block additional creatures)

Entwine - Can also add Split, Flip, Transform and to a lesser extent Morph cards as well to that list. Cards with multiple types/costs/abilities etc. Would have to work out how they would properly work as each half (Except morph of course) is listed as a separate card. I could probably see Morph, Flip and Transform being more easily implemented than Split-spells. There's additional problems with spells with different colors and costs when in hand, on stack, in graveyard etc. as well as being two cards in one.

Even though this is a list of things that can't be done yet - that doesn't limit the amount of cards that are still do-able. As well as cards in the scripts_missing folder that already work as they are written, just need to be found and moved into the scripts folder. Found another one the other day - Forced Worship.
Just need to add the following to it.
Code: Select all
enchant=can't attack,neg creature
Like so:
Code: Select all
name=Forced Worship
image=http://mtgimage.com/card/forced%20worship.jpg
value=2.500
rarity=C
type=Enchantment
subtype=Aura
cost={1}{W}
ability=Enchanted creature can't attack.;\
        {2}{W}: Return SN to its owner's hand.
timing=main
enchant=can't attack,neg creature
oracle=Enchant creature. Enchanted creature can't attack. {2}{W}: Return Forced Worship to its owner's hand.
Along with Oran-Rief Recluse and Verduran Emissary

Re: 50%

PostPosted: 27 Jul 2014, 00:36
by PalladiaMors
No longer relevant.

Re: 50%

PostPosted: 27 Jul 2014, 02:53
by melvin
Thanks for doing the research, it is helpful to know how many cards can be enabled by supporting a particular mechanic.

PalladiaMors wrote:The majority of the missing cards come from two groups that the card requests topic clearly states that can't be currently coded.
I think the above point is a bit misleading, the majority of missing cards is missing because no one has worked on them NOT because they can't be implemented.

Missing cards is all the cards that are in MTG not in Magarena, they can be further categorized as
    1) cards that can be implemented (the majority)
      a) with only card script (just the .txt file, likely the one in scripts_missing works as is or needs some small adjustments)
      b) with card script and groovy script (both .txt file and .groovy file)
    2) cards that can't be implemented
      Your post describes this category, the unimplementable cards. I think it is a great idea to let card scripters know which cards to avoid as there is lots more that can be done in the first category of implementable cards.

Re: 50%

PostPosted: 27 Jul 2014, 03:41
by PalladiaMors
Yes, you're completely right, that sentence is absolutely mistaken. I suppose it was possible to gather that from the context - I do say later on that those two card groups add up to about "several hundred, perhaps over a thousand" cards, which obviously does not add up to the majority of the ~7k missing cards. So I contradicted the statement you quoted further ahead in the post, exposing my own mistake, which would have alerted readers about it. I'm sorry, it was a long post and I was working on doing the searches and ended up getting confused with the text. By the way, "several hundred, perhaps over a thousand" is a pretty imprecise estimate, I could take the time to search for card texts and gather a more precise number, but I'm not sure that would be particularly useful.

Rest no longer relevant.

Re: 50%

PostPosted: 27 Jul 2014, 05:24
by melvin
PalladiaMors wrote:"several hundred, perhaps over a thousand" is a pretty imprecise estimate, I could take the time to search for card texts and gather a more precise number, but I'm not sure that would be particularly useful.
The total number unimplementable cards is not that useful, if you can break it down by mechanic it will be helpful in prioritizing what to add. We might discover some mechanics that are simple to support and will allow us to make a lot of card implementable.

PalladiaMors wrote:What I have to understand is: if the added card does not work, will I always receive an error message when I try to start the duel?
Let me put it this way: if you get an error message when starting a duel with the new card, it definitely doesn't work. If there is no errors, it is probably working. Please play around with it to make sure all the abilities work as expected then submit it via http://www.firemind.ch/

Do note that the card listed on https://code.google.com/p/magarena/wiki/UpcomingCards have already been added for the next release.

Re: 50%

PostPosted: 27 Jul 2014, 15:30
by ShawnieBoy
melvin wrote:
PalladiaMors wrote:What I have to understand is: if the added card does not work, will I always receive an error message when I try to start the duel?
Let me put it this way: if you get an error message when starting a duel with the new card, it definitely doesn't work. If there is no errors, it is probably working. Please play around with it to make sure all the abilities work as expected then submit it via http://www.firemind.ch/

Do note that the card listed on https://code.google.com/p/magarena/wiki/UpcomingCards have already been added for the next release.
As another note (Sorry to not get back quick enough) - If the script causes an error, or if when playing with the card it's not working as it should. Don't delete it! Just put it back into the scripts_missing folder.

The scripts_missing files are essentially completing the catalogue of Magic cards, and are used to show them in the Card Explorer. If the file isn't in the scripts_missing folder, or the scripts folder, it won't appear in the Card Explorer at all.

If you're unable to submit the file via Firemind, due to it being a newer card. Just send a message to the Card Submissions thread that a particular card already works.

Re: 50%

PostPosted: 31 Jul 2014, 14:55
by melvin
I've managed to use a single run of Magarena to automatically parse each of the cards in scripts_missing and either successfully load the card or report an error.

This helped to find some bugs in the current rules parsing that were too broad and allowed rules text that were not actually working. It has been very helpful in identify small extensions to the card script that will enable more cards.

The attached file shows errors and the corresponding cards, sorted by errors.

Re: 50%

PostPosted: 31 Jul 2014, 16:50
by ShawnieBoy
An amazing list - I'm guessing an inverse of this parse run in the scripts_incomplete will be able to automatically identify cards that are already working and so be put into the scripts folder :D

Re: 50%

PostPosted: 31 Jul 2014, 18:24
by Huggybaby
Damn, when's the last time I saw a 1MB text file? :lol:

Re: 50%

PostPosted: 31 Jul 2014, 19:11
by jerichopumpkin
last time I've seen something like this, it was the Ogre Battle complete walkthrough, with the unbroken record of 3(!!!)MB...

Re: 50%

PostPosted: 29 Aug 2014, 11:51
by ShawnieBoy
Well, we have another card count milestone:

Now over 8,000 cards!

Thanks to everyone who's submitted scripts + groovy