EDIT: 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! :-D
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).
Love this! Maybe coming up with new mechanics should be its own problem.
Anyways, fuseback obviously is:
Split A
Split B
Fuseback (You may cast both halves of this card from your graveyard. Then exile it.)
which is actually totally awesome, because it makes you cast half first, then full cost on the lategame. Please wait for some computer-inspired split cards, later.
I love this so much. The program definitely needs some more learning time, but this was the funniest post I've ever read on this forum. 10/10, would give my green angel tokens Mointainspalk again. Please continue with this and keep us updated.
Split A
Split B
Fuseback (You may cast both halves of this card from your graveyard. Then exile it.)
which is actually totally awesome, because it makes you cast half first, then full cost on the lategame. Please wait for some computer-inspired split cards, later.
Holy... not to draw away from the main thread or anything, but I love this mechanic. It should have a fuseback cost the same as flashback, but other than that, I'm tempted to use it straight away.
Machine learning is extremely fascinating to me. So when you combined that with large data sets AND magic, you had me sold!
If you modify the restrictions you put on it a little bit and then post some new cards that would fantastic.
Love this! Maybe coming up with new mechanics should be its own problem.
Oh, you'd love some of the stuff this network produces then. For example, earlier it produced a black creature card with "2,T: Pain 2". No idea what pain should be there.
I love this so much. The program definitely needs some more learning time, but this was the funniest post I've ever read on this forum. 10/10, would give my green angel tokens Mointainspalk again. Please continue with this and keep us updated.
I'm glad you enjoyed it! And yes, I know. I took the pie out the oven while it wasn't completely baked through, but the results still taste all right. For better results, I'd either need days of training or more expensive hardware. Fortunately, I'm expecting some more hardware to come in, so I can see about improving on this work. At the taxpayer's expense, of course.
Dude, just send a copy to wotc as an 'awesome keyword name generator.'
Sanguine Bloodmage1BB
Creature - Human Wizard 2, T: Pain 2 (look at the top 2 cards of your library. For each, you may pay 1 life and discard a card to put it into your hand. Otherwise, put it on the bottom of your library.)
1/3
One thing I'd urge you to do is to only use the modern card base. The cards it generated toward the end are reasonable, which is pretty impressive, but I think it'd produce cleaner designs if it didn't have to much with years worth of cards like Dark Ritual that are no longer color appropriate.
The half baked cards were hilarious to read, thanks for including them! I'd love to see more of what it comes up with.
Great post. Is it possible or productive to incorporate some aspect to the process that allows a designer to tell it when the outputs are getting better or worse? For example, it'd be nice to tell it that Shring the Artist is a better result than light of the bild, and I think designers would have fun evaluating the computer's designs.
One thing I'd urge you to do is to only use the modern card base. The cards it generated toward the end are reasonable, which is pretty impressive, but I think it'd produce cleaner designs if it didn't have to much with years worth of cards like Dark Ritual that are no longer color appropriate.
The half baked cards were hilarious to read, thanks for including them! I'd love to see more of what it comes up with.
Thanks! I hadn't thought of that before, but you're absolutely right. I think some careful pruning of the input might help me teach the network better color discipline. I'm certain that it's learning some bad lessons from cards like Dark Ritual.
Great post. Is it possible or productive to incorporate some aspect to the process that allows a designer to tell it when the outputs are getting better or worse? For example, it'd be nice to tell it that Shring the Artist is a better result than light of the bild, and I think designers would have fun evaluating the computer's designs.
Yes, absolutely. I've been mostly hands-off at this point, didn't want to contaminate the creative process with my ideas of what cards should be. But yes, it's definitely possible to do that.
Talcos: I think the three areas to choose from would be Modern-legal cards, post-Time Spiral, and Zendikar and beyond. (Modern, contemporary color pie, and contemporary design principles, respectively.)
This is an absolutely fascinating thread and it's great fun reading through these designs! I love how they actually get quite clever near the end! I fear that if you continue this experiment, we might all end up being replaced by our new custom card computer overlords.
I agree that a rating system might be good as an experiment. Still, I also want to see where the machine goes on its own without input. Would it be possible to branch this into two - a 'control' and a 'guided'?
Private Mod Note
():
Rollback Post to RevisionRollBack
Known as Inanimate at Goblin Artisans, and TyrRev at /r/custommagic!
Lead Tesla, a community set designed by everyone and led by me, over at Goblin Artisans. Index of articles here!
Talcos: I think the three areas to choose from would be Modern-legal cards, post-Time Spiral, and Zendikar and beyond. (Modern, contemporary color pie, and contemporary design principles, respectively.)
This is an absolutely fascinating thread and it's great fun reading through these designs! I love how they actually get quite clever near the end! I fear that if you continue this experiment, we might all end up being replaced by our new custom card computer overlords.
I agree that a rating system might be good as an experiment. Still, I also want to see where the machine goes on its own without input. Would it be possible to branch this into two - a 'control' and a 'guided'?
Thanks for your attention!
For the record, more work will need to be done before we can consider the "guided" case, in part because I deliberately designed the current neural architecture to be as minimally intelligent as I could possibly get away with. The network that produced the cards you see here is an arrangement of three layers of neurons, with 600 neurons in each layer; the neurons are arranged into self-referential little clusters that allow the network to have both short and long term memory of the cards that it's creating. In terms of raw reasoning power, it's on par with a jellyfish. To make matters worse, I trained it with a "dropout" policy whereby up to 50% of its neurons would fail to work at a given time; this prevented its tiny little mind from merely reproducing what I showed it (it has to "think on its feet"), but this also (unintentionally) inhibited the growth of specialized structures or subregions for handling specific card types.
In short, it's very dumb, or, as I would prefer to think of it, "conservatively smart."
I did this because I don't have all the hardware in place yet to simulate more complex networks in reasonable spans of time. However, because it's so dumb, it has.. how should I say this... superstitious tendencies. For example, it's very unwilling to give out bonuses to creatures without setting a time limit on those bonuses. This is smart for instants and sorceries, whose effects are limited in duration. It's not so smart when it gives me things like "enchanted creature gets +2/+2 until end of turn."
So, coming back to your point, it's going to be very difficult to "talk" to this network without it developing new pathological superstitions. For example, if it by chance creates a run of awful red cards, it might become afraid of the color red. I think it'll be too easily frightened by any attempt at constructive criticism.
The plan then is to repeat these experiments with more robust networks once I have the hardware to simulate them quickly enough. Once I get better results, then we can consider using ratings to guide it further.
So, coming back to your point, it's going to be very difficult to "talk" to this network without it developing new pathological superstitions. For example, if it by chance creates a run of awful red cards, it might become afraid of the color red. I think it'll be too easily frightened by any attempt at constructive criticism.
Give me more. This is great. I think a little color bleed is needed, so leaving some older sets out may hinder this. There are several aspects to each color in the pie, I always like to sample each flavor.
Private Mod Note
():
Rollback Post to RevisionRollBack
MEMNARCH FOR PRESIDENT!!!
All cards I post are designed for custom sets...just saying
Don't hold so fast to your idea of what Magic and the Color Pie is or should be. Just because it was done in the past, but isn't done in the present doesn't mean it can't be done at all. Likewise, just because it wasn't done at all doesn't mean it can't be done.
Here's a tip: If you suggest changing a card...it's helpful to suggest HOW it should be changed.
Give me more. This is great. I think a little color bleed is needed, so leaving some older sets out may hinder this. There are several aspects to each color in the pie, I always like to sample each flavor.
Thanks! And yes, I agree that there are certain advantages. At the same time, it's far too chaotic right now when it comes to color. Like, an abundance of red Llanowar Elves, white Doom Blades, that sort of thing. It seems like I'd rather have it start with a strong core understanding of color and then allow it to relax its restrictions.
I am sure there are technical concerns, and you've gone over some already, but I think it would be a very fun designer game simply to grade the cards created by this process as we do in our Remaking Magic podcast, and have that data somehow help the computer get better at producing designs. It could be interesting to have a website where players and designers can rate generated cards, taking advantage of the wisdom of crowds.
Still, this won't be making good sets anytime soon. It would need a lot more parameters to generate a playable set than a single playable card.
I am sure there are technical concerns, and you've gone over some already, but I think it would be a very fun designer game simply to grade the cards created by this process as we do in our Remaking Magic podcast, and have that data somehow help the computer get better at producing designs. It could be interesting to have a website where players and designers can rate generated cards, taking advantage of the wisdom of crowds.
Still, this won't be making good sets anytime soon. It would need a lot more parameters to generate a playable set than a single playable card.
Right. That requires planning and forethought of a much higher order. Long-term planning is still very much an open problem in the machine learning community. That's why Deepmind's video-game-playing AI did so well at Space Invaders (kill! kill more!), despite having no prior knowledge of how to play, and yet so poorly at Pacman (avoid ghosts until you get a power-up and then turn the tables).
I mean, you could do something like "Oh, an elf card. That's a great idea, let's make 20 more of them! And throw in some artifacts too!", but that doesn't factor in things like balance, synergy, etc.
Would it be possible to layer this on the parameters of a design skeleton? One of Reuben's projects has been to create a basic "paint by numbers" defined skeleton for producing sets. If designers could take the basic parameters like "make cards with these mechanics, at these cmcs and these rarities..." A small amount of direction might go along way.
This is quite interesting, and it might even one day be something that WotC uses to fill-out set skeletons while playtesting and for hole-filling. That's an intriguing thought.
Split A
Split B
Fuseback (You may cast both halves of this card from your graveyard. Then exile it.)
This is exactly what I was thinking when I read it! It neatly solves the problem of "players refuse to cast one half a fuse spell because they want the bigger effect from casting both sides". Of course, if it's costed fairly it's much more of a gold card and much less of a relevant-in-mono decks, but there's not really a way to solve all of split/fuse's problems at once.
Is it possible to give it some basic design rules?
Stuff like 'creatures you control gain rather than lose ____' and 'if designing an enchantment, abilities are persistant' and the like? Basically teaching it some of the context associated with the card rules?
Otherwise I'm very interested in seeing this continue, it's definitely not an application I'd ever thought of for neural networks.
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!
My LinkedIn profile... thing (I have one of those now!).
My research team's webpage.
The mtg-rnn repo and the mtg-encode repo.
Anyways, fuseback obviously is:
Split A
Split B
Fuseback (You may cast both halves of this card from your graveyard. Then exile it.)
which is actually totally awesome, because it makes you cast half first, then full cost on the lategame. Please wait for some computer-inspired split cards, later.
Holy... not to draw away from the main thread or anything, but I love this mechanic. It should have a fuseback cost the same as flashback, but other than that, I'm tempted to use it straight away.
Avant Block: Avant -- Stormfront
If you modify the restrictions you put on it a little bit and then post some new cards that would fantastic.
Oh, you'd love some of the stuff this network produces then. For example, earlier it produced a black creature card with "2,T: Pain 2". No idea what pain should be there.
I'm glad you enjoyed it! And yes, I know. I took the pie out the oven while it wasn't completely baked through, but the results still taste all right. For better results, I'd either need days of training or more expensive hardware. Fortunately, I'm expecting some more hardware to come in, so I can see about improving on this work. At the taxpayer's expense, of course.
My LinkedIn profile... thing (I have one of those now!).
My research team's webpage.
The mtg-rnn repo and the mtg-encode repo.
Sanguine Bloodmage 1BB
Creature - Human Wizard
2, T: Pain 2 (look at the top 2 cards of your library. For each, you may pay 1 life and discard a card to put it into your hand. Otherwise, put it on the bottom of your library.)
1/3
The half baked cards were hilarious to read, thanks for including them! I'd love to see more of what it comes up with.
Remaking Magic - A Podcast for those that love MTG and Game Design
The Dungeon Master's Guide - A Podcast for those that love RPGs and Game Design
Sig-Heroes of the Plane
Thanks! I hadn't thought of that before, but you're absolutely right. I think some careful pruning of the input might help me teach the network better color discipline. I'm certain that it's learning some bad lessons from cards like Dark Ritual.
Yes, absolutely. I've been mostly hands-off at this point, didn't want to contaminate the creative process with my ideas of what cards should be. But yes, it's definitely possible to do that.
My LinkedIn profile... thing (I have one of those now!).
My research team's webpage.
The mtg-rnn repo and the mtg-encode repo.
This is an absolutely fascinating thread and it's great fun reading through these designs! I love how they actually get quite clever near the end! I fear that if you continue this experiment, we might all end up being replaced by our new custom card computer overlords.
I agree that a rating system might be good as an experiment. Still, I also want to see where the machine goes on its own without input. Would it be possible to branch this into two - a 'control' and a 'guided'?
Lead Tesla, a community set designed by everyone and led by me, over at Goblin Artisans. Index of articles here!
Thanks for your attention!
For the record, more work will need to be done before we can consider the "guided" case, in part because I deliberately designed the current neural architecture to be as minimally intelligent as I could possibly get away with. The network that produced the cards you see here is an arrangement of three layers of neurons, with 600 neurons in each layer; the neurons are arranged into self-referential little clusters that allow the network to have both short and long term memory of the cards that it's creating. In terms of raw reasoning power, it's on par with a jellyfish. To make matters worse, I trained it with a "dropout" policy whereby up to 50% of its neurons would fail to work at a given time; this prevented its tiny little mind from merely reproducing what I showed it (it has to "think on its feet"), but this also (unintentionally) inhibited the growth of specialized structures or subregions for handling specific card types.
In short, it's very dumb, or, as I would prefer to think of it, "conservatively smart."
I did this because I don't have all the hardware in place yet to simulate more complex networks in reasonable spans of time. However, because it's so dumb, it has.. how should I say this... superstitious tendencies. For example, it's very unwilling to give out bonuses to creatures without setting a time limit on those bonuses. This is smart for instants and sorceries, whose effects are limited in duration. It's not so smart when it gives me things like "enchanted creature gets +2/+2 until end of turn."
So, coming back to your point, it's going to be very difficult to "talk" to this network without it developing new pathological superstitions. For example, if it by chance creates a run of awful red cards, it might become afraid of the color red. I think it'll be too easily frightened by any attempt at constructive criticism.
The plan then is to repeat these experiments with more robust networks once I have the hardware to simulate them quickly enough. Once I get better results, then we can consider using ratings to guide it further.
My LinkedIn profile... thing (I have one of those now!).
My research team's webpage.
The mtg-rnn repo and the mtg-encode repo.
Does this mean jellyfish are actually smart enough to create Magic cards? :T
Oh my god, that's actually pretty adorable.
All cards I post are designed for custom sets...just saying
Don't hold so fast to your idea of what Magic and the Color Pie is or should be. Just because it was done in the past, but isn't done in the present doesn't mean it can't be done at all. Likewise, just because it wasn't done at all doesn't mean it can't be done.
Here's a tip: If you suggest changing a card...it's helpful to suggest HOW it should be changed.
This is actually something that came to mind. You could even generate an entire set on the fly, unique for every draft, if you wanted to.
Well, I wouldn't have thought so, but here we are.
Thanks! And yes, I agree that there are certain advantages. At the same time, it's far too chaotic right now when it comes to color. Like, an abundance of red Llanowar Elves, white Doom Blades, that sort of thing. It seems like I'd rather have it start with a strong core understanding of color and then allow it to relax its restrictions.
My LinkedIn profile... thing (I have one of those now!).
My research team's webpage.
The mtg-rnn repo and the mtg-encode repo.
That sounds extremely fun.
Remaking Magic - A Podcast for those that love MTG and Game Design
The Dungeon Master's Guide - A Podcast for those that love RPGs and Game Design
Sig-Heroes of the Plane
Still, this won't be making good sets anytime soon. It would need a lot more parameters to generate a playable set than a single playable card.
Remaking Magic - A Podcast for those that love MTG and Game Design
The Dungeon Master's Guide - A Podcast for those that love RPGs and Game Design
Sig-Heroes of the Plane
That would definitely be interesting, I agree.
Right. That requires planning and forethought of a much higher order. Long-term planning is still very much an open problem in the machine learning community. That's why Deepmind's video-game-playing AI did so well at Space Invaders (kill! kill more!), despite having no prior knowledge of how to play, and yet so poorly at Pacman (avoid ghosts until you get a power-up and then turn the tables).
I mean, you could do something like "Oh, an elf card. That's a great idea, let's make 20 more of them! And throw in some artifacts too!", but that doesn't factor in things like balance, synergy, etc.
My LinkedIn profile... thing (I have one of those now!).
My research team's webpage.
The mtg-rnn repo and the mtg-encode repo.
Remaking Magic - A Podcast for those that love MTG and Game Design
The Dungeon Master's Guide - A Podcast for those that love RPGs and Game Design
Sig-Heroes of the Plane
RUNIN: Norse mythology set (awaiting further playtesting)
FATE of ALARA: Multicolour factions (currently on hiatus)
Contibutor to the Pyrulea community set
I'm here to tell you that all your set mechanics are bad
#Defundthepolice
This is exactly what I was thinking when I read it! It neatly solves the problem of "players refuse to cast one half a fuse spell because they want the bigger effect from casting both sides". Of course, if it's costed fairly it's much more of a gold card and much less of a relevant-in-mono decks, but there's not really a way to solve all of split/fuse's problems at once.
Stuff like 'creatures you control gain rather than lose ____' and 'if designing an enchantment, abilities are persistant' and the like? Basically teaching it some of the context associated with the card rules?
Otherwise I'm very interested in seeing this continue, it's definitely not an application I'd ever thought of for neural networks.
Also, I want to build a Shring the Artist EDH deck.