- Onderzeeboot
- Registered User
-
Member for 19 years, 3 months, and 16 days
Last active Mon, Feb, 5 2018 14:59:06
- 0 Followers
- 2,612 Total Posts
- 25 Thanks
-
15
Jhyrryl posted a message on To Infinity Elemental and BeyondWith a Muraganda Petroglyphs out, this thing has infinity+2 power!Posted in: The Rumor Mill -
1
KolbaneX posted a message on Mothership Spoilers Confirmation of Leaks and new SpoilersThis set has Dinotopia vibes all over it and WoTC must've cast Void Winnower on me cuz I literally can't even.Posted in: The Rumor Mill -
2
LouCypher posted a message on Wotc Spain Twitter - ThragtuskFlashbacks to the Thragtusk-Resto Angel meta...I thought I was over them...Nooo...Posted in: The Rumor Mill -
45
Talcos posted a message on Generating Magic cards using deep, recurrent neural networksEDIT: For those of you discovering this thread for the first time, you might want to check out this article here. There's also another article here which does an excellent job of summarizing the story so far (if you don't feel like reading through the whole thread). Also, we've been hard at work improving the NN model, and we have been making progress by leaps and bounds. What you see here is only the beginning! :-DPosted in: Custom Card Creation
Oh, and yet another new article came out, which you can read here.
And *another* article can be found here.
EDIT: An all-encompassing tutorial can be found here, courtesy of hardcast_sixdrop. Check it out if you want to get started!
Also, I strongly recommend using hardcast_sixdrop's input format for training, if you're looking to replicate our more recent results. A lot of work has gone into making the RNN produce more consistent results.
EDIT: You can download the most recent version of the sampling script for hardcast_sixdrop's format here.
-----
Hello! I'm a PhD candidate researcher in computer science at the University of Alabama at Birmingham who has been investigating the use of deep neural networks for classification and problem solving tasks. I saw a fun article about training a neural network on arbitrary data to generate novel sequences. For example, you force the network to read Shakespeare over and over and eventually it can write its own texts in the style of Shakespeare. I saw that and thought: hey, why not Magic cards instead of Shakespeare? So I downloaded the source code (here) and a json corpus of Magic cards (here). I decided to feed a deep neural network all of the Magic cards ever made in the hopes that it might be able to conjure up some new ones. The network was relatively simple (I can give you the details, if you'd like, but that gets technical). I would have done a more robust and complex network but it would have taken far too long to do the computations; I'm waiting on some new GPU hardware to come in to speed up the process.
Anyway, here are a few example cards produced by my network about two hours into the training process. The results produced by the recurrent neural network (RNN) early on were either verbose garbage or sensible-sounding cards that did absolutely nonsensical things. Keep in mind that the RNN has no prior knowledge of what Magic even is, let alone English, so it's interesting that the results were even vaguely intelligible.
--------
Amarogge Warfos
2U
Artifact Creature - Kavu Shaman
Morph B(B/B)(G/W) (You may cast this card from your graveyard to the battlefield, you may pay 1. If an enchantment card, then put the rest of target creature card from your graveyard for its flashback cost. If exile is you sacrifice it unless you pay 1G. If you do, put a 3/1 green Soldier creature token onto the battlefield. Put it into your graveyard.)
1/1
#I'm tickled by the absurd reminder text. The RNN knows that keyword abilities often come with reminder text, but it has no idea what "morph" means, so it just makes up stuff to put there. Oh, and the morph cost has a hybrid black/black mana symbol in it.
Slidshocking Krow
U
Creature - Dragon
Tromple,Mointainspalk
4/2
#Slidshocking Krow is ridiculously overpowered. A 4/2 for 1? In blue? With Mointainspalk AND Tromple? I see power creep is alive and well.
Grirerer Knishing
4G
Instant - Arcane
Exile target creature you control.
#The price is a little steep on this one, but maybe it's worth it for the synergy with other Arcane spells...
Fransunn's Ent
1B
Sorcery
Counter target spell with five toughness 2 or greater.
#Almost a meaningful conditional counterspell. Almost, but not quite.
Adiswen Agenter
1U
Enchantment - Aura
Enchant creature
At the beginning of each player's upkeep, sacrifice a white Zombie creature.
#Although very bizarre, it is a "legal" card.
Skengi Hellldadietsn
1BU
Creature - Zombie
: Add G to your mana pool. If you do, put a -1/-1 counter on Skengi Hellldadietsn.
3/4
#Notice that it picked a creature type that actually matched the colors.
--------
I decided to let the training process continue over night. When I came back, I found that the text was starting to make a little more sense (not always, but more so than before). I noticed that the network, now more fully trained, could generate meaningful, novel cards. However, it also had a knack for generating profoundly useless cards. Here are a few snippets from the output:
* When $THIS enters the battlefield, each creature you control loses trample until end of turn.
* Whenever another creature enters the battlefield, you may tap two untapped Mountains you control.
* 3, : Add 2 to your mana pool.
* Legendary creatures can't attack unless its controller pays 2 for each Zombie you control.
Other times it would start with an idea, like giving a creature kicker, but then forget about having a "if kicked" clause, or it could have a card with X in the mana cost but then deciding to do nothing with the X. Also, the network gets planeswalkers confused with level up creatures (admittedly they do look very similar), which often results in messy combinations of the two. For planeswalkers, the problem is that, unlike run-of-the-mill creatures, they are few and far between, so there aren't many examples for the network to learn from. In any case, here are some of the typical examples I found the network churning out this morning:
--------
Tenjer Desineer
1
Artifact - Equipment
Equipped creature has fuseback.
Equip 1
#The RNN likes to make up new keywords. This one is a portmanteau of flashback and fuse. What it does for a creature, who knows? The RNN certainly has no idea.
Gravimite
1(G/W)(G/W)
Creature - Dryad
1(G/W): Regenerate $THIS.
When Gravimite enters the battlefield, draw a card.
2/3
#I think this is a reinterpretation of Carven Caryatid.
Light of the Bild
2WW
Creature - Spirit
Flying
Whenever Light of the Bild blocks, you may put a 1/1 green Angel creature token with flying onto the battlefield.
2/2
Horror
B
Horror deals 3 damage to target creature or player.
#A colorshifted Lightning Bolt. I find the name to be simple and evocative!
Mided Hied Parira's Scepter
2
Artifact
3, T: Put a 1/1 white Advisor creature token onto the battlefield.
Shring the Artist
2BB
Legendary Creature - Cat
Flying
Whenever you cast a spell, you may return target creature card from your graveyard to your hand.
2/2
--------
In conclusion, I've learned quite a bit from this process. Originally, I designed the network to avoid overfitting because I feared it would generate cards that were mere carbon copies of the ones it had seen. However, I made the network too conservative and as a result it's unwilling to experiment with multi-part abilities like kicker. It's also worth exploring whether I can improve training on scarcely seen cards like planeswalkers, planes, schemes, etc. With any luck, I should be able to come up with a generative model for Magic cards that produces more robust and complex output.
Let me know what you think!
EDIT: Oh, this is too good not to mention. I coordinated with Mtgsalvation member pickfifteen who has created a twitter account that posts automatically generated renders of cards created with the RNN network. I look forward to seeing what it produces. Grin
EDIT: Kinje has provided helpful instructions on how to replicate what I've done here. Also, PM me if you want the modified data set, one that's easier to train on. Alternatively, you can use Onderzeeboot's version of the data set, which should work just as well if not better.
EDIT: Kinje has uploaded my reformatted data set to Google Drive. You can download it here (instead of having to PM me every time, though you can if you'd like to get the script I used to produce the file).
EDIT: Click here to see the most recent results for the generation of creatures specifically.
EDIT: Click here to find a link for the dummy creature generation code.
EDIT: Visualizations of the neural network activity can be found here and here.
EDIT: Here's a post about generating content vectors, and how this will help us to generate artwork and flavor text for cards down the road.
EDIT: Here's how we plan on extending this work to enable the generation of whole, coherent sets!
EDIT: A link to the current design skeleton for our upcoming test set.
EDIT: And now we have RoboRosewater-generated artwork!
EDIT: Maplesmall has released Cardcrunch. Take a look!
-
18
Igzex posted a message on Thief of BloodPosted in: The Rumor MillQuote from NGW »turns on Marit Lage
Didn't know she was into that kind of thing :3
But yeah a really nice tool against someone going ham with planeswalkers or something. -
2
CadaverousBl00m posted a message on Commander 2015Posted in: The Rumor MillQuote from Scarap »I expect Unfulfilled Desires.
At first I took this literally (as in you expected the card to show up in the decks) and I was going to say "Don't get your hopes up", but when I went to right the post the other meaning of that hit me. Really, Unfulfilled Desires is probably the only card we can 100% expect out of these products.
It's on the Reserved List, unfortunately - an Unfulfilled Desire in many, many ironic senses of the words... -
2
Corv posted a message on Shadows Over Innistrad April 2016If our only criteria are pale skin, light hair, and eyeliner, I'm pretty sure we can create the mother of all crossover conspiracy theories.Posted in: The Rumor Mill -
2
Nakhla posted a message on Commander 2015Posted in: The Rumor MillQuote from Galspanic »
Technically you can.Quote from Canadian Guy of Wrath »Well you can't win via commander damage if you do not cast your commander
Also, this. -
1
Dolono posted a message on Commander 2015I've been playing around a bit with the recent Force of Will tcg game, where your double-sided Ruler cards (similar to edh generals) have passive (command zone) and active (on the battlefield) modes, which can greatly affect your deck's strategy and focus. I'd personally enjoy seeing more Oloro-style generals, where there are more command zone vs in-play considerations are employed.Posted in: The Rumor Mill - To post a comment, please login or register a new account.
1
The whole point I guess is that you can loop sphinxes with this in play. If every 3-originally-5-mana sphinx gets you another 3-originally-5-mana sphinx, you can start playing two sphinxes a turn. Or yo can hold up Counterspell mana while putting big threats into play. You know, just in case the 4/4 for 6 gets to live until your next turn. And if it does not, you at least got a super-Impulse off of it!
5
1
Theros caught a bad case of the Hamlet
1
But if it nudges us into interesting design territory, doesn't that mean it's doing its job?
1
Ethershore Snape*****ter 2B
Creature - Vampire Rogue
Flying
Whenever Ethershore Snape*****ter attacks, each other creature you control gets +1/+1 until end of turn.
1/1
#Poor Snape!
Edit: Ooo! This is an insteresting design!
Esper Deathmest 2B
Enchantment - Aura
Enchant creature
Enchanted creature gets -1/-1 for each attacking creature
2
I also apparently forgot to remove planeswalkers, d'oh! On the plus side, it handles color and converted mana cost relatively well, though not always.
n:Gerrard's Goblin|c:[Red]|m:{1}{1}{1}{R}|cmc:4|r:Exile target artifact.\nDestroy target nonbasic land.|t:[Instant]
Gerrard's Goblin 3R
Instant
Exile target artifact.
Destroy target nonbasic land.
#Oh wow! Playable and on-cost? It's instant land destruction, which is not likely to happen, but still!
Stormscare Soldier 3
Creature - Elf Shaman
(R/P): This gets +2/+2 until end of turn.
2/2
#This definitely needs the Rootwalla "once per turn" text, and it should be (G/P), and the name is wrong, but still... This is perfectly printable with some tweaks!
n:Great Harmane|m:{1}{1}{1}{1}{1}{1}{1}|cmc:8|r:Affinity for artifacts|t:[Artifact Creature]|p:4/4|s:[Beast]
#It recreated Myr Enforcer!!! It's wrong about the converted mana cost, by 1, though
Trestchous Resurtance 4W
Creature - Human Samurai
Vigilance
When Trestchous Resurtance enters the battlefield, you may search your library for a Goblin card, reveal it, and put it into your hand. Then shuffle your library.
2/2
#Sweet! I mean, low powered, but fun! A Goblin Matron in white
n:Steel the Sean|c:[White]|m:{W}{W}|cmc:2|r:Flash\nEnchant creature\nEnchanted creature gets +2/+2 and has flying.\nEquip {2}|t:[Artifact]|s:[Equipment]
#No! Bad NN! Equipment does not need the Enchant creature text!
#But the best one of the bunch, by far (even if it's slightly overpowered):
Mystic Frog 1B
Creature - Horse
Megamorph 2B
When Mystic Frog is turned face up, you may shuffle a card from your hand.
3/3
#Let me shuffle that card!
1
Settings:
-rnn_size 300 -layers 3 -seq_length 100
Example card from my dataset:
n:Tibor and Lumia|c:[Blue,Red]|m:{1}{1}{U}{R}|cmc:4|t:[Legendary Creature]|p:3/3|s:[Human Wizard]|r:Whenever you cast a blue spell, target creature gains flying until end of turn.\nWhenever you cast a red spell, $THIS deals 1 damage to each creature without flying.
On my way to work I had a flash of insight, the mana cost really should be {U}{R}{1}{1} if we want to make it easier to learn the colors based on the mana cost.
1
I've reconfigured the index.txt file, putting power and toughness closer to the typeline, and condensing some information. Here's the new file: https://drive.google.com/file/d/0BxPP6EqKkrD8NkRZYzlCR204UXc/view?usp=sharing
As before it contains modern cards, excluding nonstandard layouts (planeswalkers, levelers, split cards, etc.) and old reprints (Hurricane; Lightning Bolt, etc.), including most modern-era new cards from supplemental products (Shardless Agent; Brago, King Eternal, etc.).
NB. Note that Conspiracies use the normal layout (however fancy), and have relatively normal rules text, so they're in. I wonder when the first Conspiracy will come up in my output samples
An example of a card in the new file:
n:Shirei, Shizo's Caretaker|c:{4}{B}|p:2/2|t:[Legendary Creature]|s:[Spirit]|r:Whenever a creature bla bla bla the battlefield.
n: name
c: casting cost
p: power/toughness
t: supertypes & types
s: subtypes
r: rules text
I'm going to try another run myself tonight, which will presumably finish when I'm asleep
1
1
No, sorry. Took me a few tries to get a VM working, but this is not an error I encountered.
I'm doing a new session with -rnn_size 384 and -dropout 0.25. So far stats indicate underfitting, but we'll see how it turns out. First batch has some hilarious cards at any rate, and all creatures have power and toughness, and noncreatures don't!
Da'ntrenel Grifforue 3N
Instant
Destroy your library.
#Wicked combo with Laboratory Maniac... if I can find a land that produces N
Rats you Look Flying 3BB
Enchantment
Whenever another creature enters the battlefield under your control, you may put a token card and reveal it, put a token card's converted mana cost.
Mhonund 1R
#It doesn't make any sense, but man, do those rats look flying!
Bloodel from Karrh 4WW
Creature - Merfolk
Flash
Plying
Whenever another creature enters the battlefield under your control, you may have target creature you control, you may may put in addition to its other colors as controlled.
6/6
#Bloodel from Karrh applies himself diligently!
Cavered Are 3GG
Creature - Beast
When $THIS enters target nonchanted creature at rond ow has oh your. You shuffle your library.
1/2
#Ow! Ow!
Exera Repebtlit 3RR
Legendary Creature - Zombie Kithkin
Discard a card: $THIS deals combat damage to a player, you may pay {3}. If you do, draw a card.
3/5
#Holy crap!
Mindshre Ovimeloos 2WW
Sorcery
Target creature gets +2/+2 and gains trample until end of turn.
#Wow! We got a intelligible card already! It's definitely overcosted, and a sorcery, but still!
Pliged of Timurastermhester WR
Sorcery
Splic target creature]
#Splic... Splic? Even urbandictionary has no idea what your talking about! Timurastermhester sounds like a badass villain though!