Monday, February 4, 2008

How do I choose which cards to add?

I get asked this question occasionally via e-mail, so I thought I would give you my long winded answer :) Well first of all, I have to be able to program the card. Fireball and Mind Twist are both iconic cards, but currently I can’t implement X spells or abilities. Many card choices are eliminated like Eternal Dragon (5/5, pay 3WW: move this creature from your graveyard to your hand), because they are too complicated.

Second, the card has to be powerful or fun. No one really wants to play with Eager Cadet. He is a feisty 1/1 but who wants that when you can use Isamaru, Hound of Konda or Savannah Lions who both attack for 2. Practically no one has ever played with a real card board Ancestral Recall or Juzam Djinn and my program lets you experience that kind of rush.

MTG Forge also has all the Moxes which are insanely powerful. Mudbutton Torchrunner (1/1, deals 3 damage to creature or player when destroyed) strikes me as funny and Hex (4BB, destroy six creatures) is just awesome if you can pull it off. A few times the computer really devastated me with Hex. Relentless Rats is the ultimate fun card and now you can build that deck that you have been dreaming of since it was printed way back in Fifth Dawn.

I also try to program cards that generate lots of interest like the planeswalkers and cash rares like Thoughtseize and Damnation. I added Flametongue Kavu because the magazine Inquest (when it was around) talked so much about 187 creatures. (187 is the police term for murder, so a 187 creature kills another creature.) Flametongue is just an insane card and those are the kind of cards that catch my attention. When Kiki-Jiki, Mirror Breaker first came out there were a ton of questions about him. I love using Kiki-Jiki and I’m glad that MTG Forge has that card.

Finally, I try to pick cards that are good for sealed and draft. Limited has always interested me and I have always thought of MTG Forge as a limited simulator. Constructed (all of MTG Forge’s cards) can get old but the limited portion of the game was the most interesting part to me. Limited games seem to offer more variety and surprise than constructed since you don’t know what cards you are playing against. The only constructed games I play use the “Generate Deck” that I so enjoy.

I played Shandalar a lot when I first downloaded it but I got bored of the constructed games. Shandalar’s sealed deck option was very fun even though the sets weren’t designed for sealed (I always seemed to have more red cards that any other color.) Some cards, like walls, really annoyed me and I wanted to remove them.

MTG Forge lets you add or remove cards by editing the files common.txt, uncommon.txt or rare.txt I am very happy that MTG Forge lets you mulligan unlike Shandalar. Sometimes a mulligan can make all the difference between winning and losing.


Kestell said...


I downloaded your program yesterday and was quite surprised.

But some feedback...

Firstly, you cannot install it without Admin rights on windows (this should be easy to fix).

Secondly the play area on my screen size was VERY small (and the side panels were excessively large), and considering that without the textures the cards does not need to be that large, I found this annoying.

The thing that annoyed me most was that there is no END OF TURN step in which I could tap my Library of Alexandria... (or play terror).

Troll Ascetic could be targeted.

I found it interesting that you decided to make aura enchantments into sorceries (Control Magic esp.)

Lastly... Would it be possible to have "default" textures for Green, Red etc?

You would need only 14 default textures:

5 colors
5 basics
1 multicolored
1 artifact
1 non-basic land
1 Face down

TommyTree said...

187 Creatures don't always kill another - 187 is a slang term for a creature with "come into play" ability. It was named this way because one of the first 187 crit was Nekraatal.

Andrew said...

Shandalar does allow (and AI does) mulligan, only it follows pre-6E rules, where mulligan was allowed only if you had none of either land or non-land cards.

And I fully agree with Kestell on unability to play something during opponent's turn (if AI doesn't play anything at all, you don't get even a stop in its main phase) is annoying.

As for "how do you choose which cards to add"... Maybe it's worth making card coding a community project?

Andrew said...

A small addition

It doesn't correctly show card rarity in draft. Not that it matters a lot, but still.

Wish there was an area where to post general comments, not comments to a specific post...

Forge said...

Thanks for your comments. I'm glad that my program/post generates interest.

First, hi kestell. The user interface is very basic and there is wasted space (especially for those of your with expensive wide monitors). You can reduce your monitor's screen resolution and the cards will seem bigger.

MTG Forge doesn't yet incorporate all of Magic's rules, so there is no EOT and Troll Ascetic only has regeneration. I took many shortcuts in order to get MTG Forge up and running. Hopefully in the future MTG Forge will incorporate more of Magic's rules.

I found it interesting that you decided to make aura enchantments into sorceries (Control Magic esp.)

They werer just easier to program, that is all. Right now MTG Forge doesn't support creature enchantments or equiptment.

To andrew, I thought my program should show the card rarity, it is in the far right column.

The source code for my project is included in the download file and people are free to contribute cards. People have sent me source code for 2 cards, Timetwister and Dark Banishing. Carding cards is really hard, so I'm the only one that does it. (Also I understand my program so it is easier for me to add cards that anyone else.)

MTG Forge probably needs its own webpage and forums, but that costs real money and this doesn't.

p.s. I'm very cheap. :)

Silly Freak said...

I also want to make a magic program, but since I wasn't in the mood to advance it for a time, I chose to help a little on this project.
At first, I read you had problems with packages in your IDE. I prefer eclipse. It really saves a lot of time.

Anonymous said...

Forge you might want to think of altering the card frames somehow in the future. This may safeguard you more by making the "Card Warriors" project more distinguishable from any other companies or projects out there. If you change the card names and the frames (perhaps even make slight alterations to the rules) you might avoid any further trouble (hopefully). It'd be a shame if "Card Warriors" suffered the same fate as that other program last year that got shut down.

Undead Pebble said...

I was just thinking that maybe programming the abilities instead of each seperate card could save time and energy in the long run. Then just add the abilities to each card that needs them and you're set. I'm just not sure this is possible.

If it is, it will take longer for the first few cards to come in, but once you get going, you can add them pretty quickly.

Forge said...

Hi, well to address silly freak. Java has been fun and great but I'm trying to program in Python. It seems more powerful and I am slowly working on version 2.0

"I was just thinking that maybe programming the abilities instead of each seperate card could save time and energy in the long run."

I do this with simple abilities like flying, haste, trample. I just add cards like those to the file "cards.txt" Any card that has an activated ability I have to customize, usually my cutting-and-pasting from a similar card. Eternal Witness and Gravedigger both share the same code.