50%
by ubeefx
Moderators: ubeefx, beholder, melvin, ShawnieBoy, Lodici, CCGHQ Admins
50%
by ShawnieBoy » 12 Jun 2014, 13:58
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
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
-
ShawnieBoy - Programmer
- Posts: 601
- Joined: 02 Apr 2012, 22:42
- Location: UK
- Has thanked: 80 times
- Been thanked: 50 times
Re: 50%
by PalladiaMors » 26 Jul 2014, 20:25
No longer relevant, outdated, see the new topic.
Last edited by PalladiaMors on 24 Apr 2015, 21:02, edited 52 times in total.
- PalladiaMors
- Posts: 343
- Joined: 12 Jul 2014, 17:40
- Has thanked: 36 times
- Been thanked: 22 times
Re: 50%
by ShawnieBoy » 26 Jul 2014, 20:56
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.
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
- 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.
-
ShawnieBoy - Programmer
- Posts: 601
- Joined: 02 Apr 2012, 22:42
- Location: UK
- Has thanked: 80 times
- Been thanked: 50 times
Re: 50%
by PalladiaMors » 27 Jul 2014, 00:36
No longer relevant.
Last edited by PalladiaMors on 24 Apr 2015, 21:03, edited 1 time in total.
- PalladiaMors
- Posts: 343
- Joined: 12 Jul 2014, 17:40
- Has thanked: 36 times
- Been thanked: 22 times
Re: 50%
by melvin » 27 Jul 2014, 02:53
Thanks for doing the research, it is helpful to know how many cards can be enabled by supporting a particular mechanic.
Missing cards is all the cards that are in MTG not in Magarena, they can be further categorized as
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.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.
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)
- 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.
-
melvin - AI Programmer
- Posts: 1062
- Joined: 21 Mar 2010, 12:26
- Location: Singapore
- Has thanked: 36 times
- Been thanked: 459 times
Re: 50%
by PalladiaMors » 27 Jul 2014, 03:41
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.
Rest no longer relevant.
Last edited by PalladiaMors on 24 Apr 2015, 21:03, edited 1 time in total.
- PalladiaMors
- Posts: 343
- Joined: 12 Jul 2014, 17:40
- Has thanked: 36 times
- Been thanked: 22 times
Re: 50%
by melvin » 27 Jul 2014, 05:24
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:"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.
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/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?
Do note that the card listed on https://code.google.com/p/magarena/wiki/UpcomingCards have already been added for the next release.
-
melvin - AI Programmer
- Posts: 1062
- Joined: 21 Mar 2010, 12:26
- Location: Singapore
- Has thanked: 36 times
- Been thanked: 459 times
Re: 50%
by ShawnieBoy » 27 Jul 2014, 15:30
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.melvin wrote: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/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?
Do note that the card listed on https://code.google.com/p/magarena/wiki/UpcomingCards have already been added for the next release.
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.
-
ShawnieBoy - Programmer
- Posts: 601
- Joined: 02 Apr 2012, 22:42
- Location: UK
- Has thanked: 80 times
- Been thanked: 50 times
Re: 50%
by melvin » 31 Jul 2014, 14:55
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.
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.
- Attachments
-
- parse_missing.txt
- (1.01 MiB) Downloaded 300 times
-
melvin - AI Programmer
- Posts: 1062
- Joined: 21 Mar 2010, 12:26
- Location: Singapore
- Has thanked: 36 times
- Been thanked: 459 times
Re: 50%
by ShawnieBoy » 31 Jul 2014, 16:50
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
-
ShawnieBoy - Programmer
- Posts: 601
- Joined: 02 Apr 2012, 22:42
- Location: UK
- Has thanked: 80 times
- Been thanked: 50 times
Re: 50%
by jerichopumpkin » 31 Jul 2014, 19:11
last time I've seen something like this, it was the Ogre Battle complete walkthrough, with the unbroken record of 3(!!!)MB...
- jerichopumpkin
- Posts: 212
- Joined: 12 Sep 2013, 11:21
- Has thanked: 19 times
- Been thanked: 13 times
Re: 50%
by ShawnieBoy » 29 Aug 2014, 11:51
Well, we have another card count milestone:
Now over 8,000 cards!
Thanks to everyone who's submitted scripts + groovy
Now over 8,000 cards!
Thanks to everyone who's submitted scripts + groovy
-
ShawnieBoy - Programmer
- Posts: 601
- Joined: 02 Apr 2012, 22:42
- Location: UK
- Has thanked: 80 times
- Been thanked: 50 times
23 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 43 guests