2019 Holiday Exchange!
 
A New and Exciting Beginning
 
The End of an Era
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    Quote from moronstudios »
    How's your RNN coming along with its learning? Is it able to produce working planeswalkers?
    I'm at a satisfactory spot with it, pending any new developments that would let me train something bigger and better on the architecture I have access to. I can whip up new cards of a quality similar to the ones from my last couple posts on demand, which is good enough to keep my cube supplied for as infrequently as I get to play it!

    Planeswalkers, well. Working yes, resembling anything in print, no. I get about one planeswalker or leveler per 300 cards I generate, and they always have only one loyalty ability or level up line. Four examples:

    Geeler's Mivily 3B
    Planeswalker ~ Gilt (common)
    +2: Target player loses 2 life and you gain 1 life.
    ((4))

    Voldering Vouggant 4B
    Planeswalker ~ Dispersat (common)
    +2: Voldering Vouggant deals 2 damage to target creature with flying and target creature or player. You lose 3 life.
    ((3))

    Long of Jeggant 3BB
    Legendary Creature ~ Faerie Rogue (rare)
    Flying
    Level Up 1B
    Level 1~3
    4/4
    Pay 3 life: Return target nonlegendary creature card from your graveyard to your hand.
    (3/3)

    The Spike Wood 3W
    Creature ~ Elf Wizard (common)
    Level Up 2
    Level 1~2
    4/3
    Lifelink
    Mountainwalk
    (1/1)

    I'm throwing a couple into the cube as novelties, but it would be nice to get something more complete! I guess this is all one can expect from common rarity planeswalkers, though... Wink
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    Those are amazing! I love that the Eldrazi got Devoid even though it doesn't require colored mana to begin with.

    I find myself equally interested in "where did this art come from?" and "whose RNN spawned this?"
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    Man, I would poach that for the RoboCube I've got on hand for whenever, but 3 for 4/4 flying is a bit over the curve!
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    Quote from sirleandenor7 »
    Oh look, your RNN made a delirium card.

    Yeah! I also had one Investigate:

    Paracoshu, Wirror's Changeling 2W
    Creature ~ Serpent (common)
    Defender
    Flying
    When Paracoshu, Wirror's Changeling becomes the target of a spell or ability, investigate.
    (3/3)

    There were also a ton of cards that said to transform them in different circumstances, but alas, none of them had associated flip sides.
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    For the folks who watch this thread for the sole purpose of seeing more generated cards, a random selection from my latest. No cherry-picking, no edits beyond capitalization/filling in "@"s/forum formatting.

    Commander Phalanx R
    Creature ~ Elf Shaman (common)
    2R: Target white creature gets +1/+1 until end of turn.
    (1/1)

    Springform Cavalier 2B
    Creature ~ Zombie Wizard (common)
    Reach
    R: Springform Cavalier gets +1/-1 until end of turn.
    (1/1)

    Centaur Sun Bars 2
    Artifact (rare)
    5, T: Return target permanent to its owner's hand.

    Reritial Legionnaire 2
    Artifact (uncommon)
    T, Sacrifice Reritial Legionnaire: return target instant or sorcery card from your graveyard to your hand.

    Borderwood Drake 2R
    Creature ~ Spirit (common)
    Whenever a player casts an instant or sorcery spell, you may tap target nonland permanent you control and Borderwood Drake deals 2 damage to that player.
    (1/1)
    Dryad Spike 2UB
    Enchantment ~ Aura (common)
    Enchant creature
    Enchanted creature has shroud.
    Enchanted creature gets +1/+1 for each card in your hand.
    Whenever you cast a noncreature spell, target player discards a card."

    Late Fill 3
    Artifact ~ Equipment (uncommon)
    Equip 2
    Equipped creature gets +1/+0.

    Golgari Elder BB
    Creature ~ Vampire Warrior (common)
    When Golgari Elder enters the battlefield, all creatures get -1/-1 until end of turn.
    (2/2)

    Dream Fiend 3UB
    Instant (common)
    Target creature gets -8/-8 until end of turn.

    Doomborn Aurochs 3W
    Creature ~ Human Soldier (rare)
    Whenever another target blue creature you control attacks, creatures you control get +2/+2 until end of turn.
    (3/1)
    Yowic Congoltut 2W
    Creature ~ Bird (common)
    Flying
    2W: regenerate Yowic Congoltut.
    (2/1)

    Spire Speaker 2R
    Creature ~ Pild (common)
    Flying
    R: Spire Speaker gets +1/+0 until end of turn.
    (2/1)

    Opaline Sun's Storm 3
    Artifact (uncommon)
    Whenever a creature dies, Opaline Sun's Storm deals 1 damage to target creature.

    Blast of Death 2W
    Instant (common)
    Flashback 2G
    Put four 1/1 white Spirit creature tokens with flying onto the battlefield.

    Maggot Chosen 3G
    Sorcery (uncommon)
    As an additional cost to cast Maggot Chosen, sacrifice a creature.
    Destroy target artifact or enchantment and all other permanents with the same name as that creature.
    Enllader of Lunact 3WW
    Enchantment (rare)
    At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, put a 3/3 white Centaur creature token with defender onto the battlefield.

    Sleep Spears 2U
    Enchantment (rare)
    Whenever you cast a blue spell, exile target nonland permanent you don't control.

    Mumbraad Repurion 4
    Artifact (rare)
    When Mumbraad Repurion enters the battlefield, exile target Merfolk card from a graveyard.

    Arbiter, Assassin Wild 3WW
    Creature ~ Human Shaman (rare)
    T, prevent all combat damage that would be dealt to and dealt by target artifact card this turn.
    (7/6)

    Prodal Monnarce 1G
    Creature ~ Insect (common)
    Prodal Monnarce enters the battlefield with a +1/+1 counter on it.
    At the beginning of your upkeep, put two +1/+1 counters on Prodal Monnarce.
    (0/0)
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    That said, the library is getting out of date. I haven't updated it to include the latest sets, so the encoding algorithm probably breaks with the new colorless-only mana symbol.
    Aha! I'd wondered why so many cards from AllSets.json were rejected as invalid. That could be at least part of it!

    Because things were quiet here, I bulled ahead with the existing process. I had hoped to pull off a size 768, 3 layer network, but that ran out the memory on an EC2 g2.2xlarge instance. I fell back to size 512, which worked fine. Quirks of this net (at least at temperature 0.8+) included lands with mana costs and a mysterious card type "Rander" that showed up once, ha.
    The biggest change is that char-rnn is no longer state of the art as a character-level language model backend. There is a full rewrite of it called torch-rnn that offers significant performance improvements and greatly reduced memory usage, which should make it possible to train much large networks. I've worked extensively with the codebase, and I'm currently in the process of adding much more powerful training and sampling interfaces to my own fork. It's a terrible mess of lua and python, but once I've got it working for my research project it should be easy to come back and do some clever things to improve magic card generation, like experimenting curriculum learning and other techniques to mix up the format during training to get as much out of the limited data as we can with a larger neural net.
    Exciting! I will stay tuned here as always.
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    I managed to fix my problem by running through the tutorial using an Amazon EC2 instance instead of a local VM. No idea what the difference between Ubuntu environments is there, but it did the trick.

    Is the tutorial at https://github.com/billzorn/mtgencode still the state of the art for card generation, or are there tweaks worth incorporating for the latest greatest output?
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    I'm trying to rebuild my card generation NN now that VirtualBox seems to be working for me again. Unfortunately, I'm running into an error when installing Torch.

    I'm following the directions at http://torch.ch/docs/getting-started.html on an Ubuntu VM (the version packaged with VirtualBox). Cloning the git repo works fine, as does "cd ~/torch; bash install-deps;" When I attempt "./install.sh", however, I get this output:
    Prefix set to /home/sabrecat/torch/install
    No submodule mapping found in .gitmodules for path 'extra/iTorch'
    Installing Lua version: LUAJIT21
    CMake Error at exe/CMakeLists.txt:1 (ADD_SUBDIRECTORY):
    The source directory
    /home/sabrecat/torch/exe/luajit-rocks
    does not contain a CMakeLists.txt file.

    Any ideas what's going on there?
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    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!
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    Wow, those are absolutely amazing! Your effort is paying off, there.

    What do you plan to do with these once you've got the big commercially-printed pile of them?
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    Quote from maplesmall »
    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.
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    Quote from MaximumC »
    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.
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    They don't look all that special; they're prints using MSE defaults (I didn't take the time to get art for everything, yikes) on a printer that's starting to falter with old age, haha.

    My fave from my deck was Cornepority, though I didn't actually get to play it. I also like Tormenter's Charm and Ethereal Bolt.

    Player2 had a lot of respect for Goblin Marpher and Bloodruin Dead, in the voting round. Not sure what he most liked in his own deck other than the obvious power cards. XD

    Player3 expressed a lot of love for Ancient Donger and Rold Dragon (she played Rold Dragon despite not doing much red, thanks to the green Suspend cost).

    Player4 liked the token generators, particularly Steel's Flapse.

    Gift of Caanndy got the most laughs, which landed it in the keep pile despite being kinda dubious otherwise. And of course everyone chuckled over Ancient Donger and Necropousy (M:tg came out when I was a preteen; it takes me back, I guess!). The text on Ageseal's Artifact broke Player3 pretty good, too.
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    I held my first robo-cube draft today!

    To get my set, I pulled all @RoboRosewater cards, added a chunk of removal and black from early in this thread, and grabbed 180 at random to print off. I went the "damn the torpedoes" route advocated by MaximumC, and it proved to be a great time. We went for consensus ruling of the four players whenever weirdness came up, with an axiom of "where possible, interpret card text such that it does something."

    My deck started off URW, which I swiftly pared down to UR after struggling to get the right mana in my first game. I went for high-efficiency creatures like Slidshocking Krow (ruling was that Tromple and Mointainspalk did nothing, alas; folks felt 4/2 for U was quite enough), bolstered with punchy R effects like Necropousy (+3/+3 totem armor) and Lightning Wind (+5/+5 and flying for the turn).

    Player2 went BW, aiming for massive card draw with plays like Garruk, Leap in the Carapas (creature with 1: draw a card) to bring out the game-ending Giant Loyod (land, BB, T: deal 5 damage to a player).

    Player3 was G with a splash of U, getting lots of use out of aggressive creatures like Emberty (3/2, haste, shadow--no other creatures with shadow were in the cube!), Callerwast (land that on ETB spawns a hasted 3/3 Saproling) and Colelenhan Right (3/1 for G with a tap ability to draw a card for bringing a creature onto the battlefield).

    Player4 was BGU, fielding a main force of hitters like Onoch Wall (5/5, may cast for free) with artifacts like Untarswell of Aira (1, tap for G or G) and Steel's Flapse (3, same tap effect as Untarswell but also generates a tapped 2/2 Goblin each turn) to help ramp up.

    After getting crushed by Player2 in first game, I tried to bring in some white hate in the form of Living Paladin (enchantment, XUU, white spells cost 3 more to cast), but he just shrugged and played mono-black. I couldn't keep his Aacotelb Mright down (5/5 for 3B, pay 2B to bring back to hand from graveyard).

    My matchup against Player4 went much better; he only managed to get small token creatures out while I hammered away with Amel'rpen Threestel (5/5 for 3U, returns two creature cards to hand from graveyard every upkeep).

    I had Player3 on the ropes for a little while with a cool sacrifice cycle going: Goblin Marpher (1/1 for R, sacrifice a creature max 1/turn to get 2 +1/+1 counters) fed by the Bisor Slaver (2/1 defender for 1U, returns to hand from graveyard whenever a creature ETB). But then she dropped Deers of Aodo (1G destroy all permanents), and recovered much better than I did from the board reset.

    I don't know too much about what happened in the matchups I didn't play. I did catch that Player3 swapped in her sideboarded Path of Bone (enchantment, GGGG, players can't cast spells without paying their mana costs) to keep Onoch Wall out of her hair. ^.^

    After the round-robin was done, we decided to hold a voting round where we went thumbs-up/thumbs-down on whether to keep each card in the cube. The voted-out cards will be ditched and replaced with new RNN cards for a later iteration of the cube!

    Aacotelb Mright
    Agemental Beat (ruling: "it" is the player, not the card)
    Ancient Donger
    Appry Bloodshot
    Ashisu, Gluttendain Djinn
    Beom Bump
    Bisor Slaver
    Blast of Dart
    Bloodruin Dead
    Chall the Call
    Cloud Hound
    Coral Witch
    Cornepority (ruling: "choose" should be "shuffle")
    Craecher Feel
    Creature
    Cub Famitauriar
    Demonic to you Cyclom
    Devour of Servant
    Dopbletabe Marla
    Dreamn Changeling
    Dream Seizer
    Edal Overanty Rifts
    Ethereal Bolt
    For-Gaog (ruling: destroys all enchantments in play)
    Gift of Caanndy (ruling: alternate effect takes place if countered)
    Glusanch of Sliver
    Goblin Marpher
    Graspblaze Battlemage
    Gristing Reef
    Harchlatch
    Heart Myr
    Hydromorph Frog Core
    Identless Horror
    Ifcryper of the Necdoness
    Impetufle Randor
    Iron Weader
    Joweraver Troning
    Keldon Warrior
    Kragu Affurion. Armagest
    Lightning Wind
    Magure of Lylem
    Mardu Adept
    Merrow Packly Cut
    Mided Hied Parira's Scepter
    Mimorbood of Drubdasting
    Moonall Kros
    Necropousy
    Nimben Gerepist (ruling: deals damage to target creature or player)
    Obelisk of the Wild
    Outlongrift
    Owerflight Loyalta
    Paloki, Rarn of Dorrangerers
    Paragon of Gethes
    Prezon Shaman
    Rasha Bloodscape
    Rashal, Rings of Attendant
    Rebirthbound
    Reksring Gord Blider
    Rold Dragon
    Rootwanding Charm
    Row of Madgusion
    Sacred Fist
    Saddint Hulk
    Saprazzan Shield
    Seal of Axsons
    Shring the Artist
    Skombladron Piric
    Skull of the Chaseler
    Slarecaster
    Sludge of the Machine
    Spider Sliver
    Static Dwarf
    Steel's Flapse
    Streegoght Squad
    Strings, the One
    Stronghold Guardian
    Sulvital Sliver
    Templedden Rist
    Teom Avatar
    Teres Sarde
    Tormenter's Charm
    Torsethed Sliver
    Untarswell of Aira
    Vuruling Vitu
    Werkunstewant of the Monaw (ruling: return to owner's hand)
    Wildstoke Foulis (ruling: always 1/1 creature, player's choice whether green Centaur or blue artifact flying)
    Wishra's Light
    Yomiza-Trib the Martor

    Ageseal's Artifact
    Amel'rpen Threestel
    Amostal Shrere
    Apsedagu Ropoor
    Avogeren Chasmat
    Balmins Brovaligance
    Barren Scar
    Bimblard Blith
    Blast Shark
    Blood of Lavnion (ruling: "slay" is just "put into your graveyard")
    Bloodmane Gargoyle
    Callerwast
    Calow of Wast
    Clogud of Rarge (ruling: double Flying can't be blocked by normal Flying! but still not worth exiling your library)
    Colelenhan Right
    Commandengle
    Content's Faster
    Deers of Aodo
    Deggry Barri
    Desiziar Infernerity1
    Dorsersteel Lava
    Dragon-Beary Scarpel
    Dragonheers
    Eherglass Laberation
    Elvosal Sadk
    Emberty (ruling: where reminder text doesn't match the real rules of a keyword, both standard rules and the reminder text apply. Not that you ever want to block your own fliers, but whatever)
    Encrashing Birds
    Eviral Nearue
    Exgo the Rickers (alas, no one could make sense of Horshers)
    Flame's Field
    Flumestooth of Marborge (ruling: T, T turns the card upside down. One untap brings it to tapped state. Not worth it to shuffle one's library)
    Gargalian
    Garruk, Leap in the Carapas
    Gate of Kresh
    Giant Loyod
    Giant Ruins
    Goldmy's Mana
    Guissers Aach
    Handso
    Hendtance Ibunder
    Heroia of Vandishade
    Ibrided Fovern
    Indical Lrightcaon
    Kerrenders Joquots
    Khinisana Mur
    Kilkorn Radker
    Kraeding's Ghost
    Len Asywamatanl
    Living Paladin
    Lulteater Megavos
    Mamoo World
    Manduj Masthorow
    Meinour
    Micster Dawnscault
    Miracight Monges
    Mountain (the land Aura, not the basic land Wink )
    Noxlo Greater
    Onoch Wall
    Outtan Recruit
    Pambash Warrior
    Path of Bone
    Pyredal Slamble
    Razderod Rework
    Ri Low's Teremage
    Roon War Medoma (but Beom Bump made the cut... go figure)
    Runger's Lill
    Rute of Jeirast
    Scalen of Urday
    Seating Tute
    Senterung Session
    Sings of Junay
    Skylacker Spirit
    Slethward Bestroh
    Slidshocking Krow
    Sliverform Sliver ("this land" was a dealbreaker apparently)
    Spellfeatter Wild
    Spirit of Elemental
    Sporatporing Angater
    Strught Mailinds
    Surs of Ally
    Threshorge Wider
    Tinglertal Bleem
    Time Tide
    Troll of the Barrelcruarian
    Turn the Wilds
    Wall of Plague
    Weal's xaradless
    Weatherseer Maggot
    Worph of Engroft
    Wulder of Boon
    Yus Chasere
    Zecross of Griffin

    EDIT: Here's the MSE to spare you having to hunt around to see what any of the above are!
    Posted in: Custom Card Creation
  • posted a message on Generating Magic cards using deep, recurrent neural networks
    Apparently I skipped way more Twitter @RoboRosewater cards than I'd thought. After I went back and put in every card I'd skipped, it was 182 creatures, 114 other.

    I can probably make a 4-person cube out of what I've got, though as MaximumC noted, there is a serious lack of removal spells, hah. Definitely still interested in getting suggestions from folks for cards outside the Twitter set.
    Posted in: Custom Card Creation
  • To post a comment, please or register a new account.