Thursday, September 27, 2007

MTG Forge 2.0

I am in the process of rebuilding MTG Forge from the ground up. That means all of the cards have to be reprogrammed from scratch, none of the old cards will work with the new version. Today I just programmed the mana pool. This will allow cards like Early Harvest to work correctly as well as any cards that generate mana like Dark Ritual.

I like the Scourge land Temple of the False God that gives you 2 colorless mana if you have 5 or more land in play. The idea of lands producing more than 1 mana is just cool. Currently MTG Forge cannot implement Ravnica’s bounce lands because they generate 2 mana. Oddly enough Ravnica’s expensive duel lands were easy to program since they only generate 1 mana.

This is a rough outline of the features for 2.0 that I am shooting for. X spells and abilities like Fireball and Blaze. The computer is able to play counter spells, instants during combat, and at end of turn. (The computer can already use Remove Soul, yeah!!!) Phase stops, so you can set which phases to stop at, like end of turn. (Thankfully I have this tiny part already done, go me!!)

The ability to make a sideboard and use it during a match. (I have no idea if the computer should use his sideboard, maybe yes, maybe no. To begin with, it will be a no, since it is easier to program.) Quest mode where you start with a crappy deck and you have to win/buy better cards. Puzzle mode where you have to win by the next turn.

And hopefully being able to program most of the cards in a set like 10th Edition or maybe Lorwyn, so you can play real block decks. I’ve enjoyed programming old rares like Ancestral Recall and Flametongue Kavu, but they lack cohesion. I almost forgot, but I want to be able to code cards like Hypnotic Specter that trigger on combat damage or just regular damage.

Obviously this is sort of a long wish list and I might not be able to get it all done, we’ll see. Just a word of warning, MTG Forge 2.0 is still about 6 months away and will probably only have 50 cards, so you will have to enjoy the current version for awhile :)

23 comments:

Anonymous said...

6 months ..damn
thanks for putting in the work for this. I realy enjoy mtg forge.Keep up the great work

Nanocore said...

I'll second the sentiment about 6 months. However, I have been having some fun adding some extra GUI look and feel (really hesitate to call it eye candy) attributes to the existing version. So, that 6 months will probably go by quickly...

Forge said...

Thanks for the comments. I really enjoy Magic and MTG Forge lets me express that. Maybe Nanocore could send me some code? My blog is a little bit random, but I'm glad that I occansionally hit a nerve with other people.

Unknown said...

Hello, I am working with the site Anycraze on a new MTG project and was wondering if you might be interested in helping us. If you are, please visit our site (anycraze.com) and contact the store owners and they will put you in touch with me. Thanks for your work on MTG forge, I have never seen it until now, and I enjoyed playing it!

Anonymous said...

Hi. I very much appreciate MTG Forge and all of your effort that it represents--even though the AI isn't finished yet, your free program is immensely more fun than marking up two decks of cards and pretending they're MTG cards and playing against myself. I can't wait to see Forge and the new interface!! I just had a few questions about Planeswalkers while fooling around:

* Are Planeswalkers truly Legendary? They act like they are, but someone told me they technically aren't.

* Are you really allowed to use the ability of the Planeswalkers during both your turn and your opponent's?

* In the dialog box of the Planeswalkers, could you please add a 'Cancel' button?

Anonymous said...

would tack the computers ai to card abilities work? like opponents number of creatures = double my # of minions, cast wrath of god or damnation if able :)

and just to let you know (unless its like unfixable), that plainswalker abilities are sorceries, and i think you can block them attacking plainswalkers

o ya, thanks for doing this, it saved me money on paper and ink (i print my proxies)

Anonymous said...

I just found MTG Forge about a week ago, and all I can say is that it's a blast! And I'm still in shock that it's free!

I can't wait for V2!

Keep up the awesome work forge!

Anonymous said...

Really need to work on getting Tooth and Nail in there... That'd be awesome.

KcTec said...
This comment has been removed by the author.
KcTec said...

Your code is pretty cool. I have converted it to C# and have 100% of the app running and ported , while around 20% of the UI ported. I'm probally 2/3 months away from a running app As I only ported the first 20 cards from card factory. I'm really intrested in making this an open source C# .Net project but will not do it until I get your permission.

I really have enjoyed this as I have never ported a UI based app from Java to C#.

Anonymous said...

Did you know there is another pretty advanced project in Java doing the same thing?

It's on:
firemox.sourceforge.net

Last update was in 2007: the game worked pretty well, but there were quite a few bugs, and the codebase is MASSIVE.

Still, maybe you can salvage something or join forces with the author. One nice feature they had was that all their cards had real text, not just scans. Maybe you could do cards this way too...

Anonymous said...

Hmm, apparently they moved to firemox.org

Still no release since 2007, though.

the sandmon said...

Hey there, cool program you got working there. I have been developing one too, but based on Vintage (Type 1). It's been quite a while in development, I am just to busy to get a release done.

A question though, how do you decide on what cards are in and out?

Well, here's one waiting for your next version! I hope you have the time. Good luck!

Unknown said...

You're making a big effort, but I think you've got two things completely wrong:

-Card data should be tagged to allow a human to easily add cards, yet allow to work with non-text data.

-Regarding AI, you can't make a function for every single card. It makes no sense. I think you should code the ai appart from the game. Any card (played by human or cpu) affects game state, then reading the current game state, what's remembered and future current states AI should choose what to play. That's pretty much vague, but I think that's the direction that it should follow.

Anyways congratulations for your project.

Anonymous said...

What a WONDERFUL project!!!! I just downloaded the game today and am having a blast with it. Have you totally given up on 2.0? How can people help?

Anonymous said...

Bonjorno, mtgrares.blogspot.com!
[url=http://cialisybea.pun.pl/ ]Comprare cialis [/url] [url=http://athe.pun.pl/ ]Acquistare online[/url] [url=http://viagraradf.pun.pl/ ]Comprare viagra in Italia[/url] [url=http://viagraonline.pun.pl ]Acquisto viagra generico[/url] [url=http://viagracqui.pun.pl/ ]Vendita viagra in Italia[/url] [url=http://cialisenta.pun.pl/ ]Compra cialis generico[/url]

Anonymous said...

Could you add this to your wish list? A mtg forge program for the HTC droid phone, that would be amazing!

Anonymous said...

I haven't tested this version.

Running 01-01 forge.
Would like to point out some bugs I noticed:

Ajani Vengeant can use Lightning Helix as instant. (maybe like other planeswalkers)

Karmic Guide - is returning to hand.

PS - Is it possible to add other cards with mechanics that are already working?

Anonymous said...

You are my HERO!!!
I have been searching for months, and have finally found an application worthy of the card game..The AI in this is fantastic.

Keep up the great work.

Anonymous said...

I love this program, it allows me to test my decks before taking them against a real player. There are still cards I need for testing my legacy decks, like AEther Rift, and Ensnaring bridge, plus a few more, any chance on an update for these?

Ricki Hogaard said...

looking forward to playing the 2.0 version. Would be willing to help coding

Barbos said...

Perfect game for leisure.
What she has the system requirements?
The more cards in the "table" the greater burden experienced processor AMD Sempron 2.0Hz
One turn can last 15 minutes.

Raumsdall@mail.ru

Anonymous said...

I was wondering if anyone had some cards they programmed inot Forge and could maybe post them I am trying to build some decks and I have tried to program a few but they didnt work