Friday, November 6, 2009

Response to Comments

My last post generated a lot of comments and I wanted to address a few of them. Much of MTG Forge contains my “philosophy” of computer programming and Magic. My philosophy is often “if it is good enough, then stop.” Different people have different ideas about what is “good enough” and usually for me “good enough” means what is easiest for me to program. (I always knew that the user interface was going to be very plain at best.)

Many people don’t like the idea that the AI cheats. Of course most of the time people don’t know that the AI really does cheat. If I write and say that MTG Forge’s AI looks at your hand, people would get upset. But if I never tell people, they wouldn’t ever know, so they couldn’t get upset. (And please note that MTG Forge’s AI does not look at your hand because it wouldn’t be helpful.) I try to give users as many options as possible and MTG Forge has the option to smooth the AI’s land but you can also turn that option off.

MTG Forge is really just thousands of little decisions that I and other people had to make. Much like movie reviews where a person watches a movie for two hours and then criticizes it, I (and others) have spent hundreds of hours working on MTG Forge. If something works, like the deck editor, I receive no comments about it but if something is broken, I receive tons. Often I receive more criticism than praise and it doesn’t bother me. People are using MTG Forge and are enjoying a good game of Magic and that was my goal. (Ok, really my goal was for me to enjoy a good game of Magic but I don’t mind sharing.)

All of MTG Forge’s major flaws are a result of decisions that I made, such as the AI isn’t great, you can’t sideboard, and not all of the phases are implemented and I understand how these omissions could be frustrating for other people to understand.

I didn’t want MTG Forge to be a half-written program that never really did anything. Sourceforge.net and other sites have a TON of half-written programs which no one uses. MTG Forge is useable and despite some horrible coding practices like 10,000 line methods and global variables, it is very playable. (I just enjoyed a great 10 game quest last night. Ok, you got me, it was really a 16 game quest because I lost 6 times, ha.)

And to quote myself, MTG Forge is a collection of bugs that happens to play Magic.

p.s. I love the new Zendikar basic lands, they look great.

p.p.s.
Truthfully, I'm a perfectionist and I want everything to be 100% perfect but then I would have never completed MTG Forge. Computer programming (and life) often involve compromises.

6 comments:

Anonymous said...

Yeah, people are ungrateful bastards. I for one think MTG Forge is the most fun I've had playing Magic in a long time. Quest mode is the best.

Anonymous said...

"My last post generated a lot of comments"

Definitely ... probably due to the discussion my started. My first post was written with a spirit of frustration / disappointment, and I didn't make it especially _easy_ for everyone to welcome my points with open arms. But I think we managed to not let it get out of hand and ending in, mh, respectful disagreement, I think. That's one of things I really appreciate about this community btw, I think it has a pretty mature way of dealing with such things.

Anyway, back on topic: I do respect your approach to AI programming, although I disagree with seeing cheats as solutions, and (obviously) wish you'd share my opinion in this regard. But I don't want to harp on about it - what I'd like to do is to _encourage_ you to ask around for good AI solutions or implementations, join discussions, or even just call for ideas. Nobody's perfect, but I think when this community is working together, it has a good potential of finding strong and efficient AI algorithms. :)

Thanks for taking the time to write an "extra issue" of the blog to address the discussion.

Anonymous said...

It's a pity that you didn't say anything about the community idea of defining little tasks to improve your program very target-oriented.

Anonymous said...

You are doing a great job. This is a work in progress and over time the product will improve. I for one appreciate all you're doing.

Resonantg

Forge said...

The quest mode is great because it forces you to use sub-par cards. You also get to "bond" with your deck by playing against better decks. Also, you get to learn the intricacies of your particular deck. Last night I did well with a crazy WB deck.

www.estadisticasweb.biz said...

Quite effective info, thank you for the post.