Monday, December 1, 2008

Version 2 Progress

I hope everyone had a great Thanksgiving. I had some turkey and saw a movie, to me that is as good as it gets. Today I wanted to update everyone about the current condition of MTG Forge version 2. Version 2 isn't playable but let me tell you what it can do.

First, version 2 lets you cycle through all the phases and choose which phases to stop at. While this might seem like a small feature, it is something that version 1 can't do. Also version 2 lets you choose your phase stops. Ever since MTG Forge was first released people have been asking about these features. Hopefully version 2 will help you improve your game skills by allowing you and the computer to play instants and activated abilities at end of turn.

Second, version 2 is able to let the computer play first. In version 1 the computer can't play first because it breaks everything, this was an error that I didn't find until late in development. In version 2, I have repeatedly checked to make sure that everything works as it should when you or the computer goes first. Even though version 2 is still immature, I've still found a few errors that I had to fix concerning this issue.

The problem of letting the computer go first is that it broke the code that deals with the phases. As I have said before, just coding Magic's phases is difficult. I also had a hard time getting the "StackNotEmpty" phase to work correctly, this is the "phase" that lets you respond to a spell or ability that is on the stack. While this isn't technically a phase, it is handled like a regular phase.

Version 2 also has a mana pool, I can't wait to play Dark Ritual!!! The other good news is that version 2 is at a milestone, you can actually tap mana and play a card. I'll talk more about that on Wednesday. Until then, happy Magic-ing!!!


Anonymous said...

I don't want to be "neural network AI" trol , but yesterday i spend about 2 hours on one internet page that may interest you. Page can predict the object, animal or something other that you think, by asking around 20 questions...and then it replay .. I was suprised how accurate it can be. So if that program can be so accurate, it could also be used (neural networks)in AI.


Rule said...

Hi there,

I just discovered this blog a week ago and I must say I find it to be very interresting. I've started with programming and playing Magic around the same time (which was when I was around 12 years old). I didn't play Magic for a long time, but just recently I started again.

I just wanted to say this. Keep up the good work! It's fun!



Anonymous said...

I'm nrw in mtg forge, bt i play real MTG, BTW, In This MTG: Forge,how can i make card databases?

if you cant explain it, may you add the "sacrifice" effect? and add the goblins such as goblin sledder, siege-gang commander, and goblin piledriver!!


Anonymous said...

yeye, i think you should add the SACRIFICE

its cool playing goblin deck!!!
hahha!! tnx!!

very cool!!1

Anonymous said...

When will you release that vERSION 2 of MTG: FORGE???

Anonymous said...

I hope the new AI will take mulligan...

Forge said...

Well version 2 is currently released but it isn't playable. I'm working on version 2, but you wouldn't believe how long version 1 took to get 50 cards, I'm guessing that I spend from 8-10 months. Programing is hard, lol :)

Hopefully the AI can take a mulligan but currently the computer's deck is stack to give him maximum access to his lands and spells. This probably only helps the computer from 5-10%, but every little bit matters.

The reason that the computer plays Forest, Mountain, Forest, is because I stacked the computer's deck.

nantuko84 said...

hi, Forge
how many hours per day do you usually spend for version 2?
Why I'm asking is the feeling that not too much( I remember you've written about phase stops few months ago... Just to add, if you spent 2h per day but do it every day, it tooks only few days to create phases and less than week to implement manapool (even with junit tests and other stuff).
It seems real life takes your hours))

Anyway don't stop coding ;)

Anonymous said...

Looks like V2 is beginning to really come into shape now.

About the computer taking first turn:
How is it decided who goes first?
Is there a random decision or does the player decide to let the AI go first?

As for having just 50 cards to start with, if V1 is anything to go by, the players will add plenty of cards on their own so do not let a low number of cards keep you from releasing it once you have a functioning version.

This update has only made me want V2 even more.
It will be ready when it is ready and I will be there to playtest it!
A big thanks for all the work you have put into this project so far!

Forge said...


"how many hours per day do you usually spend for version 2?"

0 - 8 hours, lol. I'm all over the place. I guess I'm a little obsessive compulsive, so if I get thinking about something I can't sleep or do anything else. Other days I don't code at all. On average probably 1-2 hours a day.


"About the computer taking first turn: How is it decided who goes first?"

The same for a real-life game of match. The first game, randomly you or the computer decides who goes first. The second game the loser decides who goes first. (I think those rules are correct but I could be a little off.)

KcTec said...

I had mentioned on an older blog of yours that I am intrested in porting this code to C#. Just wondered if you had any issues with this?

Forge said...

Sure, you can port the code. I have no problems with that.

KcTec said...

Thanks so much forge! I have completed much of teh port already and I will submit a source forge project with the code this weekend! Again thanks so much.