What I considered doing to fix this problem was actually use rarities. That is, commons are x4 in the cube, uncommons are x3, rares are x2, and mythics are x1. This leads to more expensive print run, but it allows you to manipulate the cards by moving absurd things up and necessary things (REMOVAL!) down in rarity.
I considered that too, but decided not to because in this goofy format, the more variety, the better. I think if I get to do the vote on/off process a few times, we'll beef up some needed niches by iteration.
How many times do you think you'll do the voting process?
By the way, I've officially 'released' Hunter. I made the post on Reddit because the software forum here is dead as a doornail. There's still work to be done on Hunter, but for the most part it's perfectly useable.
How many times do you think you'll do the voting process?
Actually, after playing another draft yesterday, I think I'm not going to do that after all. A big chunk of the fun is the novelty of the things--"creature gets +2/+2 and has feel" is hilarious the first time you see it, but next time around it merits no more than a smile and a nod.
I doubt I'll get to do this sort of thing on anything approaching a regular basis (I only got to pull this off due to a local games convention), but if I were, I'd try this: have the RNN output enough cards for a cube. Print 'em and go. At the end of the draft, each player picks perhaps five of their favorite cards; those go into the next cube, but the rest gets generated brand new.
I PMed you a link to the MSE2 file with artwork. It's like a first draft, of course, and someone (volunteers?) should clear the task of printing them on playtest cards with the artists so they're in the loop and cool with private screwing around.
Here's a few examples from the file:
I tried hard to match the card name, creature type, and abilities to something that made sense. This sometimes had weird results.
Other times, we could just do something super-literal.
And on others, something surreal or abstract seemed to match the tone of the set.
On the multicolored cards, I used full-frame universally.
Well, I wont do that until the artists say it's ok. After that, same as you, I imagine. I'll have a computer-generated-cube that I can play at home with buddies.
Oh god, the art for Dunelog practically had me in tears. And the art for Ancient Donger is perfect. The bells help it all make sense, lol.
Speaking of art, I'm rerunning the training process to condition the generator on the card vectors. Well, part of the card vectors. I left off the body text because that just muddies the waters too much (there's a correlation between "flying" in the bodytext and the artwork, but not so much "enters the battlefield tapped", etc.). I have to make sure I did everything right, do some tests, etc. But I'll let y'all know how it turns out.
Oh, if you like cards where I found artwork to tie it together, you might like some of these, too.
Or, just silly ones:
While tweaking rarities, I noticed that the Roborosewater set was heavily skewed towards Green. So, I've combed through the thread to flesh out the other colors and will keep tweaking to even things out.
I always thought Tromple and Mointainspalk were meant to be Slidshocking Krow's downsides to try and make in balanced.
Maybe the opposite of trample and mountainwalk? Can only block damage up to its toughness, and can't attack opponents who control a mountain-- That could work actually.
I like Tromple better as: "If this creature would deal lethal damage to another creature, any remaining damage is applied to the controller of Slidshocking Krow."
With that, and the Mountainspalk restriction being it can't attack into Mountains, I think it's actually a fair card.
Also, I finished updating the MSE2 set version of this last night by balancing the colors and updating some of the artwork a bit. I had to dig really deep into this thread to find more Blue and Black cards, and even then, I had to cut a lot of Green cards. Roborosewater LOVES GREEN SO MUCH. I also did some preliminary work on rarity. Keeping with the New World Order, I ensured that all the nonsense cards that are likely to prompt debate were moved to uncommon or higher. And, the really broken cards were at least Rare or Mythic.
EDIT: I am also HIGHLY SUSPICIOUS that some of the Blue and Black cards from this thread were tweaked by the authors and were not simply the raw output from the Neural Net. Like, there was a Blue Serpent creature that was almost word-for-word perfect as a generic needs-islands-to-attack serpent. I tried to exclude those.
I know there are some cases where people have edited, but there are also cases where NNs with particular parameters get cautious and clone existing cards, only putting different names on them. It's tough to tell!
I know that if I edited a card from the original RNN text, I mentioned it in my description. @Anyone who's making a cube of RNN cards, I'd happily throw money at you guys if you got them printed on decent quality cardstock and shipped to Canada. I'd love to bring these to a LGS and play them.
Off topic, but my search engine Hunter got a major update today. I made a reddit post here to clarify what got fixed/improved. Next stop: comments/ratings/prices! Might take a while though. If anyone plays around with it, let me know what works/doesn't work.
EDIT: I am also HIGHLY SUSPICIOUS that some of the Blue and Black cards from this thread were tweaked by the authors and were not simply the raw output from the Neural Net. Like, there was a Blue Serpent creature that was almost word-for-word perfect as a generic needs-islands-to-attack serpent. I tried to exclude those.
I guarantee you that that is evidence of the opposite. If you have a phrase in the corpus that is almost always used in a particular context or in a particular way, the network can overfit and assume that it must always be that way, and will memorize the words verbatim. For example, if I try...
|serpenty serpent||creature||serpent|O|&^^^^/&^^^^|{^^UU^^}|@ can't attack unless defending player controls an island.\{^^UU}: tap target creature and gain control of it until end of turn. that creature gains haste until end of turn.|
|serpenty serpent||creature||serpent|O|&^^^^/&^^^^|{^^UU^^}|@ can't attack unless defending player controls an island.\{^UU}: @ can't be blocked this turn.|
|serpenty serpent||creature||serpent|O|&^^^^/&^^^^|{^UU^^^}|@ can't attack unless defending player controls an island.\{UU}, sacrifice an island: put a &^/&^ green saproling creature token onto the battlefield.|
|serpenty serpent||creature||serpent|O|&^^^^^/&^^^^^|{^^^UU^^}|@ can't attack unless defending player controls an island.\when you control no islands, sacrifice @.|
|serpenty serpent||creature||serpent|O|&^^^/&^^^|{^UU^^^}|flying\{^^^}, return a land you control to its owner's hand: uncast target spell unless its controller pays {^} for each card in your hand.|
|serpenty serpent||creature||serpent|O|&^^^^^/&^^^^^|{^^UU^^^}|@ can't attack unless defending player controls an island.\{^UU}: @ can't be blocked this turn.|
|serpenty serpent||creature||serpent|O|&^^^^^/&^^^^^|{^^UU^^^}|@ can't attack unless defending player controls an island.\{^^UU}: tap target creature an opponent controls.|
|serpenty serpent||creature||serpent|O|&^^^^^/&^^^^^|{^^UU^^^}|@ can't attack unless defending player controls an island.\{^^^^^^}, T: search your library for a basic land card, reveal it, and put it into your hand. then shuffle your library.|
|serpenty serpent||creature||serpent|O|&^^^^/&^^^^|{^^UU^^^}|morph {^^^^^^^}|
|serpenty serpent||creature||serpent|O|&^^^^^/&^^^^^|{^^UU^^^}|@ can't attack unless defending player controls an island.\when you control no islands, sacrifice @.\{WW}: @ gains flying until end of turn.|
|serpenty serpent||creature||serpent|O|&^^^/&^^^|{^^UU^^}|flying\{^^^}, return a land you control to its owner's hand: uncast target spell unless its controller pays {^} for each card in your hand.|
It happens for the same reason that dragon cards usually have flying. It's not that the network knows that dragons are winged creatures and it would make sense for them to fly, it's that the characters "f l y i n g" in the body text often follow the characters "d r a g o n" in the subtype line.
I assure you that, as a rule, I don't touch the cards. Infecting the results with my own ideas would defeat the purpose of the whole experiment, lol. For the same reason, I'm still working out the graphics thing, so I can get art for cards without having to assign art myself. Ran into a small bug earlier in the week with the model, something's not getting loaded properly when I try and restore the model for sampling. I think it's an issue of my own making though. I'll get it resolved.
I should also say that I'm really excited about how far the Hunter project has come along.
EDIT: If you wanted a Turing test for authenticity of cards, suspicious for me would be a card that is significantly longer than about 160 characters or so, because the network hates run-ons. For the same reason, it can't generate complete planeswalkers or sensible flip cards. That and it's unlikely (though not impossible) for the network to produce cards with multiple interconnected or highly related abilities (aside from "add a charge counter"/"remove a charge counter", etc.). For example, Brimaz, King of Oreskos is unlikely to be produced (unless it's overfitting), simply because the network's attention span and its limited comprehension of the semantics of cards pose significant challenges when it comes to sustained, meaningful creation.
I'm not willing to wade through 110 pages in search for one, but I'm curious, is the a collection of all the generated cards, like RRW has? If so, can you provide a link?
I found myself wondering if it might work to have a network try to generate an entire deck, from the cards up, for each thing. One the one hand, the individual entries become huge. On the other hand, there are many more possible decks than extant cards. I'm not sure what kind of power it would take to run a character-level network (or some kind of multi-set of parse trees structure) that goes all the way up to decks, but I feel like it would offer another angle on the design space. Like, the cards in a deck have to have positive interactions with each other. So, a deck-fabricating AI would need to somehow encode knowledge of card interactions. Prime it with a card or set of cards, and it can try to figure out what kinds of cards would work with that card, while also having a sensible power level.
Well for those of you who wanting to do a cube draft, I've still been working a lot at setting mine up; I am currently up to 227 cards, not including lands/artifacts.
I've been busy with a bunch of side projects but I'm trying to set this all up in time for my bachelor party. I'm trying to get an updated version of the corpus encoded in hardcast6drop's format, but for the life of me I can't seem to get it to output the file (my unfamiliarity with linux commands makes this tedious as all hell). If anybody has the encoded corpus that includes up to the new Innistrad set please let me know. Aside from that I do not have a complete collection of the cards posted anywhere but I've included a snapshot of my excel document I'm using to keep track of card count.
Well for those of you who wanting to do a cube draft, I've still been working a lot at setting mine up; I am currently up to 227 cards, not including lands/artifacts.
I've been busy with a bunch of side projects but I'm trying to set this all up in time for my bachelor party. I'm trying to get an updated version of the corpus encoded in hardcast6drop's format, but for the life of me I can't seem to get it to output the file (my unfamiliarity with linux commands makes this tedious as all hell). If anybody has the encoded corpus that includes up to the new Innistrad set please let me know. Aside from that I do not have a complete collection of the cards posted anywhere but I've included a snapshot of my excel document I'm using to keep track of card count.
I had wondered about it too until I saw the Awaken mechanics from Battle for Zendikar. Awaken has you put +1/+1 counters on a land, THEN it becomes a creature (that is still a land). I suppose this works the same way, just one is an activated ability.
@Talcos, aw you are the man. This is just what I was hoping for. And thanks for the congratulations, I'm looking forward to getting married. To help celebrate I intend to release the draft for everybody else to enjoy as well. Over the next few days I'll host up an up-to-date version of my current pile of cards. Although incomplete, it gives you a good idea of what my RNN churns out.
Wow, some of those lands are really interesting, would Goblin Power Plant retain the counters when it became a creature? Not sure if lands can have +1/+1 counters
Okay, I think I've done all I care to, finally. Went back and balanced the colors and rarities, fixed some artwork that was in use elsewhere, got more fitting artwork, and it's looking pretty fun now.
I'll PM the new set.
Some examples:
Took me awhile to find something that looked like a land or building AND something that could shoot at you.
Zombie elephants are easier to find that you'd think.
Green removal that reminds you that it's still a land...? Yeah, sounds like Curse of the Dryad to me.
Try to find an image of a wolf. That is an Ooze. That you might name "But Wolf." Quite a doozy...
That one.
A snake lord that is not a snake... something elemental... well, the biblical theme works, right?
It's an elf... warrior... wall... thing? Okay, it's an egg that hatches into an evil elf warrior mutant, lets say.
Soldier gets waterbreathing, so sure, that makes sense. Surf's up!
Bird themed re-animator... bingo!
So, what kind of human would just choose a creature for it's mana cost? An artist!
Since artist contacts will be a big job, and it might be easier to play online, I'll look into MSE2->Cockatrice converters for the time being. That might be the best way to do this unless the artists were all cool. Also, I tried working on a card back, and it's HARD. Did you know Roborosewater is a LONG WORD and it's hard to make it look good on a card horizontally? Yeesh.
EDIT: Hah! This utility https://www.dropbox.com/s/ouzk0av49q3jy4d/magic-cockatrice.mse-export-template.zip totally works! I got Roborosewater up and running in Cockatrice. However, it does involve a little bit of mucking around with the directories and an XML file, so it's not plug and play. Anyway, if someone wants to jam this, download this and PM me for the set.
So, a fellow MTGSalvationer and I managed to get Roborosewater up and running on Cockatrice and we did a Battle Box game with it. (Use all cards from the set as your deck, make a token basic land of your choice each turn.) Worked better than you might expect!
I started with a Noxlo Greater followed up by Vraska, the Ox that stopped my opponent in his tracks for awhile. Opponent landed that red 3RR enchantment that let him sacrifice a creature to deal 2 damage to another creature, which later proved critical. I built up my board while he tried to cast Onoch Wall, only to get stymied by Thra (turns out Onoch Wall has the same name as Onoch Wall). I landed that 1cc black guy who makes the opponent reveal their hand and then sacrifice three dudes; but he used his red enchantment (infinite winds?) to kill it off. Then, he got a copy of the Goblin that destroys both players when it dies, and we boardstalled.
I build up to cast that green enchantment that makes the opponent "skip" their library, and followed it up with a Human Wizard that I could pay G to kill everything and have us draw 7 cards (seemed good!). But... he got his own copy of the 1cc black reveal-hand-sac-3 dork, and by combing with Noxlo, was able to wipe my board clean before I could go off! He then cast a spell that gave his one flying creature +3/+3 for each creature he controlled and swung for lethal...
...but he sacrificed his suicide goblin before I died to kill everyone.
Alright so this is a work in progress of my full cube draft, and in retrospect I really need to resize all of these to be smaller images. But for now, anybody who wants to take a peek at the creatures I've done, here's the set so far: https://www.dropbox.com/s/z1mvufjx3fesl2x/MagicboxRNN Creatures Beta.rar?dl=0
I'll be able to upload a set of the non-creature spells by the end of the night.
I'm probably going to reduce the stroke around the text from 3 pts to 2 pts so that it's a little more crisp. I've printed them out on card stock using a pretty high quality toner printer. They turn out a little darker than I'd want them to. I'll fiddle around with them before I go final-version and bring it to some printshop to actually give them the full-on treatment.
That being said, if you don't mind them being a little dark, they do print off as completely playable cards. I just use clear plastic sleeves and slip them in front of a junk common/land.
I'm kind of curious, do you have a fork of the project, since the version I have doesn't support the options -name, -types, etc. I've also been wondering what people have found to be the best training parameters.
Private Mod Note
():
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
By the way, I've officially 'released' Hunter. I made the post on Reddit because the software forum here is dead as a doornail. There's still work to be done on Hunter, but for the most part it's perfectly useable.
I doubt I'll get to do this sort of thing on anything approaching a regular basis (I only got to pull this off due to a local games convention), but if I were, I'd try this: have the RNN output enough cards for a cube. Print 'em and go. At the end of the draft, each player picks perhaps five of their favorite cards; those go into the next cube, but the rest gets generated brand new.
Here's a few examples from the file:
I tried hard to match the card name, creature type, and abilities to something that made sense. This sometimes had weird results.
Other times, we could just do something super-literal.
And on others, something surreal or abstract seemed to match the tone of the set.
On the multicolored cards, I used full-frame universally.
Obligatory Ancient Donger.
What do you plan to do with these once you've got the big commercially-printed pile of them?
Speaking of art, I'm rerunning the training process to condition the generator on the card vectors. Well, part of the card vectors. I left off the body text because that just muddies the waters too much (there's a correlation between "flying" in the bodytext and the artwork, but not so much "enters the battlefield tapped", etc.). I have to make sure I did everything right, do some tests, etc. But I'll let y'all know how it turns out.
My LinkedIn profile... thing (I have one of those now!).
My research team's webpage.
The mtg-rnn repo and the mtg-encode repo.
Or, just silly ones:
While tweaking rarities, I noticed that the Roborosewater set was heavily skewed towards Green. So, I've combed through the thread to flesh out the other colors and will keep tweaking to even things out.
What? No Beyoncé on this card?
Maybe the opposite of trample and mountainwalk? Can only block damage up to its toughness, and can't attack opponents who control a mountain-- That could work actually.
With that, and the Mountainspalk restriction being it can't attack into Mountains, I think it's actually a fair card.
Also, I finished updating the MSE2 set version of this last night by balancing the colors and updating some of the artwork a bit. I had to dig really deep into this thread to find more Blue and Black cards, and even then, I had to cut a lot of Green cards. Roborosewater LOVES GREEN SO MUCH. I also did some preliminary work on rarity. Keeping with the New World Order, I ensured that all the nonsense cards that are likely to prompt debate were moved to uncommon or higher. And, the really broken cards were at least Rare or Mythic.
EDIT: I am also HIGHLY SUSPICIOUS that some of the Blue and Black cards from this thread were tweaked by the authors and were not simply the raw output from the Neural Net. Like, there was a Blue Serpent creature that was almost word-for-word perfect as a generic needs-islands-to-attack serpent. I tried to exclude those.
Off topic, but my search engine Hunter got a major update today. I made a reddit post here to clarify what got fixed/improved. Next stop: comments/ratings/prices! Might take a while though. If anyone plays around with it, let me know what works/doesn't work.
I guarantee you that that is evidence of the opposite. If you have a phrase in the corpus that is almost always used in a particular context or in a particular way, the network can overfit and assume that it must always be that way, and will memorize the words verbatim. For example, if I try...
I get...
It happens for the same reason that dragon cards usually have flying. It's not that the network knows that dragons are winged creatures and it would make sense for them to fly, it's that the characters "f l y i n g" in the body text often follow the characters "d r a g o n" in the subtype line.
I assure you that, as a rule, I don't touch the cards. Infecting the results with my own ideas would defeat the purpose of the whole experiment, lol. For the same reason, I'm still working out the graphics thing, so I can get art for cards without having to assign art myself. Ran into a small bug earlier in the week with the model, something's not getting loaded properly when I try and restore the model for sampling. I think it's an issue of my own making though. I'll get it resolved.
I should also say that I'm really excited about how far the Hunter project has come along.
EDIT: If you wanted a Turing test for authenticity of cards, suspicious for me would be a card that is significantly longer than about 160 characters or so, because the network hates run-ons. For the same reason, it can't generate complete planeswalkers or sensible flip cards. That and it's unlikely (though not impossible) for the network to produce cards with multiple interconnected or highly related abilities (aside from "add a charge counter"/"remove a charge counter", etc.). For example, Brimaz, King of Oreskos is unlikely to be produced (unless it's overfitting), simply because the network's attention span and its limited comprehension of the semantics of cards pose significant challenges when it comes to sustained, meaningful creation.
My LinkedIn profile... thing (I have one of those now!).
My research team's webpage.
The mtg-rnn repo and the mtg-encode repo.
Well for those of you who wanting to do a cube draft, I've still been working a lot at setting mine up; I am currently up to 227 cards, not including lands/artifacts.
I've been busy with a bunch of side projects but I'm trying to set this all up in time for my bachelor party. I'm trying to get an updated version of the corpus encoded in hardcast6drop's format, but for the life of me I can't seem to get it to output the file (my unfamiliarity with linux commands makes this tedious as all hell). If anybody has the encoded corpus that includes up to the new Innistrad set please let me know. Aside from that I do not have a complete collection of the cards posted anywhere but I've included a snapshot of my excel document I'm using to keep track of card count.
Here's a zip file with the encoded corpus in three formats, with cards up to and including Shadows of Innistrad.
And bachelor party? Congratulations!
My LinkedIn profile... thing (I have one of those now!).
My research team's webpage.
The mtg-rnn repo and the mtg-encode repo.
I had wondered about it too until I saw the Awaken mechanics from Battle for Zendikar. Awaken has you put +1/+1 counters on a land, THEN it becomes a creature (that is still a land). I suppose this works the same way, just one is an activated ability.
@Talcos, aw you are the man. This is just what I was hoping for. And thanks for the congratulations, I'm looking forward to getting married. To help celebrate I intend to release the draft for everybody else to enjoy as well. Over the next few days I'll host up an up-to-date version of my current pile of cards. Although incomplete, it gives you a good idea of what my RNN churns out.
They made a land with graft once, so I'm pretty sure this is fine.
I'll PM the new set.
Some examples:
Took me awhile to find something that looked like a land or building AND something that could shoot at you.
Zombie elephants are easier to find that you'd think.
Green removal that reminds you that it's still a land...? Yeah, sounds like Curse of the Dryad to me.
Try to find an image of a wolf. That is an Ooze. That you might name "But Wolf." Quite a doozy...
That one.
A snake lord that is not a snake... something elemental... well, the biblical theme works, right?
It's an elf... warrior... wall... thing? Okay, it's an egg that hatches into an evil elf warrior mutant, lets say.
Soldier gets waterbreathing, so sure, that makes sense. Surf's up!
Bird themed re-animator... bingo!
So, what kind of human would just choose a creature for it's mana cost? An artist!
Since artist contacts will be a big job, and it might be easier to play online, I'll look into MSE2->Cockatrice converters for the time being. That might be the best way to do this unless the artists were all cool. Also, I tried working on a card back, and it's HARD. Did you know Roborosewater is a LONG WORD and it's hard to make it look good on a card horizontally? Yeesh.
EDIT: Hah! This utility https://www.dropbox.com/s/ouzk0av49q3jy4d/magic-cockatrice.mse-export-template.zip totally works! I got Roborosewater up and running in Cockatrice. However, it does involve a little bit of mucking around with the directories and an XML file, so it's not plug and play. Anyway, if someone wants to jam this, download this and PM me for the set.
I started with a Noxlo Greater followed up by Vraska, the Ox that stopped my opponent in his tracks for awhile. Opponent landed that red 3RR enchantment that let him sacrifice a creature to deal 2 damage to another creature, which later proved critical. I built up my board while he tried to cast Onoch Wall, only to get stymied by Thra (turns out Onoch Wall has the same name as Onoch Wall). I landed that 1cc black guy who makes the opponent reveal their hand and then sacrifice three dudes; but he used his red enchantment (infinite winds?) to kill it off. Then, he got a copy of the Goblin that destroys both players when it dies, and we boardstalled.
I build up to cast that green enchantment that makes the opponent "skip" their library, and followed it up with a Human Wizard that I could pay G to kill everything and have us draw 7 cards (seemed good!). But... he got his own copy of the 1cc black reveal-hand-sac-3 dork, and by combing with Noxlo, was able to wipe my board clean before I could go off! He then cast a spell that gave his one flying creature +3/+3 for each creature he controlled and swung for lethal...
...but he sacrificed his suicide goblin before I died to kill everyone.
Set is silly and broken and fun
https://www.dropbox.com/s/z1mvufjx3fesl2x/MagicboxRNN Creatures Beta.rar?dl=0
I'll be able to upload a set of the non-creature spells by the end of the night.
Edit: Non-creature spells are on this download here below:
https://www.dropbox.com/s/j82sxdusov9cq6o/MagicboxRNN Non-Creatures Beta.rar?dl=0
I'm probably going to reduce the stroke around the text from 3 pts to 2 pts so that it's a little more crisp. I've printed them out on card stock using a pretty high quality toner printer. They turn out a little darker than I'd want them to. I'll fiddle around with them before I go final-version and bring it to some printshop to actually give them the full-on treatment.
That being said, if you don't mind them being a little dark, they do print off as completely playable cards. I just use clear plastic sleeves and slip them in front of a junk common/land.
I'm kind of curious, do you have a fork of the project, since the version I have doesn't support the options -name, -types, etc. I've also been wondering what people have found to be the best training parameters.