<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-889604442512373664</id><updated>2012-01-27T11:38:29.302-08:00</updated><category term='Python'/><category term='Magic: The Gathering'/><category term='other trading card games'/><category term='legal'/><category term='non-programming'/><category term='artificial intelligence'/><category term='Magic'/><category term='Programming'/><category term='MTG Forge'/><category term='Computer Programming'/><title type='text'>Computer Programming and Magic: The Gathering</title><subtitle type='html'>I write about my experiences programming Magic: The Gathering using Java. The program is named Forge and it allows you to play Magic against the computer with rules enforcement. This blog is updated on Monday and  anyone can post comments. Email (mtgrares yahoo com)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default?start-index=101&amp;max-results=100'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>539</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-4775705048775450626</id><published>2012-01-24T10:23:00.000-08:00</published><updated>2012-01-24T10:36:51.413-08:00</updated><title type='text'>Magarena – Great AI</title><content type='html'>Magarena is a great, great program.  It lets you play Magic against the computer and has almost 2,000 cards.  The outstanding feature of Magarena is that the AI is as smart a human opponent.  The AI will punish you for mistakes and will play unexpected instants during combat.  While Forge’s AI is a nice stroll through the forest, Magarena feels more like all-out war.  You can also scale back the AI and limit the time that is had to “think ahead” to only a couple of seconds which makes the AI good but not great.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-7ctbEJFbRyM/Tx72ECSQfvI/AAAAAAAABsY/MblX723Neaw/s1600/magarena%2B-%2Bscreenshot.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://1.bp.blogspot.com/-7ctbEJFbRyM/Tx72ECSQfvI/AAAAAAAABsY/MblX723Neaw/s400/magarena%2B-%2Bscreenshot.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Magarena also has a great user interface which is skinnable and supports different themes.  The cards are artfully displayed so you can easily glance at your hand or the battlefield and see everything.  Combat is beautifully handled with a separate combat mode that graphically shows which creatures are attacking and blocking.&lt;br /&gt;&lt;br /&gt;Magarena also highlights the cards in your hand that you can play and if you double-click, it has an auto-pay feature.  In case you made a mistake, it even has a fabulous undo button.  Magarena also highlights cards that have an activated ability that you can use.  Also when attacking and blocking, Magarena highlights which creatures you can attack with and block.&lt;br /&gt;&lt;br /&gt;Magarena lets you choose between a cheating or non-cheating AI.  The difference is that the cheating AI can see the cards in your hand.  I randomly play against both cheating and non-cheating opponents and I cannot see a discernable difference.  Basically the cheating AI is a little bit better than the non-cheating.  &lt;br /&gt;&lt;br /&gt;Magarena has a difficult (even grueling) AI and a powerful, candy-covered user interface.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://magarena.googlecode.com/files/Magarena-1.21.zip"&gt;Magarena-1.21.zip &lt;/a&gt; (10 MB) (Windows,Linux)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://magarena.googlecode.com/files/Magarena-1.21.app.zip"&gt;Magarena-1.21.app.zip&lt;/a&gt; (10 MB) (Mac)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=82"&gt;Magarena Forum&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just a random programmer,&lt;br /&gt;mtgrares&lt;br /&gt;&lt;br /&gt;p.s.&lt;br /&gt;--Magarena is written in Java, which I think is very cool.  Java (can be) great.&lt;br /&gt;&lt;br /&gt;--If I understand Magarena’s docs, the strongest AI is the “monte carlo (cheat)” option.  This algorithm is very sophisticated.  As I understand monte carlo, it plays many thousands of games using random moves and then chooses the move (branch) that generates the best outcome for the AI and the worst outcome for the opponent.  Easy to explain but hard to code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-4775705048775450626?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/4775705048775450626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=4775705048775450626' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/4775705048775450626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/4775705048775450626'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2012/01/magarena-great-ai.html' title='Magarena – Great AI'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-7ctbEJFbRyM/Tx72ECSQfvI/AAAAAAAABsY/MblX723Neaw/s72-c/magarena%2B-%2Bscreenshot.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-8785560978077385328</id><published>2012-01-21T11:41:00.000-08:00</published><updated>2012-01-21T11:41:55.003-08:00</updated><title type='text'>Late Again</title><content type='html'>Robin - "Holy Cheesecake Batman, no new article today."&lt;br /&gt;&lt;br /&gt;Batman - "Yes, this seems to be the work of the nefarious Sweet Tooth".&lt;br /&gt;&lt;br /&gt;I'll try to post a new article sometime Monday.&lt;br /&gt;&lt;br /&gt;p.s.&lt;br /&gt;I just watched an 70's Batman cartoon and it was hilariously bad, though entertaining enough that I watched the whole episode.  It even had the mischievous Bat-Mite, who causes more chaos than he solves.  The show had horrible puns throughout.  It was similar to a really good b-movie and I just couldn't look away.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-8785560978077385328?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/8785560978077385328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=8785560978077385328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8785560978077385328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8785560978077385328'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2012/01/late-again.html' title='Late Again'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-7579122215068874299</id><published>2012-01-17T11:17:00.000-08:00</published><updated>2012-01-17T11:18:54.542-08:00</updated><title type='text'>New Version</title><content type='html'>(Sorry for not publishing anything on Monday.)&lt;br /&gt;&lt;br /&gt;New versions of Forge are great and taste like fresh buttered movie popcorn, hmmm…  There are 200 new cards and the user interface has gotten a major overhaul.  (And yes Forge now has Serum Powder.)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-BF-pvlVrECs/TxXGE8LTwtI/AAAAAAAABsM/OdLkiXqZ9EM/s1600/serum%2Bpowder.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="280" src="http://2.bp.blogspot.com/-BF-pvlVrECs/TxXGE8LTwtI/AAAAAAAABsM/OdLkiXqZ9EM/s400/serum%2Bpowder.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Chris. H. posted:&lt;br /&gt;&lt;br /&gt;(Begin quote)&lt;br /&gt;&lt;br /&gt;A new UI is being developed and it will take some time before it is finished. Forge is somewhat unstable at this time as the new user interface is a work in progress.&lt;br /&gt;&lt;br /&gt;The first step was to update the battlefield window. The second step was to update the New Game window and this section still needs some work. We want to get constructed node and then quest modes working first and will then try to get the draft and sealed modes working again afterwards. While most of this work has now been done there are still a few areas that are not finished and you may discover a bug or two.&lt;br /&gt;&lt;br /&gt;Enjoy the new work and be patient as this part of the project moves forward. For now, only "Constructed" mode is far enough along to be considered reasonably stable. Quest mode, Sealed and Draft are somewhat stable and you should be able to use these three modes without too many bugs and issues being noticed. Please report all bugs and issues that you notice.&lt;br /&gt;&lt;br /&gt;(End quote)&lt;br /&gt;&lt;br /&gt;Working on a new user interface is very complicated.  It takes weeks to create a new user interface and mere minutes to criticize.  I’m not saying that all criticism is bad but try to balance your criticism with a little bit of praise.  A good balance points out the good and as well as the bad.  &lt;br /&gt;&lt;br /&gt;Listing some positives also helps the author know what he is doing right, which is as important as highlighting the negatives.  If you only list negatives, the author will probably just give up out of frustration.&lt;br /&gt;&lt;br /&gt;Some of the new cards look very cool.&lt;br /&gt;&lt;br /&gt;Bogardan Phoenix (2RRR, 3/3, flying) returns to the battlefield after dying once.&lt;br /&gt;&lt;br /&gt;Culling Scales (3, artifact) - "At the beginning of your upkeep, destroy target nonland permanent with the lowest converted mana cost" if there is a tie, target any one of them.  This card is just dying to be the center of a creatureless blue control deck.&lt;br /&gt;&lt;br /&gt;Doubling Cube (2, artifact) - "3, tap: Double the amount of each type of mana in your mana pool".  Deckbuilders, start your engines.&lt;br /&gt;&lt;br /&gt;Vish Kal, Blood Arbiter (4WBB, 5/5, flying, lifelink) and some cool an ability to grow larger, if you sacrifice a creature.  Everybody loves flying fatties.&lt;br /&gt;&lt;br /&gt;Serum Powder (3, artifact) - If you have Serum Powder in you hand, you can exile all of the cards in your hand and then draw the same number of cards, which is an unique ability.  In my option, Serum Powder seems like it would improve most decks.&lt;br /&gt;&lt;br /&gt;Dreams of TCG videogames,&lt;br /&gt;mtgrares&lt;br /&gt;&lt;br /&gt;p.s.&lt;br /&gt;Maybe it was good that I didn't post anything Monday since a new version of Forge was released yesterday.  Sometimes being late is a good thing :+)&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;01-16 is when this version of Forge was first posted to the forums.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cardforge.org/releases/releases/forge/forge/1.2.1/forge-1.2.1.tar.bz2"&gt;Link&lt;/a&gt; - Forge 01-16 (Windows, Linux) 33 MB and can be unzipped with &lt;a href="http://winzip.com/"&gt;Winzip&lt;/a&gt; or &lt;a   href="http://www.7-zip.org/download.html"&gt;7-Zip&lt;/a&gt; (free, open source)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cardforge.org/releases/releases/forge/forge/1.2.1/forge-1.2.1-osx.tar.bz2"&gt;Link&lt;/a&gt; - Forge 01-16  (Mac) 35 MB and can be unzipped with with &lt;a href="http://www.kekaosx.com/en/"&gt;Keka&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?f7stkn8nqglzkbc"&gt;Download&lt;/a&gt; - Card Pictures (160 MB) - These are some of the low-quality (LQ) card pictures.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.com/"&gt;Java&lt;/a&gt; - Forge requires Java in order to run &lt;br /&gt;&lt;br /&gt;If you have any questions/comments, please post them to the &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=26"&gt;forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Reporting Bugs:&lt;br /&gt;Forge is always a work-in-progress. Some cards (and card interactions) are more buggy than others. To report a bug, please follow the instructions &lt;a href="http://www.slightlymagic.net/wiki/Forge#I_think_I_found_a_bug_in_Forge._What_do_I_do.3F"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;p.s.&lt;br /&gt;These are the people that make Forge awesome.  They donate their time, skill, and patience.&lt;br /&gt;&lt;br /&gt;ArsenalNut&lt;br /&gt;Chris H&lt;br /&gt;Dave&lt;br /&gt;DeadSpeak&lt;br /&gt;Doublestrike&lt;br /&gt;Friar Sol&lt;br /&gt;Hellfish&lt;br /&gt;Jeff Wadsworth&lt;br /&gt;Marc&lt;br /&gt;Mark&lt;br /&gt;Slapshot5&lt;br /&gt;Sloth&lt;br /&gt;SoulStorm&lt;br /&gt;Squee1968&lt;br /&gt;Xanbie&lt;br /&gt;ZzzzSleep&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-7579122215068874299?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/7579122215068874299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=7579122215068874299' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7579122215068874299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7579122215068874299'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2012/01/new-version.html' title='New Version'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-BF-pvlVrECs/TxXGE8LTwtI/AAAAAAAABsM/OdLkiXqZ9EM/s72-c/serum%2Bpowder.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-8287607931635206597</id><published>2012-01-09T01:05:00.000-08:00</published><updated>2012-01-09T10:55:34.563-08:00</updated><title type='text'>Thank You</title><content type='html'>This post is going to be a little bit different.  I don’t have bits of Java code to throw at you.  This is just a simple article saying, “Thank you for downloading Forge.”&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-CxXGsXiUcsQ/TwimQm0advI/AAAAAAAABsA/bSE7rP5QixI/s1600/griffin.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="282" src="http://3.bp.blogspot.com/-CxXGsXiUcsQ/TwimQm0advI/AAAAAAAABsA/bSE7rP5QixI/s400/griffin.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;(Card picture from the set - Duel Decks: Ajani vs. Nicol Bolas)&lt;br /&gt;&lt;br /&gt;When I started working on Forge I was at my lowest point and very depressed.  My college degree was getting me zero interviews and I had recently got myself into a huge heap of trouble which gave me a little too much time on my hands.  I knew that I enjoyed programming so I started working on Forge as a hobby.  I thought that more than likely no one else will ever see my work but it would at least give me something to do.&lt;br /&gt;&lt;br /&gt;Now other people actually contribute code to Forge and I just blog about it.  Most open source)projects don’t ever get off of the ground but with Forge there has always been people wanting to work on it, which is exceptionally rare.  For some reason open source videogames are rare and I’m glad that Forge is a shining example.&lt;br /&gt;&lt;br /&gt;The current developers have to deal with my design decisions and I say “Thank You” because they have done such a good job programming around Forge’s limitations.  I created Forge as well as I could but there were gaping holes in my logic and architecture.  I am humbled by the fact that they have added so many more cards to Forge than I would have been able to do as individual programmer.  Sometimes the group is smarter than the individual (but not always).&lt;br /&gt;&lt;br /&gt;I also want to say thanks to you for reading this blog.  Most of my life seems like a failure: no job, no girlfriend and I’m 33, but writing for this blog is very satisfying.  I get 200 to 300 hits a day which is very impressive considering that I only post one article a week.&lt;br /&gt;&lt;br /&gt;If I would have been able to find a job, Forge probably would have never been written.  The same thing probably could be said of J.R. Rowling, author of the Harry Potter series.  She began writing because she was nearly homeless and didn’t know what to do with her life.  &lt;br /&gt;&lt;br /&gt;I enjoy telling people that I started a thriving open source project.  Creating and working on Forge have been one of the highlights of my life.  I would encourage you to try to do something “big” yourself, even if the odds are stacked against you.  Even writing this very geeky, niche blog is very rewarding.&lt;br /&gt;&lt;br /&gt;Even if I never get a job programming professionally, Forge has given me confidence in my skills.&lt;br /&gt;&lt;br /&gt;Humble programmer and writer,&lt;br /&gt;mtgrares&lt;br /&gt;&lt;br /&gt;p.s.&lt;br /&gt;&lt;br /&gt;-- I also understand that Forge is far from perfect.  I wrote Forge to very flexible but that flexibility makes Forge harder to use.  Thanks for powering through and being able to see the beauty of Forge.&lt;br /&gt;&lt;br /&gt;--A side note about my recent programming activity.  I haven’t written any Java code in three years.  I don’t know if it is burnout or just laziness.  The main reason that I avoid coding is because it takes so much concentration, which is exhausting.  Programming is like doing an extremely, long math problem.  If you get the right answer it feels great and when you get the wrong answer, you feel like crap.  I try to praise the coders who work on Forge because I know how strenuous it can be.  Trying to fix a bug can be like the 3rd circle of hades.&lt;br /&gt;&lt;br /&gt;I do enjoy programming and maybe I can prod myself to work on a small project.  Trying to tackle a big project is like wrestling with a bear, you might win but it won’t be pretty.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-8287607931635206597?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/8287607931635206597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=8287607931635206597' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8287607931635206597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8287607931635206597'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2012/01/thank-you.html' title='Thank You'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-CxXGsXiUcsQ/TwimQm0advI/AAAAAAAABsA/bSE7rP5QixI/s72-c/griffin.jpg' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-5849994605372235260</id><published>2012-01-02T12:12:00.000-08:00</published><updated>2012-01-02T12:12:00.707-08:00</updated><title type='text'>Card Scripting</title><content type='html'>Card scripting is cool.  Instead of having to program cards using Java, which is usually very long and over 100 lines of code, card scripting is shockingly short.  Probably 95% of all cards in Forge are scripted.  &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-k_7EUDm3I-A/TvOP9wxWnmI/AAAAAAAABq0/mFYy93q6oRk/s1600/shivan.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="280" src="http://3.bp.blogspot.com/-k_7EUDm3I-A/TvOP9wxWnmI/AAAAAAAABq0/mFYy93q6oRk/s400/shivan.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;To look at a specific card’s scripting: first go to the forge folder, then res, then cardsfolder, and unzip “cardsfolder.zip”.  Cards like Jace, the Mind Sculptor do not have any scripting and the text file only holds basic information about the card such as its name, cost, card types and starting loyalty.&lt;br /&gt;&lt;br /&gt;Shock is always my favorite example.&lt;br /&gt;&lt;br /&gt;Name:Shock&lt;br /&gt;ManaCost:R&lt;br /&gt;Types:Instant&lt;br /&gt;Text:no text&lt;br /&gt;A:SP$ DealDamage | Cost$ R | Tgt$ TgtCP | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to target creature or player.&lt;br /&gt;SVar:Rarity:Common&lt;br /&gt;SVar:Picture:http://www.wizards.com/global/images/magic/general/shock.jpg&lt;br /&gt;SetInfo:8ED|Common|http://magiccards.info/scans/en/8e/222.jpg&lt;br /&gt;SetInfo:7ED|Common|http://magiccards.info/scans/en/7e/219.jpg&lt;br /&gt;SetInfo:STH|Common|http://magiccards.info/scans/en/sh/98.jpg&lt;br /&gt;SetInfo:9ED|Common|http://magiccards.info/scans/en/9e/220.jpg&lt;br /&gt;SetInfo:10E|Common|http://magiccards.info/scans/en/10e/232.jpg&lt;br /&gt;SetInfo:6ED|Common|http://magiccards.info/scans/en/6e/206.jpg&lt;br /&gt;SetInfo:M12|Common|http://magiccards.info/scans/en/m12/154.jpg&lt;br /&gt;SetInfo:ONS|Common|http://magiccards.info/scans/en/on/227.jpg&lt;br /&gt;Oracle:Shock deals 2 damage to target creature or player.&lt;br /&gt;End&lt;br /&gt;&lt;br /&gt;Obviously there is a fair about of information here such set information, where each card picture is located as well as its rarity.  &lt;br /&gt;&lt;br /&gt;A:SP$ DealDamage | Cost$ R | Tgt$ TgtCP | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to target creature or player.&lt;br /&gt;&lt;br /&gt;This is the “scripting” part that creates the card Shock.  The scripting restricts the targets to creatures or players, specifies the mana cost, and has some text to show the player.&lt;br /&gt;&lt;br /&gt;My 2nd favorite example is Elvish Piper.  He isn’t a powerhouse but he is a fun card to use.  &lt;br /&gt;&lt;br /&gt;Name:Elvish Piper&lt;br /&gt;ManaCost:3 G&lt;br /&gt;Types:Creature Elf Shaman&lt;br /&gt;A:AB$ ChangeZone | Cost$ G T | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ 1 | SpellDescription$ You may put a creature card from your hand onto the battlefield.&lt;br /&gt;PT:1/1&lt;br /&gt;SVar:Rarity:Rare&lt;br /&gt;&lt;br /&gt;Elvish Piper’s activated ability is far more complicated than Shock’s.  The cost is listed as “G T” which seems to mean “1 green mana” and “tap this card”.  “Origin$ Hand” means that the creature card is taken from the player’s hand.&lt;br /&gt;&lt;br /&gt;Name:Shivan Dragon&lt;br /&gt;ManaCost:4 R R&lt;br /&gt;Types:Creature Dragon&lt;br /&gt;PT:5/5&lt;br /&gt;K:Flying&lt;br /&gt;A:AB$ Pump | Cost$ R | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn.&lt;br /&gt;&lt;br /&gt;Shivan Dragon’s pump ability is a common effect, “R: Shivan Dragon getes +1/+0 until end of turn”.  Any card with a similar ability can be scripted as well.&lt;br /&gt;&lt;br /&gt;Name:Shivan Meteor&lt;br /&gt;ManaCost:3 R R&lt;br /&gt;Types:Sorcery&lt;br /&gt;A:SP$ DealDamage | Cost$ 3 R R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 13 | SpellDescription$ CARDNAME deals 13 damage to target creature.&lt;br /&gt;K:Suspend:2:1 R R&lt;br /&gt;&lt;br /&gt;Shivan Meteor is fairly straightforward except that it also has suspend.  Shivan Meteor regularly costs 3RR but can be suspended (and played) in 2 turns for 1RR.  The scripting for suspend is simple since other parts of Forge handle the actual implementation.&lt;br /&gt;&lt;br /&gt;Name:Akroma, Angel of Wrath&lt;br /&gt;ManaCost:5 W W W&lt;br /&gt;Types:Legendary Creature Angel&lt;br /&gt;PT:6/6&lt;br /&gt;K:Flying&lt;br /&gt;K:Vigilance&lt;br /&gt;K:First Strike&lt;br /&gt;K:Trample&lt;br /&gt;K:Haste&lt;br /&gt;K:Protection from red&lt;br /&gt;K:Protection from black&lt;br /&gt;SVar:Rarity:Rare&lt;br /&gt;&lt;br /&gt;Even though Akroma has a ton of text, all of the text is standard keywords.  Cards with activated abilities require more scripting than Akroma.&lt;br /&gt;&lt;br /&gt;Name:Day of Judgment&lt;br /&gt;ManaCost:2 W W&lt;br /&gt;Types:Sorcery&lt;br /&gt;A:SP$ DestroyAll | Cost$ 2 W W | ValidCards$ Creature | SpellDescription$ Destroy all creatures.&lt;br /&gt;&lt;br /&gt;Name:Wrath of God&lt;br /&gt;ManaCost:2 W W&lt;br /&gt;Types:Sorcery&lt;br /&gt;A:SP$ DestroyAll | Cost$ 2 W W | ValidCards$ Creature | NoRegen$ True | SpellDescription$ Destroy all creatures. They can't be regenerated.&lt;br /&gt;&lt;br /&gt;Obviously these two cards are almost clones of each other.  Wrath of God is slightly more powerful because creatures can’t regenerate.  Obviously Wizards of the Coast thought that Wrath of God was unbalanced and then created Day of Judgment.  The Wrath of God scripting includes “NoRegen$ True” which is a minor point but very important.  Since Wrath of God is scripted, its mirror Damnation is also scripted and has a different mana cost of 2BB.&lt;br /&gt;&lt;br /&gt;Scripting is great and it allows non-programmers to add new cards.  The scripting has gotten more complicated and is now a “little language” that does one thing well: create Magic cards.  &lt;br /&gt;&lt;br /&gt;Average blogger,&lt;br /&gt;mtgrares&lt;br /&gt;&lt;br /&gt;p.s.&lt;br /&gt;Eons long ago while I playing Magic Online, I remember using my Elvish Piper to play Darksteel Colossus (11, 11/11, creature, indestructible, trample).  Because they were expensive cards, I only had one copy of each card so I was very happy when I actually got to use them.  :+)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-6EgNM60yC9Q/TvOPyyePsSI/AAAAAAAABqo/FNtGeo4W9MQ/s1600/208.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="280" src="http://4.bp.blogspot.com/-6EgNM60yC9Q/TvOPyyePsSI/AAAAAAAABqo/FNtGeo4W9MQ/s400/208.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-5849994605372235260?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/5849994605372235260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=5849994605372235260' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/5849994605372235260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/5849994605372235260'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2012/01/card-scripting.html' title='Card Scripting'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-k_7EUDm3I-A/TvOP9wxWnmI/AAAAAAAABq0/mFYy93q6oRk/s72-c/shivan.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-6541998003063035808</id><published>2011-12-19T01:15:00.000-08:00</published><updated>2011-12-19T01:15:00.875-08:00</updated><title type='text'>New Version</title><content type='html'>Santa’s little computer programming elves have been furiously coding in order to bring you new cards for the Christmas season.  (Back to real life.)  Forge’s development team, which has been called the “A-Team of programming” and the “Java Giants”, has been energetically coding new cards and features.  There are 400 new cards for a total of 9,745 cards, making Forge the “best videogame ever created”.  (Soon to be copyrighted phrase by Forge’s crack team of invisible lawyers.)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-4BdIrDEtLFc/Tuz7zyWl6qI/AAAAAAAABqc/5dh-5Im_6e0/s1600/184.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="280" src="http://3.bp.blogspot.com/-4BdIrDEtLFc/Tuz7zyWl6qI/AAAAAAAABqc/5dh-5Im_6e0/s400/184.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Some of the new cards include:&lt;br /&gt;&lt;br /&gt;Aerial Caravan (4UU, 4/3 creature, flying) has "1UU: Exile the top card of your library.  Until end of turn, you may play that card" which is awesome because you can play any card for only 1UU.  Combine this with Sensei’s Diving Top for complete insanity.&lt;br /&gt;&lt;br /&gt;Autochthon Wurn (10GGGWW, 9/14, trample) - Has convoke so you tap creatures to reduce the mana cost.  Other convoke cards include Conclave Equenaut (4WW, 3/3, flying) and Conclave Phalanx  (4W, 2/4).&lt;br /&gt;&lt;br /&gt;Instants can also have convoke like Devouring Greed (1WW, "Exile target attacking or blocking creature").&lt;br /&gt;&lt;br /&gt;Basandra, Battle Seraph (3RW, 4/4, flying) has "Players can't cast spell during combat" as well as "R: Target creature attacks this turn if able".  Both abilities combine to completely dominate the game.  If you can get this card on the board, you have a good change of winning the game.&lt;br /&gt;&lt;br /&gt;Cease-Fire (2W, instant) says “Target player can't cast creature spells this turn. Draw a card".  This card (almost) makes your opponent skip a turn AND replaces itself.  Cease-Fire is very good in constructed and awesome in sealed or draft.&lt;br /&gt;&lt;br /&gt;Please note that you need to play Cease-Fire BEFORE your opponent’s main 1 phase.  If the computer has already cast a creature and it is on the stack, you are too late.&lt;br /&gt;&lt;br /&gt;Damping Matrix (3, artifact) turns off all activated abilities, which is awesome.  This one card can completely change the flow of the game.&lt;br /&gt;&lt;br /&gt;Engineered Explosives (X, artifact) has "sunburst" which means "This enters the battlefield with a charge counter on it for each color of mana spent to cast it."  &lt;br /&gt;&lt;br /&gt;Engineered Explosives lets you destroy all non-land permanents that have a converted mana cost equal to the number of (sunbursted) charge counters.  This card is roughly a targeted Final Judgement.  Any card that lets you destroy multiple creatures is a game-winner.  Engineered Explosives combines well with cards like Birds of Paradise, which can produce any color of mana.&lt;br /&gt;&lt;br /&gt;I presume most everybody knows this but let me mention it anyways.  If you have green mana Engineered Explosives will destroy all cards that have a converted cost of 1, which means if the card cost was 1 or W or B or U or R or G, the card would be destroyed.  If you have green and blue mana Engineered Explosives will destroy any card with a converted cost of 2, such as 1G, 1U, BB, or RG.&lt;br /&gt;&lt;br /&gt;Goblin Cannon (4, artifact) says "2: Goblin Cannon deals 1 damage to target creature or player. Sacrifice Goblin Cannon".  This card makes me laugh.  A beginner will pay 2 and deal 1 damage.  An advanced player will wait and spend 6 to deal 3 damage.  &lt;br /&gt;&lt;br /&gt;The reason that you can use this ability multiple times is because Goblin Cannon is destroyed when the ability resolves, i.e. is pushed off of the stack.  If Goblin Cannon said “2, sacrifice Goblin Cannon: etc…” then you could only use the ability once because the ability’s cost forces you to sacrifice the card.  Before the colon is a cost.  After the colon is an effect.  &lt;br /&gt;&lt;br /&gt;And I’m pretty sure that the computer will only pay 2 and use Goblin Cannon once.&lt;br /&gt;&lt;br /&gt;Pro-Tour Wannabe,&lt;br /&gt;mtgrares&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Downloads&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;(11-25 is when this version of Forge was first posted to the &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=26"&gt;forums&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/download.php?gfitxfbedq2qt11"&gt;Link&lt;/a&gt; - Forge 11-25 (Windows, Linux) 31 MB and can be&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unzipped with &lt;a href="http://winzip.com/"&gt;Winzip&lt;/a&gt; or &lt;a href="http://www.7-zip.org/download.html"&gt;7-Zip&lt;/a&gt; (free, open source)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/download.php?c55oyc652u10bro"&gt;Link&lt;/a&gt; - Forge 11-25&amp;nbsp;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;(Mac) 32 MB and can be unzipped with &lt;a href="http://www.kekaosx.com/en/"&gt;Keka&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?f7stkn8nqglzkbc"&gt;Download&lt;/a&gt; - Card Pictures (160 MB) - These are some of the low-quality (LQ) card pictures.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.com/"&gt;Java&lt;/a&gt; - Forge requires Java in order to run &lt;br /&gt;&lt;br /&gt;If you have any questions/comments, please post them to the &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=26"&gt;forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/6wGSX0N2"&gt;Readme.txt &lt;br /&gt;&lt;/a&gt;Contains lots of goodies such as:&lt;br /&gt;Installation and Updating to a newer version Instructions&lt;br /&gt;Advanced Updating to a newer version Instructions&lt;br /&gt;The Mac OS application version info&lt;br /&gt;Picture location info&lt;br /&gt;Launching Forge and Memory Issues&lt;br /&gt;Java 7 Issues&lt;br /&gt;Card Picture Issues&lt;br /&gt;&lt;br /&gt;Reporting Bugs:&lt;br /&gt;Forge is always a work-in-progress.  Some cards (and card interactions) are more buggy than others.  To report a bug, please follow the instructions &lt;a href="http://www.slightlymagic.net/wiki/Forge#I_think_I_found_a_bug_in_Forge._What_do_I_do.3F"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;New Features:&lt;br /&gt;When a spell or an ability appears on the stack and it says "(OPTIONAL)" you can right-click it to decide if you want to always accept or to decline it.&lt;br /&gt;&lt;br /&gt;The JuzamJedi cube has been updated with a newer list of cards.&lt;br /&gt;&lt;br /&gt;p.s.&lt;br /&gt;These are the people that help make Forge awesome.  They donate their time to: slog (read) through somebody else’s code, fix tiny details, stress out and go prematurely bald so we can have such a great piece of software.  I (and everyone that uses Forge) sincerely thank you.&lt;br /&gt;&lt;br /&gt;ArsenalNut&lt;br /&gt;Chris H&lt;br /&gt;Dave&lt;br /&gt;Doublestrike&lt;br /&gt;Friar Sol&lt;br /&gt;Hellfish&lt;br /&gt;Iran&lt;br /&gt;Jeff Wadsworth&lt;br /&gt;Marc&lt;br /&gt;Max mtg&lt;br /&gt;Rob Cashwalker&lt;br /&gt;Slapshot5&lt;br /&gt;Sloth&lt;br /&gt;Slowe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-6541998003063035808?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/6541998003063035808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=6541998003063035808' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/6541998003063035808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/6541998003063035808'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/12/new-version.html' title='New Version'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-4BdIrDEtLFc/Tuz7zyWl6qI/AAAAAAAABqc/5dh-5Im_6e0/s72-c/184.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-7477898093999436056</id><published>2011-12-16T11:42:00.000-08:00</published><updated>2011-12-16T11:42:46.606-08:00</updated><title type='text'>Wizards of the Coast - Lay-offs</title><content type='html'>You want to work at Wizards of the Coast right?  The place were Dungeons and Dragons is right around the door and is home to best TCG ever created.  Even the venerable, Pro Tour commentator Randy Buehler was laid off, ouch!  &lt;br /&gt;&lt;br /&gt;I have a hard time understanding how Wizards isn't rolling in money because Magic Online seems like such a huge success.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://community.wizards.com/go/thread/view/75882/19599502/WOTC_announces_lay-offs"&gt;Here&lt;/a&gt; is a link to those laid off.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dorktower.com/"&gt;Dork Tower&lt;/a&gt;, a free online comic, is great!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-XxBs5acP1hU/Tuub4IkyH8I/AAAAAAAABqE/nETwR5xzXu4/s1600/DorkTower1013.gif" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="219" src="http://4.bp.blogspot.com/-XxBs5acP1hU/Tuub4IkyH8I/AAAAAAAABqE/nETwR5xzXu4/s400/DorkTower1013.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;-------------------------------------------------------&lt;br /&gt;&lt;a href="http://community.wizards.com/wotc_richbaker/blog/2011/12/13/december_update"&gt;Rich Baker&lt;/a&gt; has posted his farewell on WotC's forums.&lt;br /&gt;&lt;blockquote&gt;Today, Wizards of the Coast eliminated my position. I have unfortunately been let go, after more than 20 years of employment with TSR/WotC.&lt;br /&gt;&lt;br /&gt;I still hope to write for the Forgotten Realms novel line as time and opportunity permit. In fact, I'm going to go home tonight and finish my second draft of Prince of Ravens. There may be some more opportunities down the road.&lt;br /&gt;&lt;br /&gt;D&amp;D fans... thanks for a great run. I hope I've given you some good gaming over the years. Your game is in good hands with Mike and Monte.&lt;br /&gt;&lt;br /&gt;For fans of the A&amp;A minis games, I would like to say that this does not signal the cancellation of any miniatures lines. I hope I can take on some of the design work on a freelance basis, but we'll have to see.&lt;br /&gt;&lt;br /&gt;Time to splice the main brace, as they say. Good gaming, all!&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-7477898093999436056?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/7477898093999436056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=7477898093999436056' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7477898093999436056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7477898093999436056'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/12/wizards-of-coast-lay-offs.html' title='Wizards of the Coast - Lay-offs'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-XxBs5acP1hU/Tuub4IkyH8I/AAAAAAAABqE/nETwR5xzXu4/s72-c/DorkTower1013.gif' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-7176379059599306475</id><published>2011-12-12T01:17:00.000-08:00</published><updated>2011-12-12T01:17:00.506-08:00</updated><title type='text'>The Accidental Creation of Forge</title><content type='html'>In many ways Forge was a happy accident.  I was bored and looking for something “interesting” to code.  People can go there whole lives without programming something “interesting” and most code is as interesting as a phone book.  &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-2xXO9K_3Zzs/TuEPOHrzwoI/AAAAAAAABps/JOkhLSRdZ08/s1600/singenuity.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="282" src="http://3.bp.blogspot.com/-2xXO9K_3Zzs/TuEPOHrzwoI/AAAAAAAABps/JOkhLSRdZ08/s400/singenuity.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Magic: The Gathering had a number of hard problems, such as how to code many different types of cards.  Obviously the more card text meant that the card would be tougher to program.  Some of the thorny problems were, “How to encode a Magic card into Java?” and “How you do allow a card to override almost any rule?”  &lt;br /&gt;&lt;br /&gt;Forge uses two mechanisms for the card code.  Readable “scripting” and Java code, which is much longer but infinitely flexible.  The scripting is very useful that it probably accounts for 90% of all of the cards in Forge.  The scripting has also become more complicated, which is a good thing, because it can be used to add more cards.&lt;br /&gt;&lt;br /&gt;Forge allowed me to witness the trials of a “real program”.  Once a program is over 10,000 lines of code, then you start to see all of these tiny problems that you may or may not be able to fix.  A “real program” is like a concrete building which is set in stone.  Although buildings can be moved and overhauled, they take an enormous amount of effort.  (When I began writing Forge I purposefully ignored “protection” because it was too complicated.  I was amazed when Dennis changed hundreds of lines of code just to get protection working.)&lt;br /&gt;&lt;br /&gt;The graphic user interface (gui) is also a hard problem, with no clear solution.  There is a ton of information that the player would like to have at his fingertips and the screen quickly become full.  I took my stab at Forge’s gui design and it was functional but sparse.  More and more gui details have been added, such as attacking and defending icons, which makes the game easier to play.&lt;br /&gt;&lt;br /&gt;The gui continues to evolve.  Here is a beautiful screenshot to wet your whistle.  (Please note that this gui is not currently available and is a work-in-progress.)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-DNqRkdDu4KY/TuEOAi0qFDI/AAAAAAAABpU/t20VZ4idnOc/s1600/New%2BUI.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://4.bp.blogspot.com/-DNqRkdDu4KY/TuEOAi0qFDI/AAAAAAAABpU/t20VZ4idnOc/s320/New%2BUI.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Devoted Magic Player,&lt;br /&gt;mtgrares&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-7176379059599306475?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/7176379059599306475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=7176379059599306475' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7176379059599306475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7176379059599306475'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/12/accidental-creation-of-forge.html' title='The Accidental Creation of Forge'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-2xXO9K_3Zzs/TuEPOHrzwoI/AAAAAAAABps/JOkhLSRdZ08/s72-c/singenuity.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-8795137318914045401</id><published>2011-12-05T01:08:00.000-08:00</published><updated>2011-12-05T01:08:00.136-08:00</updated><title type='text'>Forge Sharpens Your Skills</title><content type='html'>One of my goals of Forge was to sharpen people's Magic skills even though the AI would be a little dumb.  My idea was that people would use a wide variety of cards and could play more games.  &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-_6uwFnnaUDE/Ttpv1LJ6A-I/AAAAAAAABo8/raqnvzTljNk/s1600/mayorofavabruck.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="226" src="http://3.bp.blogspot.com/-_6uwFnnaUDE/Ttpv1LJ6A-I/AAAAAAAABo8/raqnvzTljNk/s320/mayorofavabruck.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Having actual experience with a wide variety of cards is essential to becoming a good Magic player.  Rarely will one card be better than another in all circumstances.  Comparing Terror and Assassinate will make a good example.  &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-SliSINx5utk/TtprQQI8UxI/AAAAAAAABoY/UOTGLlnkkAI/s1600/terror.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="224" src="http://2.bp.blogspot.com/-SliSINx5utk/TtprQQI8UxI/AAAAAAAABoY/UOTGLlnkkAI/s320/terror.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1mlhyGQKwWE/TtprScavO3I/AAAAAAAABok/dEz8zSLQrnQ/s1600/assassinate.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="224" src="http://1.bp.blogspot.com/-1mlhyGQKwWE/TtprScavO3I/AAAAAAAABok/dEz8zSLQrnQ/s320/assassinate.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The question is, "Which card is more valuable?"  Obviously Terror costs 1 less and is an instant, making it very valuable.  Assassinate can kill any creature if it is tapped, which usually means that the creature gets in one good swing before you can kill it.  In general I would take Assassinate over Terror because Assassinate can kill black creatures but it would really depend on the type of deck or format.  (Forge doesn't really use the concept of formats like Modern or Legacy.)&lt;br /&gt;&lt;br /&gt;Obviously the best way to get better at Magic is to just play the game.  It doesn't matter if your opponent is the reigning world champion (&lt;a href="http://en.wikipedia.org/wiki/Magic:_The_Gathering_World_Championship#2011_World_championship"&gt;Jun'ya Iyanaga&lt;/a&gt;) or a random friend.  Just playing the game will help you know when you should attack and if you are winning or losing.  &lt;br /&gt;&lt;br /&gt;(A quick side note, if you are winning you should be willing to trade creatures when you attack but not when you block because you want to the game to end sooner rather than later.  If you are losing, you want the game to last longer because you are hoping that you can draw a powerful card to change your situation.  When you are losing you should trade creatures very carefully.  &lt;br /&gt;&lt;br /&gt;Trading creatures means that both creatures die.)&lt;br /&gt;&lt;br /&gt;In Forge, the AI attacks often to put pressure on you.  The AI may even lose because he attacks too much but sometimes the AI is correct.  Since the AI tries to be aggressive, it will occasionally startle you and make you sweat, which means that it is a good game.&lt;br /&gt;&lt;br /&gt;Hopefully Forge has made you a better Magic player :+)&lt;br /&gt;&lt;br /&gt;Question of the Week:&lt;br /&gt;Has Forge sharpened you Magic skills?&lt;br /&gt;&lt;br /&gt;Just a guy,&lt;br /&gt;mtgrares&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-8795137318914045401?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/8795137318914045401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=8795137318914045401' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8795137318914045401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8795137318914045401'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/12/forge-sharpens-your-skills.html' title='Forge Sharpens Your Skills'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-_6uwFnnaUDE/Ttpv1LJ6A-I/AAAAAAAABo8/raqnvzTljNk/s72-c/mayorofavabruck.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-1957357665887152141</id><published>2011-11-28T13:48:00.000-08:00</published><updated>2011-11-28T13:48:00.025-08:00</updated><title type='text'>Sealed and Drafting the Forge Way</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-gXK0dKv-81E/TtFUyxljbmI/AAAAAAAABoA/ZvGcm3dypj4/s1600/angel.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="320" width="226" src="http://2.bp.blogspot.com/-gXK0dKv-81E/TtFUyxljbmI/AAAAAAAABoA/ZvGcm3dypj4/s320/angel.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;(This card is an Innistrad token picture which is pretty cool for just a token.)&lt;br /&gt;&lt;br /&gt;Forge’s quest mode is fully realized and fleshed out, while the sealed and drafting modes are bare bones.  Obviously Forge’s sealed and drafting modes don’t have questing “levels” and it is easy to win against the computer.  &lt;br /&gt;&lt;br /&gt;Unfortunately the drafting mode is very easy.  While the AI does create his deck from the cards that he picks, the decks are mediocre at best.  The AI could draft much better if the card set was much smaller.  Trying to give 9,000+ cards a power rating, such as A or C, is much harder than only giving 350 cards a rating.  Forge does allow the user to create a custom set to draft from but it is complicated.&lt;br /&gt;&lt;br /&gt;I do not know how to make the AI better at sealed deck.  Basically you are trying to create a deck that is “good” with a semi-random collection of cards.  The deck should have a basic mana curve with mostly creatures, some removal is possible, and a few creatures/spells that are good finishers: either creatures with evasion or spells that cause direct damage.  While I understand the basics of deck building, I don’t know how to specifically program the AI to build better decks.  &lt;br /&gt;&lt;br /&gt;Programming a better drafting AI seems impossible because you need to create a specific formula for the computer to follow.  Human intuition is trained through observation but computer programming is accomplished through logical steps, if this is true then do that.  Programming is like following a recipe with mathematical precision, there is no “flavor to taste”.  &lt;br /&gt;&lt;br /&gt;Basically the computer is an idiot and computer programming makes the idiot appear smarter than he really is.  (If you have ever seen an unintelligible error message, you will quickly realize how dumb the computer really is.)&lt;br /&gt;&lt;br /&gt;From the very beginning, I knew that Forge’s drafting and sealed mode would not feel like real life but it would it be an approximation.  When you draft in Forge you still have to watch your mana curve, choose good creatures, splash for big spells, and stay in your colors, all of the things that you have to do when you draft in real life.  I’ve never drafted or played sealed deck in real life, so for me Forge is as close as it gets.  (I’m guessing that most people have haven’t drafted or played sealed deck in real life but who knows.)&lt;br /&gt;&lt;br /&gt;Question of the week:&lt;br /&gt;Have you played draft or sealed deck in real life?&lt;br /&gt;&lt;br /&gt;Currently not programming but has thoughts &lt;br /&gt;of programming again some day…&lt;br /&gt;--mtgrares&lt;br /&gt;&lt;br /&gt;p.s.&lt;br /&gt;--Part of this blog is just me hammering the fact that programming is very hard.  Programmers understand this but many other people do not.  Think of Java code as concrete.  Concrete cannot be randomly thrown around and neither can code.  &lt;br /&gt;&lt;br /&gt;--Artificial intelligence is just an illusion, like a magic trick.  The illusion can be strong but it doesn’t mean that it is true.  I have no fear of computers learning to think and becoming sentient.  (Despite many movies to the contrary.)&lt;br /&gt;&lt;br /&gt;Someone once asked, “Can a computer think?”&lt;br /&gt;&lt;br /&gt;He replied, “Does a submarine swim?”  &lt;br /&gt;&lt;br /&gt;(Stolen from &lt;a href="http://andyblumenthal.posterous.com/watson-can-swim"&gt;here&lt;/a&gt;.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-1957357665887152141?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/1957357665887152141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=1957357665887152141' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1957357665887152141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1957357665887152141'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/11/sealed-and-drafting-forge-way.html' title='Sealed and Drafting the Forge Way'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-gXK0dKv-81E/TtFUyxljbmI/AAAAAAAABoA/ZvGcm3dypj4/s72-c/angel.jpg' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-2304739480786089032</id><published>2011-11-26T13:15:00.000-08:00</published><updated>2011-11-26T13:15:46.017-08:00</updated><title type='text'>The Forum Is Currently Not Working</title><content type='html'>Currently Forge's forum is not working as well slightlymagic.net. I hope the problem is only temporary because the forums have been very useful.  Please post any relevant information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-2304739480786089032?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/2304739480786089032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=2304739480786089032' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/2304739480786089032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/2304739480786089032'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/11/forum-is-currently-not-working.html' title='The Forum Is Currently Not Working'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-3551344157284751576</id><published>2011-11-21T01:32:00.000-08:00</published><updated>2011-11-21T01:32:00.190-08:00</updated><title type='text'>Why Is The Quest Mode So Much Fun?</title><content type='html'>The quest mode is my favorite part of Forge.  There is something intoxicating about starting with a random selection of cards and transforming your deck into a Magic killing machine.  The computer quest opponents clearly have stronger cards than you do and you might even be envious when you see them play a duel land from Alpha.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-eIRBmmvbR2M/TsazxmCChqI/AAAAAAAABn0/OOsqEzaWLTg/s1600/snowmercy.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="282" src="http://1.bp.blogspot.com/-eIRBmmvbR2M/TsazxmCChqI/AAAAAAAABn0/OOsqEzaWLTg/s400/snowmercy.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The quest mode is fun because it forces you to use a wide variety of cards.  Some cards like Shock, which deals 2 damage, are clearly worse than Lightning Bolt which deals 3 damage but when questing, Shock is a very good card.  In fact I don't mind paying 2R to get an effect like Shock because it is so powerful.  &lt;br /&gt;&lt;br /&gt;Strategies like life gain or land destruction are not very powerful in constructed decks but they are viable strategies when questing.  Even when the computer occasionally uses life gain or land destruction, it can be very surprising and frustrating.  &lt;br /&gt;&lt;br /&gt;The quest mode is fun because it can be very challenging and you will lose a few games.  Sometimes you lose because you made a mistake but sometimes you lose because the computer just drew the right cards.  Recently when questing, I had 2 wins and 6 losses.  The computer seemed to be on a lucky streak and I had no chance of winning against two 3/3s with vigilance and double strike (it was a sliver deck).  It was ironic because I thought, "I'm losing and I'm really enjoying this."  If you can lose and still enjoy the game, then it is a really good game: videogame or otherwise.&lt;br /&gt;&lt;br /&gt;The quest mode forces you to learn your deck well.  By playing the same deck over and over again you really get a "feel" for the deck.  I tend to fall in love with the quest deck that I'm using because I know that I've tuned this deck, one card at a time, and transformed it from wimp to warrior.  Every quest deck is unique.  I recently played a quest deck where I had one dredge card and it was a game winner against decks that had a lot of removal.  I could keep playing the dredge card over and over again.&lt;br /&gt;&lt;br /&gt;On paper the quest mode is boring and menu based but in reality it is an addictive add-on that makes Forge infinitely replayable. &lt;br /&gt;&lt;br /&gt;Question of the week:&lt;br /&gt;What is your favorite Forge format: constructed, sealed, draft, quest or something else?&lt;br /&gt;&lt;br /&gt;Keep on questing,&lt;br /&gt;mtgrares&lt;br /&gt;&lt;br /&gt;p.s.&lt;br /&gt;My quest strategy:&lt;br /&gt;1.  Two color deck with 9 lands of each color&lt;br /&gt;2.  No more than 5 cards that cost 5 or greater&lt;br /&gt;3.  My goal is a creature heavy deck with a few removal spells or combat tricks &lt;br /&gt;4.  No (or few) 1/1s because they are so wimpy&lt;br /&gt;5.  Try to have 1 or 2 "finishers" that will win the game, either creatures with evasion or spells&lt;br /&gt;&lt;br /&gt;I'm not a great deck builder so I usually see which two colors have the most cards and I add all of them.  Then I look through the list and remove the really horrible cards that are over-costed or not very useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-3551344157284751576?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/3551344157284751576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=3551344157284751576' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3551344157284751576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3551344157284751576'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/11/why-is-quest-mode-so-much-fun.html' title='Why Is The Quest Mode So Much Fun?'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-eIRBmmvbR2M/TsazxmCChqI/AAAAAAAABn0/OOsqEzaWLTg/s72-c/snowmercy.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-8202535023755780433</id><published>2011-11-14T01:42:00.000-08:00</published><updated>2011-11-14T10:28:48.048-08:00</updated><title type='text'>New Version</title><content type='html'>New versions of Forge are always a reason to celebrate.&amp;nbsp; Forge now has a total 9,536 cards which means that it has 200 new cards.&amp;nbsp; Imagine having to pay for those 200 new cards individually, yikes!&lt;br /&gt;&lt;br /&gt;(Sometimes I forget that people still use cardboard to play Magic.&amp;nbsp; I'm guessing that Magic Online must account for at least 50% of Wizards income since electronic cards don't have to be printed, packaged, and transported to a 3rd party.)&lt;br /&gt;&lt;br /&gt;Forge added about 34 flip cards from Innistrad and the older Kamigawa block. I'm just going to show some of the new cards, enjoy! (All the card pictures are from &lt;a href="http://magiccards.info/"&gt;Magiccards.info&lt;/a&gt; which is like Gatherer, except with bigger, higher-quality scans.)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Downloads&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;(11-04 is when this version of Forge was first posted to the &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=26"&gt;forums&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cardforge.org/releases/releases/forge/forge/1.1.7/forge-1.1.7.tar.bz2"&gt;Link&lt;/a&gt; - Forge 11-04 (Windows, Linux) 31 MB and can be&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unzipped with &lt;a href="http://winzip.com/"&gt;Winzip&lt;/a&gt; or &lt;a href="http://www.7-zip.org/download.html"&gt;7-Zip&lt;/a&gt; (free, open source)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cardforge.org/releases/releases/forge/forge/1.1.7/forge-1.1.7-osx.tar.bz2"&gt;Link&lt;/a&gt; - Forge 11-04&amp;nbsp;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;(Mac) 32 MB and can be unzipped with &lt;a href="http://www.kekaosx.com/en/"&gt;Keka&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?f7stkn8nqglzkbc"&gt;Download&lt;/a&gt; - Card Pictures (160 MB) - These are some of the low-quality (LQ) card pictures.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.com/"&gt;Java&lt;/a&gt; - Forge requires Java in order to run &lt;br /&gt;&lt;br /&gt;&lt;a href="http://mtgrares.blogspot.com/2011/10/new-version-and-updating-instructions.html"&gt;Link&lt;/a&gt; - To the previous post about the new version of Forge that has some installation information&lt;br /&gt;&lt;br /&gt;You can move your decks files by copying them from /old forge directory/res/decks/ to your new deck directory.&amp;nbsp; You can also copy your pictures from /old forge directory/res/pics/ to your picture directory.&lt;br /&gt;&lt;br /&gt;If you have any questions/comments, please post them to the &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=26"&gt;forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Keep on forging,&lt;br /&gt;mtgrares&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-61upmZJkjEU/Tr7AXukMxxI/AAAAAAAABkY/8Aa0YwCYye0/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-61upmZJkjEU/Tr7AXukMxxI/AAAAAAAABkY/8Aa0YwCYye0/s1600/1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-vEQqKu7SMXs/Tr7Adjx0neI/AAAAAAAABkg/csP1ivCOLbE/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-vEQqKu7SMXs/Tr7Adjx0neI/AAAAAAAABkg/csP1ivCOLbE/s1600/2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-HxaFCpFd0Bc/Tr7BuslpaUI/AAAAAAAABkw/eJ550bB1P4A/s1600/2a.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-HxaFCpFd0Bc/Tr7BuslpaUI/AAAAAAAABkw/eJ550bB1P4A/s1600/2a.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-OkU3c-Xj1dM/Tr7BvaJgAYI/AAAAAAAABk4/cEPSnmuP9ks/s1600/2b.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-OkU3c-Xj1dM/Tr7BvaJgAYI/AAAAAAAABk4/cEPSnmuP9ks/s1600/2b.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-pQ5zKgcDOk8/Tr7Bvsj0GTI/AAAAAAAABlA/kz69-CFyJ1U/s1600/2c.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-pQ5zKgcDOk8/Tr7Bvsj0GTI/AAAAAAAABlA/kz69-CFyJ1U/s1600/2c.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ZhG0pEZdw3A/Tr7Bvgpr_qI/AAAAAAAABlI/_ldJJoqMlKw/s1600/2d.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-ZhG0pEZdw3A/Tr7Bvgpr_qI/AAAAAAAABlI/_ldJJoqMlKw/s1600/2d.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-6Ekb5GgXSYM/Tr7BvysPGsI/AAAAAAAABlQ/ldiLhCxysNs/s1600/2e.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-6Ekb5GgXSYM/Tr7BvysPGsI/AAAAAAAABlQ/ldiLhCxysNs/s1600/2e.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-bVhBAiXkLsA/Tr7BwW_c-BI/AAAAAAAABlY/sqS1NrC8smM/s1600/2f.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-bVhBAiXkLsA/Tr7BwW_c-BI/AAAAAAAABlY/sqS1NrC8smM/s1600/2f.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-DPI9f35IlKY/Tr7Bwr4gbaI/AAAAAAAABlg/PHkppZ3Dp34/s1600/2g.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-DPI9f35IlKY/Tr7Bwr4gbaI/AAAAAAAABlg/PHkppZ3Dp34/s1600/2g.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-BtC9Y3swlSo/Tr7Bw5GzUAI/AAAAAAAABlo/58z928Gi_WM/s1600/2h.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-BtC9Y3swlSo/Tr7Bw5GzUAI/AAAAAAAABlo/58z928Gi_WM/s1600/2h.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-M3U4ZnNaF00/Tr7Bz8dmxyI/AAAAAAAABlw/B0U1hvMCbwQ/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-M3U4ZnNaF00/Tr7Bz8dmxyI/AAAAAAAABlw/B0U1hvMCbwQ/s1600/3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-9IaZ2rHkquM/Tr7B0CQgRcI/AAAAAAAABl4/ebUR34AuYzk/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-9IaZ2rHkquM/Tr7B0CQgRcI/AAAAAAAABl4/ebUR34AuYzk/s1600/4.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-4eVQfWWlkCI/Tr7B0h0lytI/AAAAAAAABmE/nVZeWylQH98/s1600/5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-4eVQfWWlkCI/Tr7B0h0lytI/AAAAAAAABmE/nVZeWylQH98/s1600/5.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-n9A_vqFdJDk/Tr7B1Gb_mOI/AAAAAAAABmM/vaY8ODVQaLU/s1600/6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-n9A_vqFdJDk/Tr7B1Gb_mOI/AAAAAAAABmM/vaY8ODVQaLU/s1600/6.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-5Q2DhR48Pec/Tr7B1XlJSgI/AAAAAAAABmQ/f8bl0XZU9rE/s1600/7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-5Q2DhR48Pec/Tr7B1XlJSgI/AAAAAAAABmQ/f8bl0XZU9rE/s1600/7.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-UjzPzRrr_gM/Tr7B10vHK4I/AAAAAAAABmc/QRfDsdUsWgM/s1600/8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-UjzPzRrr_gM/Tr7B10vHK4I/AAAAAAAABmc/QRfDsdUsWgM/s1600/8.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-wpxcIqmmVgw/Tr7B2AoaNwI/AAAAAAAABmk/Btd1FwNI9SQ/s1600/9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-wpxcIqmmVgw/Tr7B2AoaNwI/AAAAAAAABmk/Btd1FwNI9SQ/s1600/9.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-7rxfS9UdPjk/Tr7B2UfHOFI/AAAAAAAABms/HWzqDIbEQuI/s1600/10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-7rxfS9UdPjk/Tr7B2UfHOFI/AAAAAAAABms/HWzqDIbEQuI/s1600/10.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-_r18UszZahY/Tr7B25qetkI/AAAAAAAABm0/ZcJXwc8xHUE/s1600/11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-_r18UszZahY/Tr7B25qetkI/AAAAAAAABm0/ZcJXwc8xHUE/s1600/11.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-IcezKxu3PrI/Tr7B3WvDceI/AAAAAAAABm8/VQdhq0MygM8/s1600/12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-IcezKxu3PrI/Tr7B3WvDceI/AAAAAAAABm8/VQdhq0MygM8/s1600/12.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-JYGMJTkPE4s/Tr7B3UCYY-I/AAAAAAAABnE/H9ZC-rYdp7k/s1600/13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-JYGMJTkPE4s/Tr7B3UCYY-I/AAAAAAAABnE/H9ZC-rYdp7k/s1600/13.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Nz2Q5izwhVQ/Tr7B3xiPrFI/AAAAAAAABnM/vYuK057wppY/s1600/14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-Nz2Q5izwhVQ/Tr7B3xiPrFI/AAAAAAAABnM/vYuK057wppY/s1600/14.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-JnLSfQNaWt8/Tr7Ad5GH8lI/AAAAAAAABko/0sC5hrSrhD4/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;p.s.&lt;span style="font-weight: bold;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Many people helped with this version. A special thank you goes out to them.&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;ArsenalNut&lt;br /&gt;Chris H&lt;br /&gt;Dave&lt;br /&gt;Doublestrike&lt;br /&gt;Friar Sol&lt;br /&gt;Hellfish&lt;br /&gt;Jeff Wadsworth&lt;br /&gt;Marc&lt;br /&gt;Rob Cashwalker&lt;br /&gt;Skiera&lt;br /&gt;Slapshot5&lt;br /&gt;Sloth&lt;br /&gt;SoulStorm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-8202535023755780433?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/8202535023755780433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=8202535023755780433' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8202535023755780433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8202535023755780433'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/11/new-version.html' title='New Version'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-61upmZJkjEU/Tr7AXukMxxI/AAAAAAAABkY/8Aa0YwCYye0/s72-c/1.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-627610646670671220</id><published>2011-11-07T13:01:00.000-08:00</published><updated>2011-11-07T13:01:00.153-08:00</updated><title type='text'>Forge: Stable and Unstable Versions?</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;o:OfficeDocumentSettings&gt;  &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt; &lt;/o:OfficeDocumentSettings&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:WordDocument&gt;  &lt;w:View&gt;Normal&lt;/w:View&gt;  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;  &lt;w:TrackMoves/&gt;  &lt;w:TrackFormatting/&gt;  &lt;w:PunctuationKerning/&gt;  &lt;w:ValidateAgainstSchemas/&gt;  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;  &lt;w:DoNotPromoteQF/&gt;  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;  &lt;w:Compatibility&gt;   &lt;w:BreakWrappedTables/&gt;   &lt;w:SnapToGridInCell/&gt;   &lt;w:WrapTextWithPunct/&gt;   &lt;w:UseAsianBreakRules/&gt;   &lt;w:DontGrowAutofit/&gt;   &lt;w:SplitPgBreakAndParaMark/&gt;   &lt;w:EnableOpenTypeKerning/&gt;   &lt;w:DontFlipMirrorIndents/&gt;   &lt;w:OverrideTableStyleHps/&gt;  &lt;/w:Compatibility&gt;  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;m:mathPr&gt;   &lt;m:mathFont m:val="Cambria Math"/&gt;   &lt;m:brkBin m:val="before"/&gt;   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;   &lt;m:smallFrac m:val="off"/&gt;   &lt;m:dispDef/&gt;   &lt;m:lMargin m:val="0"/&gt;   &lt;m:rMargin m:val="0"/&gt;   &lt;m:defJc m:val="centerGroup"/&gt;   &lt;m:wrapIndent m:val="1440"/&gt;   &lt;m:intLim m:val="subSup"/&gt;   &lt;m:naryLim m:val="undOvr"/&gt;  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;  &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt; &lt;/w:LatentStyles&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;&lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}&lt;/style&gt;&lt;![endif]--&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-9wbnTVR7aFo/TrLlYdpr04I/AAAAAAAABkI/IIAgCI4Rjlc/s1600/demo.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-9wbnTVR7aFo/TrLlYdpr04I/AAAAAAAABkI/IIAgCI4Rjlc/s320/demo.jpg" width="225" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Innistrad token&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="MsoNormal"&gt;I love Forge but that does not mean that it is perfect.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Forge is an ever-growing, mutation.&lt;span&gt;&amp;nbsp; &lt;/span&gt;And as we all know some mutations cause theX-Men and other cause the less interesting superheros like Aquaman or The Tick.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Programmers are free to add (almost) anyfeature that they want, there are no committees or vetoes.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Everybody is allowed to do (almost) anything,so if Forge seems like a patchwork of different ideas…well…it is.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Ideally there would be a stable version of Forge and anunstable version.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Users who did not wantto deal with crashes or buggy cards would download and enjoy the stableversion.&lt;span&gt;&amp;nbsp; &lt;/span&gt;People who wanted the bleedingedge, with new cards and features would choose the unstable version.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The stable version would always have fewerfeatures and cards than the unstable, because some issues cannot be easilyfixed.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The biggest downside for having a stable and unstableversion of Forge is that is requires more time and effort.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Most of the programmers would probably workon the unstable version and a few programmers would solely work on the stableversion.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Both versions would share 95%of the same code.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Features that werefixed for the stable version could be integrated into the unstable version andvice versa.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Although this sounds easy in theory, in practice this wouldrequire a different mindset.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Mostprogrammers add new cards, which is relatively easy to do.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Cards are not thoroughly checked for accuracy.&lt;span&gt;&amp;nbsp; &lt;/span&gt;There is no set of tests which a card has topass.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The stable version would requirethat each card pass a minimum number of tests that were specifically writtenfor each card.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Obviously adding moretests would mean more code and more time.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;A couple of years ago I did create very hackish, duck tapedpatch for Forge that removed a list of buggy cards.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(The cards were replaced with a genericcreature card that cost 2 and created a 2/2 creature.)&lt;span&gt;&amp;nbsp; &lt;/span&gt;The card names were kept in a require textfile which anybody could update.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Whilethis did not remove the buggy features from Forge, it did remove the buggycards, which was an improvement.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;All in all, Forge is becoming less buggy.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I applaud the efforts of everybody who hashelped make Forge the great, fun, fantastic, original program that it is.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Excelsior,&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;The Tick cartoon was actually pretty good but thelive-action TV series with Patrick Warburton smelled pretty bad.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Tick’s battle cry was, “Spoooon!”&lt;span&gt;&amp;nbsp; &lt;/span&gt;Which always made me laugh.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-627610646670671220?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/627610646670671220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=627610646670671220' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/627610646670671220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/627610646670671220'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/11/forge-stable-and-unstable-versions.html' title='Forge: Stable and Unstable Versions?'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-9wbnTVR7aFo/TrLlYdpr04I/AAAAAAAABkI/IIAgCI4Rjlc/s72-c/demo.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-7807749120893907985</id><published>2011-10-31T01:38:00.000-07:00</published><updated>2011-10-31T01:38:00.118-07:00</updated><title type='text'>Power Creep and Good TCG Design</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;o:OfficeDocumentSettings&gt;  &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt; &lt;/o:OfficeDocumentSettings&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:WordDocument&gt;  &lt;w:View&gt;Normal&lt;/w:View&gt;  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;  &lt;w:TrackMoves/&gt;  &lt;w:TrackFormatting/&gt;  &lt;w:PunctuationKerning/&gt;  &lt;w:ValidateAgainstSchemas/&gt;  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;  &lt;w:DoNotPromoteQF/&gt;  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;  &lt;w:Compatibility&gt;   &lt;w:BreakWrappedTables/&gt;   &lt;w:SnapToGridInCell/&gt;   &lt;w:WrapTextWithPunct/&gt;   &lt;w:UseAsianBreakRules/&gt;   &lt;w:DontGrowAutofit/&gt;   &lt;w:SplitPgBreakAndParaMark/&gt;   &lt;w:EnableOpenTypeKerning/&gt;   &lt;w:DontFlipMirrorIndents/&gt;   &lt;w:OverrideTableStyleHps/&gt;  &lt;/w:Compatibility&gt;  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;m:mathPr&gt;   &lt;m:mathFont m:val="Cambria Math"/&gt;   &lt;m:brkBin m:val="before"/&gt;   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;   &lt;m:smallFrac m:val="off"/&gt;   &lt;m:dispDef/&gt;   &lt;m:lMargin m:val="0"/&gt;   &lt;m:rMargin m:val="0"/&gt;   &lt;m:defJc m:val="centerGroup"/&gt;   &lt;m:wrapIndent m:val="1440"/&gt;   &lt;m:intLim m:val="subSup"/&gt;   &lt;m:naryLim m:val="undOvr"/&gt;  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;  &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt; &lt;/w:LatentStyles&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;&lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}&lt;/style&gt;&lt;![endif]--&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GsU-kQxnY_Y/Tqw8VfmBByI/AAAAAAAABkA/e5flp4EnzdQ/s1600/angel.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-GsU-kQxnY_Y/Tqw8VfmBByI/AAAAAAAABkA/e5flp4EnzdQ/s320/angel.jpg" width="225" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Magic: The Gathering is very fun to play but it is hard to dissectthe nature of "fun".&lt;span&gt;&amp;nbsp; &lt;/span&gt;One ofthe key areas that Magic does very well is that it avoids power creep, which isthe tendency to create ever more powerful cards thus obsolescing oldercards.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Cards from Alpha can easily playagainst newer sets like Innistrad.&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Obviously some of Magic's older cards are costed much too high and Ihate paying more than 3 for a 2/2.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;One way to avoid power creep is to not make cards clearly better.&lt;span&gt;&amp;nbsp; &lt;/span&gt;What I mean is, if a cards does X, avoid creatingcards that do X plus something more.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Tryto create cards that are similar to X but also have an ability that issometimes better and sometimes worse depending on the situation.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Make the player struggle (in a good way) tofigure out what is the card's overall power level and in what situations is itinferior and superior to previous cards.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Minimizing power creep also keeps vintage formatshealthy.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Vintage players would hate tobuy card X only to find out card Y is noticeably better.&lt;span&gt;&amp;nbsp; &lt;/span&gt;As long as you give cards the right amount ofvariation, it keeps the format "healthy" with a diverse assortment ofwinning decks.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Obviously using Forge is a great way to see a wide selectionof Magic's 14,000 cards.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(Some of youmay have 8,000+ different cards in your collection but most of us don't.)&lt;span&gt;&amp;nbsp; &lt;/span&gt;Magic: The Gathering is the result ofrelentless playtesting and the active avoidance of power creep.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I remember reading that only 10% of all cardsthat Wizards creates during development are actually printed, which means thatwe, the public, only see the top 10% cream of the crop.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Often you can't create the best cards withoutcreating plenty of bad ones.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;While it may seem like Magic "just happens" tominimize power creep, I'm sure that the "powers that be" are alwayson the lookout for it.&lt;span&gt;&amp;nbsp; &lt;/span&gt;"Because ifyou aren't looking for it, you'll probably fall in it", which is a randomsaying that I just made up.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;So in closing, power creep bad, Magic good, and if everybodyhad a million dollars the economy would fix itself.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(I'm joking of course because if everybodyhad a million, a million wouldn't be worth anything because money is based onthe idea of scarcity.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Hugs are not basedon scarcity: wtf?!?)&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Alpha Forger,&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s. &lt;/div&gt;&lt;div class="MsoNormal"&gt;Forge and other free programs are based on the idea thatscarcity doesn't matter and that people will donate free work/time if theproject is good enough.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The cool thingis when free projects like Linux and Firefox actually generate real jobs andrevenue transforming a "free project" into something that actuallyboosts the economy.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;On a side note, Forge will never generate money because oflicensing issues.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This isn't a slamagain Wizards, just a fact of life.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Wizards owns Magic and no one else can use their IP (intellectualproperty) without their permission, just like your fan-made script of "StarWars 3.5: The Death of Jar-Jar Binks" is never going to get made becauseGeorge Lucas won't authorize it.&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;I'venever seen the unauthorized edit of Star Wars which is colorfully called the &lt;a href="http://en.wikipedia.org/wiki/The_Phantom_Edit"&gt;phantom edit&lt;/a&gt; which minimizes the Jar-Jar problem since less Jar-Jaris always a good thing.&lt;span&gt;&amp;nbsp; &lt;/span&gt;At least Lucasdidn't make Jar-Jar a Jedi, "Me-sa going-to wield-a lightsaber-sa?&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Next time I'll discuss how Mark Rosewater uses Hitler'sstill-living brain to generate new cards and to warp the space-time continuumso that Roseanne is always stays on the air.&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Either you &lt;u&gt;&lt;span style="font-size: small;"&gt;do&lt;/span&gt;&lt;/u&gt; get the joke or you &lt;u&gt;&lt;span style="font-size: small;"&gt;do&lt;/span&gt;&lt;/u&gt; not.&lt;span&gt;&amp;nbsp; &lt;/span&gt;There is no try.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;....and I'll stop there, which also happens to be mycraziest rant.&lt;/div&gt;&lt;div class="MsoNormal"&gt;(so far)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[End Transmission]&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;"Power creep" reminds me of the song"Creep" from Rock Band..."But I'm a creep, I'm a weirdo..."&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[End Transmission: Again, sheesh...does this guy ever shutup?]&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;It's easy to be random at 4am.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;EOF&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-7807749120893907985?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/7807749120893907985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=7807749120893907985' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7807749120893907985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7807749120893907985'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/10/power-creep-and-good-tcg-design.html' title='Power Creep and Good TCG Design'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-GsU-kQxnY_Y/Tqw8VfmBByI/AAAAAAAABkA/e5flp4EnzdQ/s72-c/angel.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-1946885912032043215</id><published>2011-10-24T01:10:00.000-07:00</published><updated>2011-10-24T13:36:20.700-07:00</updated><title type='text'>New Version and Updating Instructions</title><content type='html'>&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-jf9S5gR6X-c/TqG6dUV2DyI/AAAAAAAABj4/CtybrWX4f6Q/s1600/tomstalker.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-jf9S5gR6X-c/TqG6dUV2DyI/AAAAAAAABj4/CtybrWX4f6Q/s320/tomstalker.jpg" width="224" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Approximately once a month I proclaim Forge's new cards and features.&amp;nbsp; Forgenow has 9,383 cards which means 200 new cards were added.&amp;nbsp; Forge has 225 cards from Innistrad and isonly missing 50 cards from that set.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Some of the new cards include: Behemoth's Herald (cost: G,creature, 1/1) which lets you put the gigantic Godsire (cost: 4RGGW, 8/8, vigilance)for only 2G if you sacrifice 3 creatures.&amp;nbsp;(And yes Forge has Godsire.)&amp;nbsp;White’s mages will relish Charge Across the Araba (cost: 4W, instant)that lets you return any number of plains that you have in order to give yourcreatures +1/+1 for each plain.&amp;nbsp; Forgealso has two other sweep cards: Barrel Down Sokenzan (cost: 2R, instant) and Sinkinto Takenuma (cost: 3B, sorcery).&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Bronze Bombshell (cost: 4, 4/1) that deals 7 damage to youropponent if you can “give” it to him.&amp;nbsp;Obviously you will have to think about this challenge and choose yourcards carefully.&amp;nbsp; The Future Sightexpansion was very “futuristic” with new keywords like delve which were mentioned on only1 or 2 cards.&amp;nbsp; Delve means “You may exileany number of cards from your graveyard as you cast this spell. It costs 1 lessto cast for each card exiled this way.”&amp;nbsp;Forge now has Death Rattle (cost: 5B, instant, delve) which destroys anon-green creature.&amp;nbsp; Forge also has theonly other card with delve, Tombstalker (cost: 6BB, 5/5, flying, delve)which is very impressive.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Provoke is always a fun keyword to use.&amp;nbsp; Provoke means “When this [creature] attacks,you may have target creature defending player controls untap and block it ifable.”&amp;nbsp; Basically you get to choose whichcreature blocks your creature.&amp;nbsp;The new card is Crested Craghorn (cost: 4R, 4/1, haste) which basicallykills any X/4 creature.&amp;nbsp; Forge has 3other provoking creatures, to find those cards in the deck editor type “provoke”in the “text” field.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Downloads&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://cardforge.org/releases/releases/forge/forge/1.1.6/forge-1.1.6.tar.bz2"&gt;Link&lt;/a&gt; - Forge 10-17 - (Windows, Linux) 30 MB and can be&lt;br /&gt;unzipped with &lt;a href="http://winzip.com/"&gt;Winzip&lt;/a&gt; or &lt;a href="http://www.7-zip.org/download.html"&gt;7-Zip&lt;/a&gt; (free, open source)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cardforge.org/releases/releases/forge/forge/1.1.6/forge-1.1.6-osx.tar.bz2"&gt;Link&lt;/a&gt; - Forge 10-17&amp;nbsp;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;  (Mac) 32 MB - Use &lt;a href="http://www.kekaosx.com/en/"&gt;Keka&lt;/a&gt; to uncompress 7z files &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?f7stkn8nqglzkbc"&gt;Download&lt;/a&gt; - Card Pictures (160 MB) - These  are some of the low-quality (LQ) card pictures.&amp;nbsp;&amp;nbsp; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.slightlymagic.net/forum/viewtopic.php?f=26&amp;amp;t=5582#p72967"&gt;Forum Post&lt;/a&gt; - Quest opponent pictures, booster pack pictures, and pet pictures can be downloaded.&amp;nbsp; Scroll to the bottom of the first post.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.com/"&gt;Java&lt;/a&gt; - Forge requires Java in order to run &lt;br /&gt;&lt;br /&gt;If you have any questions/comments, please post them to the &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=26"&gt;forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Thanks for reading,&lt;br /&gt;mtgrares&lt;br /&gt;&lt;br /&gt;p.s.&amp;nbsp; Below is valuable additional info that I wasn't sure where to put.&amp;nbsp; I know that using and upgrading Forge can be complicated so I'm including this info in order to try to be as easy as possible.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;How to download the card pictures&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;To download all of the card pictures, from the New Game screen, click on the menu named "Menu" and select "Download Card LQ Pictures".&amp;nbsp; LQ stands for low quality.&amp;nbsp; The "Download Card Set LQ Pictures" downloads each time the card was printed.&amp;nbsp; For example Shock has been printed in 10 different sets, so Forge would download all 10 pictures.&amp;nbsp; Forge can use high quality card pictures but you need to ask about them on the &lt;/span&gt;&lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=26"&gt;forum&lt;/a&gt;.&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;To move your card pictures read "&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Installation and Updating to a newer version&lt;/b&gt;" which is below.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Picture location info &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;by Chris. H.&lt;br /&gt;&lt;br /&gt;The quest opponent icons jpg picture files go into your /res/pics/icons folder. The quest pet icons jpg picture files go into your /res/pics/icons folder. The quest booster package jpg picture files go into your /res/pics/booster folder. The card token jpg picture files go into your /res/pics/tokens folder.&lt;br /&gt;&lt;br /&gt;Your forge game may not come with one or more of these three folders as part of the forge archive. In this case you should use your computer's OS file system to create the proper folders with the correct names and they must be located inside of the /res/pics/ folder.&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Installation and Updating to a newer version:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;by Chris. H.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;We have changed the archival format used for the Forge distributions from ".zip" to ".tar.bz2". There are utilities for Windows, Mac OS and the various *nix's that can be used to decompress these ".tar.bz2" archives. We recommend that you decompress the Forge archive into a new and unused folder.&lt;br /&gt;&lt;br /&gt;Once the Forge archive has been decompressed you should then be able to launch Forge by using the included launcher. Launching Forge by double clicking on the forge jar file will cause a java heap space error. Forge's memory requirements have increased over time and the launchers increase the java heap space available to Forge.&lt;br /&gt;&lt;br /&gt;After downloading and installing a newer version of Forge you may want to move certain files from the older version over to the newer version of Forge. You should maintain your older version of Forge as a back up incase you make a mistake while installing the newer version.&lt;br /&gt;&lt;br /&gt;1) The /res/pics/ folder contains the card pictures, token pictures, quest opponent icons, quest pet icons and the booster package images.&lt;br /&gt;&lt;br /&gt;2) The /res/decks/ folder contains your deck files. The /res/draft/ and the /res/sealed/ folders contains files for the sealed and draft mode. You should copy over your files inside of these folders that end in the extension ".draft" or ".zsealed".&lt;br /&gt;&lt;br /&gt;3) The /res/quest/ folder contains your questdata file. This file includes all of the information for your current quest.&lt;br /&gt;&lt;br /&gt;4) The Forge root folder contains a preference file named "forge.preferences" and you should also move a copy of this file over to the newer version. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;To make Forge look better (in my opinion):&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;1. Run Forge&lt;br /&gt;2. Open the menu, which is named "Menu"&lt;br /&gt;3. Select "Display Options"&lt;br /&gt;4. Scroll to the bottom and select "Nimbus"&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Many people helped with this version. A special thank yougoes out to them.&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;(Names listed alphabetically)&lt;br /&gt;&lt;br /&gt;Asret&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;Chris H&lt;br /&gt;Dave&lt;br /&gt;Doublestrike&lt;br /&gt;Friar Sol&lt;br /&gt;Hellfish&lt;br /&gt;Iran&lt;br /&gt;Jeff Wadsworth&lt;br /&gt;Marc&lt;br /&gt;Max mtg&lt;br /&gt;Slapshot5&lt;br /&gt;Sloth&lt;br /&gt;Zirbert&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-1946885912032043215?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/1946885912032043215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=1946885912032043215' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1946885912032043215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1946885912032043215'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/10/new-version-and-updating-instructions.html' title='New Version and Updating Instructions'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-jf9S5gR6X-c/TqG6dUV2DyI/AAAAAAAABj4/CtybrWX4f6Q/s72-c/tomstalker.jpg' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-5784726463413623979</id><published>2011-10-17T01:46:00.000-07:00</published><updated>2011-10-20T11:57:51.715-07:00</updated><title type='text'>Quest Mode</title><content type='html'>&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QY911aA-B_Y/TphaPzjpvmI/AAAAAAAABjo/NMBYsrBNjEs/s1600/contagion+clasp.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-QY911aA-B_Y/TphaPzjpvmI/AAAAAAAABjo/NMBYsrBNjEs/s320/contagion+clasp.jpg" width="228" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Eons ago when the world was young, Forge didn't have a questmode.&amp;nbsp; While the 1-on-1 matches,drafting, and sealed deck mode was engaging, people were clamoring for more.&amp;nbsp; The natural evolution was some sort of questmode but the details were fuzzy.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The overall discussion about this new "quest mode"had one major focus: a limited cardpool where you would earn more cards.&amp;nbsp; While this was a good start, I had to stillhammer out a few details before I started coding.&amp;nbsp; In order to show progress I came up with theidea that each "level" would have a different title like "InterestedNewbie" up to "World Champion".&amp;nbsp;While the superficial titles didn't change the gameplay, it did make thequest mode seem more like a videogame.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I tried to be funny and one level was named "BetterThan Jon Finkel".&amp;nbsp; If you continuedto play one more game after you quest had ended, your title would read,"Serra Angel is your girlfriend".&amp;nbsp;This was intended to be a videogame secret but I don't think itsurprised anybody.&amp;nbsp; The girlfriend remarkalways made be smile when I saw it.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The quest mode allowed players win new cards but the exactdetails were sketchy.&amp;nbsp; A few peoplesuggested a full-blown card shop but that would require a separate, new userinterface which would entail many more hours.&amp;nbsp;I took the simple, easy path and players would win a booster pack fullof random cards, this giving them cards that they did and didn't need.&amp;nbsp; (I thought about how to give players onlycards that they needed but that seemed complicated so I decided to ignore theissue.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;While the quest mode was very simple, it was veryaddicting.&amp;nbsp; At first I thought thatquests should be 20 or more matches but through playtesting I learned to enjoyshort quests.&amp;nbsp; Short quests with only 10matches was the mode that I played the most.&amp;nbsp;Some people took questing to new lengths and played more than 100matches.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The quest mode has grown and added many new, excitingfeatures like a card shop as well as other bonuses like buying pet creaturesthat begin the game in play, as well as being able to buy more life (becauseyou start the game with only 15 but you can have more than 20).&amp;nbsp; The current quest mode awards more money ifyou win in under 5 turns and even has special opponents that functions likevideogame bosses which can only be played once after certain events.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Maybe in the future Forge will have XBox badges like"Won the game with 30 life" or "Decked the computer".&amp;nbsp; Several people have mentioned that they wouldlike a puzzle mode where you have one turn to win the game.&amp;nbsp; (Years ago the Inquest magazine had a twist,you had to lose the game in 1 turn.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;b&gt;What features do you think need to be added or removed from the quest mode?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Enjoy questing,&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-5784726463413623979?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/5784726463413623979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=5784726463413623979' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/5784726463413623979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/5784726463413623979'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/10/quest-mode.html' title='Quest Mode'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-QY911aA-B_Y/TphaPzjpvmI/AAAAAAAABjo/NMBYsrBNjEs/s72-c/contagion+clasp.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-5680395189348271273</id><published>2011-10-10T01:40:00.000-07:00</published><updated>2011-10-10T01:40:00.732-07:00</updated><title type='text'>Fast Games and Good Times: The Benefits of a fast and stupid AI</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-bR-tVujJrLQ/To9BHufxtDI/AAAAAAAABjk/ivDThdrNtDA/s1600/angelic.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-bR-tVujJrLQ/To9BHufxtDI/AAAAAAAABjk/ivDThdrNtDA/s320/angelic.jpg" width="228" /&gt;&lt;/a&gt;&lt;/div&gt;When I started the Forge project I had some major doubts inmy mind.&lt;br /&gt;&lt;div class="MsoNormal"&gt;1. &amp;nbsp;Will the program be usable?&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;2.&amp;nbsp; Will a fast, stupidAI be fun? &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Thankfully issue number one isn’t an issue.&amp;nbsp; Forge is very usable by non-programmers.&amp;nbsp; I know that Forge isn’t the prettiest pieceof eye candy that you have ever seen but I’m very happy with it.&amp;nbsp;&lt;b&gt; &lt;/b&gt;99% of the user interface complaints wentaway when Forge actually drew the cards in hand and on the battlefield, insteadof only displaying the card picture on the right.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Issue number two hasn't been aproblem.&amp;nbsp; Having a simple, fast, stupidAI seems to be a major benefit instead of a weakness.&amp;nbsp; I can play a Magic game in about 10 minuteswhich is about 3 times faster than a normal game against another player.&amp;nbsp; The benefit is that I get to play 3 times thenumber of games in the same time, which equals 3 times the fun.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Forge minimizes the longest, most boring part of the game:waiting for your opponent.&amp;nbsp; The gooeygoodness of Magic is when I’m thinking about how to beat the computer intosubmission with some absurd combination of spells and abilities.&amp;nbsp; Maybe I get to cast a crazy 7UU costed spellor use a nearly worthless card to win the game.&amp;nbsp;The computer is just smart enough to keep me on my toes by using counterspells and punishing me for any foolish combat decisions.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I also worried that Forge would be dead meat compared to aprogram with a smarter AI but that didn’t happen.&amp;nbsp; Magarena was released (for free) and it has agreat AI that plays like a real person.&amp;nbsp;I love playing Magarena because the computer will completely pound youinto submission and will never say, “I’m sorry”.&amp;nbsp; In like manner, it is great fun to win becauseyou can feel the computer working against you.&amp;nbsp;Magarena is absolutely brilliant but it hasn’t made Forge less fun.&amp;nbsp; In a way, Magarena has allowed me to see howfun Forge really is and that having a better AI wouldn’t increase its funfactor.&amp;nbsp; (You can read more about Magarena&lt;a href="http://mtgrares.blogspot.com/2010/12/magarena-smart-magic-ai.html"&gt;here&lt;/a&gt; and how to download it.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Forge is absolutely fantastic with a fast, dumb AI.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;One of the cheapest Magic players in the world,&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-5680395189348271273?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/5680395189348271273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=5680395189348271273' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/5680395189348271273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/5680395189348271273'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/10/fast-games-and-good-times-benefits-of.html' title='Fast Games and Good Times: The Benefits of a fast and stupid AI'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-bR-tVujJrLQ/To9BHufxtDI/AAAAAAAABjk/ivDThdrNtDA/s72-c/angelic.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-8576078239384076149</id><published>2011-10-03T01:38:00.000-07:00</published><updated>2011-10-03T01:38:00.063-07:00</updated><title type='text'>Trading Card Game Design and Why is Magic so good?</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;o:OfficeDocumentSettings&gt;  &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt; &lt;/o:OfficeDocumentSettings&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:WordDocument&gt;  &lt;w:View&gt;Normal&lt;/w:View&gt;  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;  &lt;w:TrackMoves/&gt;  &lt;w:TrackFormatting/&gt;  &lt;w:PunctuationKerning/&gt;  &lt;w:ValidateAgainstSchemas/&gt;  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;  &lt;w:DoNotPromoteQF/&gt;  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;  &lt;w:Compatibility&gt;   &lt;w:BreakWrappedTables/&gt;   &lt;w:SnapToGridInCell/&gt;   &lt;w:WrapTextWithPunct/&gt;   &lt;w:UseAsianBreakRules/&gt;   &lt;w:DontGrowAutofit/&gt;   &lt;w:SplitPgBreakAndParaMark/&gt;   &lt;w:EnableOpenTypeKerning/&gt;   &lt;w:DontFlipMirrorIndents/&gt;   &lt;w:OverrideTableStyleHps/&gt;  &lt;/w:Compatibility&gt;  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;m:mathPr&gt;   &lt;m:mathFont m:val="Cambria Math"/&gt;   &lt;m:brkBin m:val="before"/&gt;   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;   &lt;m:smallFrac m:val="off"/&gt;   &lt;m:dispDef/&gt;   &lt;m:lMargin m:val="0"/&gt;   &lt;m:rMargin m:val="0"/&gt;   &lt;m:defJc m:val="centerGroup"/&gt;   &lt;m:wrapIndent m:val="1440"/&gt;   &lt;m:intLim m:val="subSup"/&gt;   &lt;m:naryLim m:val="undOvr"/&gt;  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;  &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt; &lt;/w:LatentStyles&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;&lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}&lt;/style&gt;&lt;![endif]--&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-OYy2qafCFus/ToYNR54oHEI/AAAAAAAABjc/Nh1l5_GMDjI/s1600/plaguestingerfull.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-OYy2qafCFus/ToYNR54oHEI/AAAAAAAABjc/Nh1l5_GMDjI/s320/plaguestingerfull.jpg" width="226" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;About 7 years ago I was first introduced to Magic.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Even though I didn’t understand most of thecards, I knew that it was going to be a fun, spellbinding game.&lt;span&gt;&amp;nbsp; &lt;/span&gt;My mind started to race and I thought thatall trading card games (TCGs) must be as good as Magic, so I learned a coupleof other games and immediately I could tell that the “fun factor” just wasn’tthere.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Magic is truly unique.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I’m no TCG expert and I’ve never designed a single card butrecently I’ve started looking at a few other TCGs.&lt;span&gt;&amp;nbsp; &lt;/span&gt;One of the goals of a good TCG is to makeeach faction or color feel different.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Magic somehow makes red cards very “red”.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Red cards feel angry, chaotic, and full ofrandomness.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Even the name often lets youguess the color of the card.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Making eachcolor feel and play differently is one of Magic’s greatest strengths.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The Marvel/DC &lt;a href="http://en.wikipedia.org/wiki/Vs._System"&gt;VS System&lt;/a&gt; had too many factions.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The VS System encouraged players to use oneor two factions by restricting group attacks to characters that have the samefaction.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The problem was that the VSSystem introduced too many factions.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Each new set had new factions and the previous factions only received afew cards.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The VS System was greatbecause it let you use all of the great superheroes but eventually it crumbled.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://thespoils.com/"&gt;The Spoils&lt;/a&gt; provides an interesting twist on Magic’s combat.&lt;span&gt;&amp;nbsp; &lt;/span&gt;In the Spoils you can have many differentcombat phases because each creature can attack separately.&lt;span&gt;&amp;nbsp; &lt;/span&gt;While this is just a small change, itincreases the number of decisions that a player has to make.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(The Spoils only has 4 sets but let’s hopethat it doesn’t die.&lt;span&gt;&amp;nbsp; &lt;/span&gt;You can even playit online using OCTGN, which is one of those programs that lets you play onlinebut doesn’t enforce the rules.&lt;span&gt;&amp;nbsp; &lt;/span&gt;You canread more &lt;a href="http://thespoils.com/spoils/view.php?pg=octgn_spoils_online"&gt;here&lt;/a&gt;.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The Inuyasha TCG also has an interesting combatmechanic.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Each character has up to 3 attackcolors, out of a total of 5.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Characterscan attack other characters only if the same color exists on both cards.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This makes cards harder to evaluate.&lt;span&gt;&amp;nbsp; &lt;/span&gt;A character might have a green attack of 5but a blue attack of 1.&lt;span&gt;&amp;nbsp; &lt;/span&gt;With this mechaniccard designers would need to be careful to make groups of characters feelsimilar by using similar attack colors and values otherwise each characterwould feel independent and random.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Forexample, maybe “good” characters would &lt;span&gt;&amp;nbsp;&lt;/span&gt;have high blue and green stats while “evil”character have high white stats.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(In Inuyashagood versus evil characters are a major theme and Inuyasha is often depicted asboth “good” and “evil”.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://www.fantasyflightgames.com/edge_minisite.asp?eidm=129&amp;amp;enmi=The%20Lord%20of%20the%20Rings:%20The%20Card%20Game"&gt;Lord of the Rings: The Card Game&lt;/a&gt; by Fantasy Flight Gamesturns combat completely upside-down.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Instead of two people playing against each other, both people playcooperatively (co-op) against an “encounter deck” that spits out enemy charactersand obstacles.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Recently Fantasy FlightGames bought the Star Wars license and plans to release a co-op &lt;a href="http://www.fantasyflightgames.com/edge_news.asp?eidn=2527"&gt;Star Wars TCG&lt;/a&gt;.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(In a co-op game if one or both of theplayers beats the encounter deck, both players win.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The one facet that Magic does better than anyone else isthat each set feels different.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Each sethas a different world, theme, and conflict but sets are tied together by newmechanics.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Without a coherent theme, acard set could easily become a random collection of cards (which is sometimeshow I feel when using Forge).&lt;span&gt;&amp;nbsp; &lt;/span&gt;Makingeach set interesting is a very hard challenge but Wizards makes it look easy. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;A TCG must be “fun” although there are hundreds of aspectsto “fun”.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The TCG must feel “fair”, asin both players have a chance to win.&lt;span&gt;&amp;nbsp; &lt;/span&gt;ATCG must allow both players to interact and respond, otherwise you might aswell be playing a one-player game.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Goodartwork never hurts and good TCGs need to be playtested for hundreds of hours.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Most TCGs burnout after a few years and stop beingproduced.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Only few TCGs last more than 5years.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This fact saddens me a little bitbut I guess that is how the world works.&lt;span&gt;&amp;nbsp;&lt;/span&gt;In reality most individuals keep up with only 1 or 2 TCGs.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Most people don’t have to time/effort/moneyto take an interest in more than 2 TCGs.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Even keeping up with one game like Magic is more than enough for mostpeople.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;In conclusion, maybe paper TCGs are dead?&lt;span&gt;&amp;nbsp; &lt;/span&gt;On the positive side there are a number offree online TCGs and I’m sure some of them are very good.&amp;nbsp; &lt;a href="http://boardgamegeek.com/thread/432582/free-online-tcgccgs"&gt;Here&lt;/a&gt; is a discussion about free online TCGs.&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;(&lt;a href="http://boardgamegeek.com/"&gt;Boardgamegeek.com&lt;/a&gt; is a great resource because it has rules and variations for almost every TCG, card and board game in existence.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Keep on tapping,&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;--When I say, “Maybe paper TCGs are dead?” I mean bringing anew paper TCG to market seems impossibly hard compared with a cheaper-to-produceTCG videogame that lets you play against the computer with a couple of hundredcards.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Offline TCG videogames are myfavorite niche and even though they aren’t insanely popular, somebody couldstill make a handsome profit.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I know ofexactly five offline TCG videogames: Forge, Magic’s Duels of the Planeswalkers,Shandalar (old Magic PC program), Marvel Trading Card Videogame, and &lt;span class="st"&gt;Fullmetal Alchemist: Trading Card Game for Nintendo DS.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;--I tried to understand the Netrunner TCG, which still has apretty strong following despite being 15 years old, but the rules flowchartscared me to death.&lt;span&gt;&amp;nbsp; &lt;/span&gt;You can read therules and how to play online &lt;a href="http://www.netrunneronline.com/rules/"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-8576078239384076149?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/8576078239384076149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=8576078239384076149' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8576078239384076149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8576078239384076149'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/10/trading-card-game-design-and-why-is.html' title='Trading Card Game Design and Why is Magic so good?'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-OYy2qafCFus/ToYNR54oHEI/AAAAAAAABjc/Nh1l5_GMDjI/s72-c/plaguestingerfull.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-2510143979305852326</id><published>2011-09-26T01:24:00.000-07:00</published><updated>2011-09-26T01:24:00.143-07:00</updated><title type='text'>New Version</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-zyqt7svtu5Y/TnzIyoq1lcI/AAAAAAAABjY/0nExkVUYowc/s1600/balefire+dragon.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-zyqt7svtu5Y/TnzIyoq1lcI/AAAAAAAABjY/0nExkVUYowc/s1600/balefire+dragon.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;(Forge now has Balefire Dragon!)&lt;br /&gt;&lt;br /&gt;It has been almost 2 months so it is time for another astounding new version.&amp;nbsp; Forge now has 9,133 cards which is almost 400 new cards.&amp;nbsp; Forge is very cutting edge and has 184 cards from Innistrad. &lt;br /&gt;&lt;br /&gt;I'll talk about the new Innistrad cards because they are the most interesting.&amp;nbsp; Festerhide Boar (3G, 3/3, trample) also says, "Morbid — Festerhide Boar enters the battlefield with two +1/+1 counters on it if a creature died this turn" so it could easily be 5/5.&amp;nbsp; Festerhide Boar encourages players to play their creatures during the 2nd part of their main phase, which is what good players do (although sometimes I just play my creatures during the first main phase because the AI doesn't care).&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Morbid looks very cool and is a great keyword.&amp;nbsp; Technically morbid is probably an "ability word" which means that morbid doesn't do anything specific like flying but it does tie together thematically similar cards.&amp;nbsp; From the Innistrad faq, "Morbid is an ability word. It appears in italics at the beginning of abilities that check to see if a creature has died that turn. (An ability word has no rules meaning.)"&amp;nbsp; You can see all of the Magic faqs for each set &lt;a href="http://www.wizards.com/magic/tcg/article.aspx?x=magic/rules/faqs"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Some other interesting Innistrad cards include: a card that created THIRTEEN 2/2 creatures.&amp;nbsp; Army of the Damned (5BBB, sorcery) creates 13 creatures that are all tapped.&amp;nbsp; Since Army of the Damned is so closely related to black's "love death" theme, it also has flashback for 7BBB.&amp;nbsp; Reaper from the Abyss (3BBB, 6/6, flying) is a back-breaker with the ability "Morbid — At the beginning of each end step, if a creature died this turn, destroy target non-Demon creature."&lt;br /&gt;&lt;br /&gt;Forge also has 10 rare lands like Clifftop Retreat (Enters the battlefield tapped unless you control a Mountain or a Plains.&amp;nbsp; Taps for R or W.) Gavony Township (2GW, tap: put a +1/+1 counter or each creature you control and tap: add 1).&amp;nbsp;&lt;br /&gt;&lt;br /&gt;So far Forge doesn't have any 2-faced transforming cards but let's hope that changes in the future. :)&lt;br /&gt;&lt;br /&gt;For a complete list of new cards look at the first post &lt;a href="http://www.slightlymagic.net/forum/viewtopic.php?f=26&amp;amp;t=5408"&gt;here&lt;/a&gt;, find the text "&lt;b&gt;Added many cards, including&lt;/b&gt;:" and click on the "Open" hyperlink.&amp;nbsp; For an insanely long list of new features, click &lt;a href="http://www.slightlymagic.net/forum/viewtopic.php?f=26&amp;amp;t=5408#p71033"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To make Forge look better (in my opinion):&lt;br /&gt;1. Run Forge&lt;br /&gt;2. Open the menu, which is named "Menu"&lt;br /&gt;3. Select "Display Options"&lt;br /&gt;4. Scroll to the bottom and select "Nimbus"&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Downloads&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://cardforge.org/releases/releases/forge/forge/1.1.4/forge-1.1.4.tar.bz2"&gt;Link&lt;/a&gt; - Forge 09-23  (Windows, Linux) 27 MB and can be&lt;br /&gt;unzipped with &lt;a href="http://winzip.com/"&gt;Winzip&lt;/a&gt; or &lt;a href="http://www.7-zip.org/download.html"&gt;7-Zip&lt;/a&gt; (free, open source)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cardforge.org/releases/releases/forge/forge/1.1.4/forge-1.1.4-osx.tar.bz2"&gt;Link&lt;/a&gt; - Forge 09-23&amp;nbsp;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;  (Mac) 28 MB - Use &lt;a href="http://www.kekaosx.com/en/"&gt;Keka&lt;/a&gt; to uncompress 7z files &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?f7stkn8nqglzkbc"&gt;Download&lt;/a&gt; - Card Pictures (160 MB) - These  are some of the low-quality (LQ) card pictures.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.slightlymagic.net/forum/viewtopic.php?f=26&amp;amp;t=5220"&gt;Here&lt;/a&gt; - Quest opponent and pet pictures can be downloaded.&amp;nbsp; Scroll to the bottom of the first post.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.com/"&gt;Java&lt;/a&gt; - Forge requires Java in order to run &lt;br /&gt;&lt;br /&gt;You can move your decks files by copying them from /old forge directory/res/decks/ to your new deck directory.&amp;nbsp; You can also copy your pictures from /old forge directory/res/pics/ to your picture directory.&lt;br /&gt;&lt;br /&gt;If you have any questions/comments, please post them to the &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=26"&gt;forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Thanks for reading,&lt;br /&gt;mtgrares&lt;br /&gt;&lt;br /&gt;p..s. &lt;br /&gt;&lt;div style="text-align: center;"&gt;Forge has a great loading screen, which is very fast.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-UgiV9OVVivM/TnzEnyYpfSI/AAAAAAAABjQ/D0LBWhws0Vg/s1600/loading.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="398" src="http://2.bp.blogspot.com/-UgiV9OVVivM/TnzEnyYpfSI/AAAAAAAABjQ/D0LBWhws0Vg/s400/loading.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;The first screen that you see after Forge has been started.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-kFDQVJfPrkU/TnzEn0k-IYI/AAAAAAAABjU/LbxFrBSOcww/s1600/startup.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-kFDQVJfPrkU/TnzEn0k-IYI/AAAAAAAABjU/LbxFrBSOcww/s400/startup.jpg" width="391" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Many people helped with this version. A special thank you goes out to them.&lt;/span&gt; (Names sorted alphabetically):&lt;br /&gt;&lt;br /&gt;ArsenalNut&lt;br /&gt;Dave&lt;br /&gt;Doublestrike&lt;br /&gt;Friar Sol&lt;br /&gt;Hellfish&lt;br /&gt;Max mtg&lt;br /&gt;Rob Cashwalker&lt;br /&gt;Slapshot5&lt;br /&gt;Sloth&lt;br /&gt;Chris H&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-2510143979305852326?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/2510143979305852326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=2510143979305852326' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/2510143979305852326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/2510143979305852326'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/09/new-version.html' title='New Version'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-zyqt7svtu5Y/TnzIyoq1lcI/AAAAAAAABjY/0nExkVUYowc/s72-c/balefire+dragon.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-2725706531907484285</id><published>2011-09-19T01:03:00.000-07:00</published><updated>2011-09-19T01:03:00.104-07:00</updated><title type='text'>Innistrad – Double Faced Cards</title><content type='html'>&lt;br /&gt;&lt;div class="MsoNormal"&gt;Each new Magic set always has something that makes people squealwith delight.&amp;nbsp; In case you haven’theard, Innistrad has double-faced cards.&amp;nbsp;These cards have two “front” pictures with different attack/defensestats.&amp;nbsp; Kruin Outlaw transforms into Terror of Kruin Pass.&amp;nbsp; (You can read about the new rules &lt;a href="http://www.wizards.com/magic/tcg/article.aspx?x=mtg/tcg/innistrad/dfcrules"&gt;here&lt;/a&gt; and the official Innistrad card image gallery is &lt;a href="http://www.wizards.com/magic/tcg/productarticle.aspx?x=mtg/tcg/innistrad/cig"&gt;here&lt;/a&gt;.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-38UF5AS9ejE/TnOEcyOPoaI/AAAAAAAABjM/imJewcJEAjo/s1600/kruin+outlaw.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-38UF5AS9ejE/TnOEcyOPoaI/AAAAAAAABjM/imJewcJEAjo/s320/kruin+outlaw.jpg" width="233" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-crNlv-XkfM0/TnOEcsyPo1I/AAAAAAAABjI/6jEfceDjG70/s1600/terror+of+kruin+pass.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-crNlv-XkfM0/TnOEcsyPo1I/AAAAAAAABjI/6jEfceDjG70/s320/terror+of+kruin+pass.jpg" width="228" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;At first I was very excited because I thought Wizard’s wasdoing something radically different.&amp;nbsp;Before reading the rules article I guessed what the rules would be.&amp;nbsp; I thought that you would hold thedouble-faced card in your hand, thus revealing the information to youropponent.&amp;nbsp; Then my mind starting racingand I started to think about how Magic Online would show this new type ofinformation.&amp;nbsp; &lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;After my initial rush, I read the rules article and itexplained that you could use card sleeves or an official checklist card (whichis shown below).&amp;nbsp; The checklist cardfeels very forced and unnatural.&amp;nbsp; Whereexactly are you supposed to keep you double-faced card secret?&amp;nbsp; In your pocket?&amp;nbsp; Obviously this problem is more pronounced incasual games, which are less likely to use sleeves, versus tournaments wheremost people probably use sleeves.&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GqG0skpDraY/TnOBq3oGMLI/AAAAAAAABjA/lvFPhuPmzpc/s1600/checklist+card.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-GqG0skpDraY/TnOBq3oGMLI/AAAAAAAABjA/lvFPhuPmzpc/s320/checklist+card.jpg" width="228" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;(My previous statement about card sleeves is just a guess becauseI don’t have much experience playing Magic.&amp;nbsp;In real-life I’ve only played three games with one guy, no kidding.&amp;nbsp; Of course that was all that was needed to getme hooked.&amp;nbsp; Magic Online taught me themany intricacies of the rules which the rulebook couldn’t quite explain.&amp;nbsp; Magic Online helped me to instinctively understandthe rules.&amp;nbsp; And as a side note, I’ve readthat Magic Online really helped Magic explode because everybody learned to playthe game with the exact same rules.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;In conclusion, I think Wizards could have radically changed thegame of Magic with double-faced cards but instead they chose the easy, boringsolution.&amp;nbsp; If your opponent knew that youhad a double-faced card in your hand that would have profoundly changed thegame, it might even strike fear into your opponent.&amp;nbsp; Obviously Wizards has hundreds (and maybethousands) of hours of playtesting and I have exactly zero.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;And any good trading card game should be strenuously playtested,much like software.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Keep on forging,&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;--I don’t play Magic Online anymore because although it wasfun, it cost too much money.&amp;nbsp; Now I exclusivelyplay Forge and other freeware programs.&amp;nbsp;Long live open source!&lt;br /&gt;&lt;br /&gt;--The latest version of Forge doesn't have any Innistrad cards.&amp;nbsp; I'm sure that the next version will probably have 20-30 cards but that is just a guess. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-2725706531907484285?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/2725706531907484285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=2725706531907484285' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/2725706531907484285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/2725706531907484285'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/09/innistrad-double-faced-cards.html' title='Innistrad – Double Faced Cards'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-38UF5AS9ejE/TnOEcyOPoaI/AAAAAAAABjM/imJewcJEAjo/s72-c/kruin+outlaw.jpg' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-3552501514815235707</id><published>2011-09-12T01:11:00.000-07:00</published><updated>2011-09-15T12:53:18.051-07:00</updated><title type='text'>Crowdsourcing</title><content type='html'>I read this post and it really rung true with me.&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;Author: inb63 &lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;Forge is a great program, I started using it around a yearago and was amazed at the huge number of cards I could play with. Months laterI was creating a custom set and scripting my first cards. It was so amazing forme, a guy with near zero programming experience to see some of his babies workon Forge. Anyways, I tested this card and it works.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I sort of laughed when I read that.&amp;nbsp; The message sums up the theme Forge: “hugenumber of cards” and a guy with zero programming experience could actuallycontribute something.&amp;nbsp; The card code thathe posted was very impressive and is from the upcoming Innistrad set.&amp;nbsp; (You can see the official Innistrad spoiler&lt;a href="http://www.wizards.com/magic/tcg/productarticle.aspx?x=mtg/tcg/innistrad/cig"&gt;here&lt;/a&gt;.) &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;Name:Dearly Departed&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;ManaCost:4 W W&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;Types:Creature Spirit&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;Text:no text&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;PT:5/5&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;K:Flying&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield| ValidCard$ Creature.Human+YouCtrl | TriggerZones$ Graveyard | Static$ True |Execute$ TrigPutCounter | TriggerDescription$ As long as CARDNAME is in yourgraveyard, each Human creature you control enters the battlefield with anadditional +1/+1 counter on it.&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$TriggeredCard | CounterType$ P1P1 | CounterNum$ 1&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;SVar:Rarity:Rare&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;SVar:Picture:http://www.wizards.com/global/images/magic/general/dearly_departed.jpg&lt;/div&gt;&lt;div class="MsoNormal" style="background-color: #cccccc;"&gt;End&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-szwiSZFED7Q/TmpYHG0MhNI/AAAAAAAABiM/zQ3Z6FuNh-0/s1600/dearly+departed.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-szwiSZFED7Q/TmpYHG0MhNI/AAAAAAAABiM/zQ3Z6FuNh-0/s1600/dearly+departed.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-szwiSZFED7Q/TmpYHG0MhNI/AAAAAAAABiM/zQ3Z6FuNh-0/s1600/dearly+departed.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Crowdsourcing is the ultimate goal for many projects likeForge.&amp;nbsp; Crowdsourcing is likeoutsourcing, except you give the task to a crowd of people.&amp;nbsp; For Forge the biggest help that anybody cando is to add cards and now that many cards can be scripted, instead of hard codedin Java, crowdsourcing can help Forge add more and more cards.&amp;nbsp; Obviously not all cards can be scripted butForge’s scripting has grown from supporting very simple cards to tournamentwinning rares.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Thankfully the user inb63 didn’t mind trudging through Forge’sscripting documentation and learning it.&amp;nbsp;I personally don’t understand the card code that he posted but I’m very impressedthat it works.&amp;nbsp; Obviously Forge lends newmeaning to fan created cards, since Forge lets you actually use your creationsin a real game.&amp;nbsp; (Theoretically a programlike Forge would make rapid prototyping and testing of a new card game mucheasier versus cutting cards out from a sheet of paper.)&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The ultimate goal would be to allow people to upload cards toa massive online database and then Forge would seamlessly check the databaseand download new cards.&amp;nbsp; While this is apipe dream now, it may be possible in the future.&amp;nbsp; (Obviously the cards would need to be checkedsomehow to make sure that they work and that they implement the rulescorrectly.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Thanks for reading,&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;The best known crowdsourcing project is Wikipedia.&amp;nbsp; More and more projects are trying to use crowdsourcingto solve many different types of problems.&amp;nbsp;Crowdsourcing is the future.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-3552501514815235707?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/3552501514815235707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=3552501514815235707' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3552501514815235707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3552501514815235707'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/09/making-dreams-come-true.html' title='Crowdsourcing'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-szwiSZFED7Q/TmpYHG0MhNI/AAAAAAAABiM/zQ3Z6FuNh-0/s72-c/dearly+departed.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-8474098379130728740</id><published>2011-09-09T11:31:00.000-07:00</published><updated>2011-09-09T11:31:59.856-07:00</updated><title type='text'>Great Magic Card Pictures</title><content type='html'>Magic has a ton of card pictures that the Wizards site doesn't show like judge and tournament promos.&amp;nbsp; I just wanted to show you a random assortment of great pictures.&amp;nbsp; All of these pictures are taken from the CCGHQ picture &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=15"&gt;forum&lt;/a&gt;.&amp;nbsp; If you are a Vorthos and you love good art, I recommend that you visit that forum.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-I3cioAlRxgo/TmpaWPfuA5I/AAAAAAAABiQ/0xDIzLL47cs/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-I3cioAlRxgo/TmpaWPfuA5I/AAAAAAAABiQ/0xDIzLL47cs/s1600/1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-BX1NbIcc4vw/TmpaXerTAvI/AAAAAAAABiU/f65xgjMS7xo/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-BX1NbIcc4vw/TmpaXerTAvI/AAAAAAAABiU/f65xgjMS7xo/s1600/2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1IWdKdKItD4/TmpaY3ix9xI/AAAAAAAABis/rLf5a_-D374/s1600/10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-1IWdKdKItD4/TmpaY3ix9xI/AAAAAAAABis/rLf5a_-D374/s1600/10.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Nv7T6r65O74/TmpaXkLWZ9I/AAAAAAAABiY/XpGssiGcxMk/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-Nv7T6r65O74/TmpaXkLWZ9I/AAAAAAAABiY/XpGssiGcxMk/s1600/3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-NJunLtkRXHE/TmpaX20oMYI/AAAAAAAABic/entcrjBrxN4/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-NJunLtkRXHE/TmpaX20oMYI/AAAAAAAABic/entcrjBrxN4/s1600/4.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Z40VcPBtC98/TmpaYKAqS5I/AAAAAAAABig/_TubUeSIly8/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-Z40VcPBtC98/TmpaYKAqS5I/AAAAAAAABig/_TubUeSIly8/s1600/5.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-70fQy46a2LY/TmpaYaQiHFI/AAAAAAAABik/ME3IRUH1tsY/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-70fQy46a2LY/TmpaYaQiHFI/AAAAAAAABik/ME3IRUH1tsY/s1600/6.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-JogRMyTrQLQ/TmpaYie8yWI/AAAAAAAABio/QzDgket5Ruw/s1600/7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-JogRMyTrQLQ/TmpaYie8yWI/AAAAAAAABio/QzDgket5Ruw/s1600/7.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-x-cqRyYoyGU/TmpbRLt56XI/AAAAAAAABiw/bmzbqVAYOzA/s1600/11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-x-cqRyYoyGU/TmpbRLt56XI/AAAAAAAABiw/bmzbqVAYOzA/s400/11.jpg" width="281" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-_ozKqHjVLPM/TmpbSKOYenI/AAAAAAAABi8/ntmqvfEW3Ps/s1600/14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-_ozKqHjVLPM/TmpbSKOYenI/AAAAAAAABi8/ntmqvfEW3Ps/s400/14.jpg" width="281" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-hko3oqCbtY0/TmpbR8pTehI/AAAAAAAABi4/mKa7l28-zKY/s1600/13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-hko3oqCbtY0/TmpbR8pTehI/AAAAAAAABi4/mKa7l28-zKY/s400/13.jpg" width="281" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-tOmuVgs-aAo/TmpbRnkMQII/AAAAAAAABi0/Q0v-lYyqZGM/s1600/12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-tOmuVgs-aAo/TmpbRnkMQII/AAAAAAAABi0/Q0v-lYyqZGM/s400/12.jpg" width="281" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1IWdKdKItD4/TmpaY3ix9xI/AAAAAAAABis/rLf5a_-D374/s1600/10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-8474098379130728740?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/8474098379130728740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=8474098379130728740' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8474098379130728740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8474098379130728740'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/09/great-magic-card-pictures.html' title='Great Magic Card Pictures'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-I3cioAlRxgo/TmpaWPfuA5I/AAAAAAAABiQ/0xDIzLL47cs/s72-c/1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-3543017750607325522</id><published>2011-09-02T11:28:00.000-07:00</published><updated>2011-09-08T08:48:48.793-07:00</updated><title type='text'>Mage – 2,450  Cards, Offline AI, Multiplayer</title><content type='html'>Mage is lets you play offline against the computer or onlineagainst other players.&amp;nbsp; Mage has an AIthat is better than Forge’s.&amp;nbsp; Mage's AI that can generate possible futures and chooses the best one.&amp;nbsp;While the AI is not as good as Magarena, it can still be quitesurprising.&lt;br /&gt;&lt;br /&gt;Mage also supports booster drafting and sealed with either computer or human players or both.&amp;nbsp; I've always found booster drafting to be infinitely fun.&amp;nbsp; Forge's boosting drafting is OK but since the AI is only average it doesn't always test my skills and I can beat the AI with pretty bad cards.&amp;nbsp; Mage should provide great fun drafting and playing sealed deck against the computer and your friends. &lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Mage has plenty of cards, 2,450  to be exact.&amp;nbsp; Mage implements many full sets like Magic 2011 and 2012 as well as Scars of Mirrodin and Mirridon Besieged.&amp;nbsp; Thestatistics for other sets are listed below.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;(Updated these stats, thanks to North.)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Magic 2012: 182/249 (100%)&lt;/div&gt;&lt;div class="MsoNormal"&gt;Magic 2011: 249/249 (100%)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Scars of Mirrodin: 220/249 (100%)&lt;/div&gt;&lt;div class="MsoNormal"&gt;Mirrodin Besieged: 122/155 (100%)&lt;/div&gt;&lt;div class="MsoNormal"&gt;New Phyrexia 148/170 (87%)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;Zendikar: 186/253 (73%)&lt;br /&gt;Worldwake: 77/145 (53%)&lt;br /&gt;Rise of the Eldrazi: 162/248 (65%) &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Mage is very unique because it also has multiplayergames.&amp;nbsp; People have asked me, “Will Forgeevery have multiplayer?” and I always respond, “No, because it is too freakincomplicated.”&amp;nbsp; Obviously the makers ofMage don’t feel that way.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Mage offers multiplayer games and you can mix human andcomputer players.&amp;nbsp; Other multiplayeroptions include setting the “attacking options” which lets you attack multipleplayers, or only the player on your left or right.&amp;nbsp; You can also change the “range of influence” whichis another way of asking “How many players will be affected by Wrath of God?”&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-TFXRX6Q1_ZE/TmEf0WU2mXI/AAAAAAAABiE/tlhkkkPlMDc/s1600/mage_screen_game.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="236" src="http://2.bp.blogspot.com/-TFXRX6Q1_ZE/TmEf0WU2mXI/AAAAAAAABiE/tlhkkkPlMDc/s400/mage_screen_game.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-CZwISBfWfi0/TmEf3uU4AnI/AAAAAAAABiI/TTff35U_P-o/s1600/mage_collection_viewer.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="237" src="http://1.bp.blogspot.com/-CZwISBfWfi0/TmEf3uU4AnI/AAAAAAAABiI/TTff35U_P-o/s400/mage_collection_viewer.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Collection Viewer&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://code.google.com/p/mage/downloads/list"&gt;DownloadSite&lt;/a&gt; - You want to download the "bundle" which has both theclient and server.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=70"&gt;Forum&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://www.slightlymagic.net/forum/viewtopic.php?f=70&amp;amp;t=3114"&gt;FAQ&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;To download the card images and mana symbols, click on thebuttons “Images” and “Symbols” in the upper right corner.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;--Mage is another fine project that uses Java.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;--Thanks to the Mage developers and supporters:&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;BetaSteward&lt;/div&gt;&lt;div class="MsoNormal"&gt;Nantuko84&lt;/div&gt;&lt;div class="MsoNormal"&gt;Eugen.Rivniy&lt;/div&gt;&lt;div class="MsoNormal"&gt;North&lt;/div&gt;&lt;div class="MsoNormal"&gt;maurer.it&lt;/div&gt;&lt;div class="MsoNormal"&gt;Viserion&lt;/div&gt;&lt;div class="MsoNormal"&gt;i_no_k&lt;/div&gt;&lt;div class="MsoNormal"&gt;soulless&lt;/div&gt;&lt;div class="MsoNormal"&gt;arching&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-3543017750607325522?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/3543017750607325522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=3543017750607325522' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3543017750607325522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3543017750607325522'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/09/mage-2365-cards-offline-ai-multiplayer.html' title='Mage – 2,450  Cards, Offline AI, Multiplayer'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-TFXRX6Q1_ZE/TmEf0WU2mXI/AAAAAAAABiE/tlhkkkPlMDc/s72-c/mage_screen_game.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-3128968803597971110</id><published>2011-08-29T01:32:00.000-07:00</published><updated>2011-08-29T01:32:00.107-07:00</updated><title type='text'>New Version</title><content type='html'>Forge has 300 new cards and a total of 8,764 cards.&amp;nbsp; That is an insane number of cards and it is great that it is in one free package.&amp;nbsp; Basically you could play Forge for the rest of your life without being bored.&amp;nbsp; (Well...if you are a card freak like me, you could.) &lt;br /&gt;&lt;br /&gt;A listing of the new cards and be viewed &lt;a href="http://www.slightlymagic.net/forum/viewtopic.php?f=26&amp;amp;t=5220"&gt;here&lt;/a&gt;.&amp;nbsp; Scroll down to "Added many cards, including:" and next to "New Card List" click on "Open".&lt;br /&gt;&lt;br /&gt;Some of the improvements that Chris H. mentions: &lt;br /&gt;&lt;br /&gt;A new bug reporting system based on Mantis is being developed. When Forge crashes a new report form will appear that will allow you to send in a detailed bug report.&lt;br /&gt;&lt;br /&gt;We would like to remove the old "Current Known Bugs" list topic on the forum. While this topic has been useful over the last two years it may be time to try another approach.&lt;br /&gt;&lt;br /&gt;In the future bugs and other issues will be reported with the Bug Report form, the Mantis based Cardforge Issue Tracker or by posting a message on the then current forge beta release topic on the forum.&lt;br /&gt;&lt;br /&gt;Some people that are using an early version of java 7 under the Windows OS have reported errors that state "Split must have &amp;gt; 2 children". Anyone having this sort of problem should de-install java 7 and install java 6 instead.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;-------------------------------------------------------------------&lt;/div&gt;&lt;br /&gt; Many thanks to the faithful developers :*)&amp;nbsp; For a list of developers scroll to the bottom of this post.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/download.php?848801y4q6kia4a"&gt;Link&lt;/a&gt; - Forge 1.1.2  (Windows, Linux) 25 MB and can be unzipped with &lt;a href="http://winzip.com/"&gt;Winzip&lt;/a&gt; or &lt;a href="http://www.7-zip.org/download.html"&gt;7-Zip&lt;/a&gt; (free, open source)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/download.php?aqvjqtjp0hl2dz2"&gt;Link&lt;/a&gt; - Forge&amp;nbsp;1.1.2&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;  (Mac) 26 MB - Use &lt;a href="http://www.kekaosx.com/en/"&gt;Keka&lt;/a&gt; to uncompress 7z files &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?f7stkn8nqglzkbc"&gt;Download&lt;/a&gt; - Card Pictures (160 MB)&lt;br /&gt;These  are most of the low-quality (LQ) card pictures.&amp;nbsp; You can download   the  rest of the LQ card pictures or the high-quality (HQ) card pictures    using the menu on the New Game screen.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.slightlymagic.net/forum/viewtopic.php?f=26&amp;amp;t=5220"&gt;Here&lt;/a&gt; - Quest opponent and pet pictures can be downloaded.&amp;nbsp; Scroll to the bottom of the first post.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.com/"&gt;Java&lt;/a&gt; - Forge requires Java in order to run &lt;br /&gt;&lt;br /&gt;You can move your decks files by copying them from /old forge directory/res/decks/ to your new deck directory.&amp;nbsp; You can also copy your pictures from /old forge directory/res/pics/ to your picture directory.&lt;br /&gt;&lt;br /&gt;If you have any questions/comments, please post them to the &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=26"&gt;forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;---------------------------------------&lt;br /&gt;Some of the awesome new cards include:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-3HSFjhS4zKg/TlfeUQ7MnnI/AAAAAAAABhc/yq7ZBwQGF74/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-3HSFjhS4zKg/TlfeUQ7MnnI/AAAAAAAABhc/yq7ZBwQGF74/s400/1.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-TiLwzMG6Jg0/TlfeVqCTFrI/AAAAAAAABhg/Urx36vE4gsc/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-TiLwzMG6Jg0/TlfeVqCTFrI/AAAAAAAABhg/Urx36vE4gsc/s400/2.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-vZVi7Dayj4E/TlfeV-b_tTI/AAAAAAAABhk/lHb0Nz-fOY4/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-vZVi7Dayj4E/TlfeV-b_tTI/AAAAAAAABhk/lHb0Nz-fOY4/s400/3.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-gffC1I2joNU/TlfeWH-pe3I/AAAAAAAABho/GYxt6xEsg7A/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-gffC1I2joNU/TlfeWH-pe3I/AAAAAAAABho/GYxt6xEsg7A/s400/4.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-kWBNVYTt0LQ/TlfeWa5AcFI/AAAAAAAABhs/YSv-QthfSvE/s1600/5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-kWBNVYTt0LQ/TlfeWa5AcFI/AAAAAAAABhs/YSv-QthfSvE/s400/5.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-IRznGI2ZIlo/TlfeWklX1FI/AAAAAAAABh0/aohnkMZPByY/s1600/7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-IRznGI2ZIlo/TlfeWklX1FI/AAAAAAAABh0/aohnkMZPByY/s400/7.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-aYLfq0ITtD0/TlfeWfXAEtI/AAAAAAAABhw/twWi7W3DIBo/s1600/6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-aYLfq0ITtD0/TlfeWfXAEtI/AAAAAAAABhw/twWi7W3DIBo/s400/6.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-HZq9MM_wlek/TlfeWzeEJJI/AAAAAAAABh4/7P1bokKpVOY/s1600/8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-HZq9MM_wlek/TlfeWzeEJJI/AAAAAAAABh4/7P1bokKpVOY/s400/8.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-4PBikL1ox7U/TlfeXOIBxpI/AAAAAAAABh8/vdvNYkspfMY/s1600/9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-4PBikL1ox7U/TlfeXOIBxpI/AAAAAAAABh8/vdvNYkspfMY/s400/9.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-MyqWBlZdyVA/TlfeXXTSOCI/AAAAAAAABiA/Pdk2ZonBRwk/s1600/10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-MyqWBlZdyVA/TlfeXXTSOCI/AAAAAAAABiA/Pdk2ZonBRwk/s400/10.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Forge has quite a number of people who have helped.&amp;nbsp; A special thank you goes out to them:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Friar Sol&lt;br /&gt;Sloth&lt;br /&gt;Dave&lt;br /&gt;Rob Cashwalker&lt;br /&gt;Braids&lt;br /&gt;Max mtg&lt;br /&gt;Jeff Wadsworth&lt;br /&gt;Hellfish&lt;br /&gt;ArsenalNut&lt;br /&gt;Starcrash&lt;br /&gt;Marc&lt;br /&gt;Corwin&lt;br /&gt;Chris H &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-3128968803597971110?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3128968803597971110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3128968803597971110'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/08/new-version.html' title='New Version'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-3HSFjhS4zKg/TlfeUQ7MnnI/AAAAAAAABhc/yq7ZBwQGF74/s72-c/1.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-1137898371328010313</id><published>2011-08-22T01:59:00.000-07:00</published><updated>2011-08-22T01:59:00.367-07:00</updated><title type='text'>Magarena - 918 Cards, Good AI</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;o:OfficeDocumentSettings&gt;  &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt; &lt;/o:OfficeDocumentSettings&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:WordDocument&gt;  &lt;w:View&gt;Normal&lt;/w:View&gt;  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;  &lt;w:TrackMoves/&gt;  &lt;w:TrackFormatting/&gt;  &lt;w:PunctuationKerning/&gt;  &lt;w:ValidateAgainstSchemas/&gt;  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;  &lt;w:DoNotPromoteQF/&gt;  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;  &lt;w:Compatibility&gt;   &lt;w:BreakWrappedTables/&gt;   &lt;w:SnapToGridInCell/&gt;   &lt;w:WrapTextWithPunct/&gt;   &lt;w:UseAsianBreakRules/&gt;   &lt;w:DontGrowAutofit/&gt;   &lt;w:SplitPgBreakAndParaMark/&gt;   &lt;w:EnableOpenTypeKerning/&gt;   &lt;w:DontFlipMirrorIndents/&gt;   &lt;w:OverrideTableStyleHps/&gt;  &lt;/w:Compatibility&gt;  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;m:mathPr&gt;   &lt;m:mathFont m:val="Cambria Math"/&gt;   &lt;m:brkBin m:val="before"/&gt;   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;   &lt;m:smallFrac m:val="off"/&gt;   &lt;m:dispDef/&gt;   &lt;m:lMargin m:val="0"/&gt;   &lt;m:rMargin m:val="0"/&gt;   &lt;m:defJc m:val="centerGroup"/&gt;   &lt;m:wrapIndent m:val="1440"/&gt;   &lt;m:intLim m:val="subSup"/&gt;   &lt;m:naryLim m:val="undOvr"/&gt;  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;  &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt; &lt;/w:LatentStyles&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;&lt;style&gt; /* Style Definitions */ table.MsoNormalTable	{mso-style-name:"Table Normal";	mso-tstyle-rowband-size:0;	mso-tstyle-colband-size:0;	mso-style-noshow:yes;	mso-style-priority:99;	mso-style-parent:"";	mso-padding-alt:0in 5.4pt 0in 5.4pt;	mso-para-margin:0in;	mso-para-margin-bottom:.0001pt;	mso-pagination:widow-orphan;	font-size:10.0pt;	font-family:"Times New Roman","serif";}&lt;/style&gt;&lt;![endif]--&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;Forge is great but sometimes a little variety is good.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Magarena has rules enforcement like Forge andhas a great AI.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Magarena's AI is thebest that I've every seen.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(And I'veheard that it is better than the new Duels of the Planeswalker.)&lt;span&gt;&amp;nbsp; &lt;/span&gt;Magarena has a great user interface and lookslike a real videogame.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Magarena lets youpick your theme from a variety of user created skins.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-rPpEK5vGEYM/Tk6W1BbIYBI/AAAAAAAABhQ/9RYXmAUtO1g/s1600/angel.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-rPpEK5vGEYM/Tk6W1BbIYBI/AAAAAAAABhQ/9RYXmAUtO1g/s1600/angel.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;It is hard to describe Magarena's AI.&lt;span&gt;&amp;nbsp; &lt;/span&gt;It feels like there is a little guy in thecomputer that is purposefully trying to destroy you.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The AI will play as hard and as smart as ahuman.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Sometimes the AI will hold backand you may think that it may think that it is a glitch but then the AI willplay some uber-powerful card that changes the whole game.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Most games will be grueling 20+ turns.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Magarena only has 1-on-1 matches and doesn't have any sortof quest mode.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Magarena featureshigh-quality card scans so you can sit back and enjoy the great the greatart.&lt;span&gt;&amp;nbsp; &lt;/span&gt;While Magic is a great game, italso features some great artwork.&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://code.google.com/p/magarena/downloads/detail?name=Magarena-1.16b.zip&amp;amp;can=2&amp;amp;q=" style="white-space: nowrap;"&gt;Magarena-1.16b.zip&lt;/a&gt;&amp;nbsp; - Runs on Windows, Mac, Linux and requires &lt;a href="http://java.com/"&gt;Java 1.6&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://code.google.com/p/magarena/downloads/detail?name=Magarena_1126.exe&amp;amp;can=2&amp;amp;q=" style="white-space: nowrap;"&gt;Magarena_1126.exe&lt;/a&gt; - Is a small update for Windows users and should be put in the same directory that you unzipped Magarena-1.16b.zip &amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://code.google.com/p/magarena/downloads/list?can=2&amp;amp;q="&gt;Link&lt;/a&gt; - Magarena Download Site for all future versions&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: center;"&gt;Everybody loves screenshots.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-18n8Nt57rL8/Tk6aFyLTktI/AAAAAAAABhY/9dG1v8oaNKA/s1600/magarena+-+error+-+declare+blockers+-+monte+carlo+cheat+-+level+6.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-18n8Nt57rL8/Tk6aFyLTktI/AAAAAAAABhY/9dG1v8oaNKA/s400/magarena+-+error+-+declare+blockers+-+monte+carlo+cheat+-+level+6.gif" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Working on an open source project is hard and thankfullyother people step up to the task.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I, theoriginal author of Forge, no longer work on Forge and ubeefx, the originalauthor of Magarena, no longer works on that project.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Thanks to melvin who continues to work onMagarena and thanks to the Forge coders who have added more cards than I everthought possible.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Forge Coding Team:&lt;/div&gt;Friar Sol&lt;br /&gt;Sloth&lt;br /&gt;Dave&lt;br /&gt;Rob Cashwalker&lt;br /&gt;Braids&lt;br /&gt;Max mtg&lt;br /&gt;Jeff Wadsworth&lt;br /&gt;Hellfish&lt;br /&gt;ArsenalNut&lt;br /&gt;Starcrash&lt;br /&gt;Marc&lt;br /&gt;Corwin&lt;br /&gt;Chris H&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-1137898371328010313?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/1137898371328010313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=1137898371328010313' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1137898371328010313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1137898371328010313'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/08/magarena-918-cards-good-ai.html' title='Magarena - 918 Cards, Good AI'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-rPpEK5vGEYM/Tk6W1BbIYBI/AAAAAAAABhQ/9RYXmAUtO1g/s72-c/angel.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-7045652657654570058</id><published>2011-08-15T01:34:00.000-07:00</published><updated>2011-08-15T01:34:00.863-07:00</updated><title type='text'>Card Uniqueness - A Thorny Problem</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;o:OfficeDocumentSettings&gt;  &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt; &lt;/o:OfficeDocumentSettings&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:WordDocument&gt;  &lt;w:View&gt;Normal&lt;/w:View&gt;  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;  &lt;w:TrackMoves/&gt;  &lt;w:TrackFormatting/&gt;  &lt;w:PunctuationKerning/&gt;  &lt;w:ValidateAgainstSchemas/&gt;  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;  &lt;w:DoNotPromoteQF/&gt;  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;  &lt;w:Compatibility&gt;   &lt;w:BreakWrappedTables/&gt;   &lt;w:SnapToGridInCell/&gt;   &lt;w:WrapTextWithPunct/&gt;   &lt;w:UseAsianBreakRules/&gt;   &lt;w:DontGrowAutofit/&gt;   &lt;w:SplitPgBreakAndParaMark/&gt;   &lt;w:EnableOpenTypeKerning/&gt;   &lt;w:DontFlipMirrorIndents/&gt;   &lt;w:OverrideTableStyleHps/&gt;  &lt;/w:Compatibility&gt;  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;m:mathPr&gt;   &lt;m:mathFont m:val="Cambria Math"/&gt;   &lt;m:brkBin m:val="before"/&gt;   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;   &lt;m:smallFrac m:val="off"/&gt;   &lt;m:dispDef/&gt;   &lt;m:lMargin m:val="0"/&gt;   &lt;m:rMargin m:val="0"/&gt;   &lt;m:defJc m:val="centerGroup"/&gt;   &lt;m:wrapIndent m:val="1440"/&gt;   &lt;m:intLim m:val="subSup"/&gt;   &lt;m:naryLim m:val="undOvr"/&gt;  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;  &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt; &lt;/w:LatentStyles&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;&lt;style&gt; /* Style Definitions */ table.MsoNormalTable	{mso-style-name:"Table Normal";	mso-tstyle-rowband-size:0;	mso-tstyle-colband-size:0;	mso-style-noshow:yes;	mso-style-priority:99;	mso-style-parent:"";	mso-padding-alt:0in 5.4pt 0in 5.4pt;	mso-para-margin:0in;	mso-para-margin-bottom:.0001pt;	mso-pagination:widow-orphan;	font-size:10.0pt;	font-family:"Times New Roman","serif";}&lt;/style&gt;&lt;![endif]--&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;Forge has a problem.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Technically Forge has many problems but today we are going toinvestigate one of them.&lt;span&gt;&amp;nbsp; &lt;/span&gt;"Why does MomentaryBlink not work?"&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0Rsfv7ByC0o/TkVIVz0f-AI/AAAAAAAABhI/FHf-vq-rDSc/s1600/blink.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-0Rsfv7ByC0o/TkVIVz0f-AI/AAAAAAAABhI/FHf-vq-rDSc/s400/blink.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Let me briefly explain how Momentary Blink is supposed towork.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(Basically Momentary Blink savesyour creature from damage or destruction.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;1. You play Elvish Piper, a puny 1/1 creature&lt;/div&gt;&lt;div class="MsoNormal"&gt;2. Your opponent plays Shock and targets Elvish Piper&lt;/div&gt;&lt;div class="MsoNormal"&gt;3. You play Momentary Blink&lt;/div&gt;&lt;div class="MsoNormal"&gt;4. Shock is countered, aka fizzles, because it does not havea legal target&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The problem is that Forge doesn't process Momentary Blinkcorrectly and Shock is perceived to have a valid target thus putting yourElvish Piper in the graveyard.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Thereason that Forge does this is because it sees both Elvish Piper's as being thesame.&lt;span&gt;&amp;nbsp; &lt;/span&gt;And you may ask, "Why?"&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Forge uses card objects (Java source code) to representphysical, cardboard cards.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Card objectsare used everywhere that a physical card is used: in hand, in the graveyard, onthe battlefield, exiled or in your library.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Card objects are equal if they have the same unique number.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The problem is that Forge doesn't assign a new unique cardnumber to Elvish Piper after Momentary Blink resolves.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This error can be easily solved by givingeach creature (and permanent) a new unique card number when it enters thebattlefield.&lt;span&gt;&amp;nbsp; &lt;/span&gt;But the issue of "carduniqueness" continues to be a complicated, thorny problem. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Keep on forging,&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;--Ideally the user interface wouldn't show each card'sunique ID number but I didn't know how to draw fancy pointing arrows like MagicOnline.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;--I thought this was a great card picture from Magicupcoming set Innistrad and I wanted to show it off.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-SUn3Dg4d1zg/TkVJW_OQbYI/AAAAAAAABhM/5I3WBpLI8Ws/s1600/Bloodgift+Forum.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-SUn3Dg4d1zg/TkVJW_OQbYI/AAAAAAAABhM/5I3WBpLI8Ws/s1600/Bloodgift+Forum.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-7045652657654570058?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/7045652657654570058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=7045652657654570058' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7045652657654570058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7045652657654570058'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/08/card-uniqueness-thorny-problem.html' title='Card Uniqueness - A Thorny Problem'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-0Rsfv7ByC0o/TkVIVz0f-AI/AAAAAAAABhI/FHf-vq-rDSc/s72-c/blink.jpg' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-370759040954708107</id><published>2011-08-08T01:56:00.000-07:00</published><updated>2011-08-08T01:56:00.944-07:00</updated><title type='text'></title><content type='html'>Another new version of Forge, oh wonderful, frabulous day.&amp;nbsp; (Some people might quibble over the word "frabulous" but let them quibble away.)&amp;nbsp; Forge has a staggering 8,688 cards.&amp;nbsp; I posted pictures of some of the new cards below.&lt;br /&gt;&lt;br /&gt;This is the 07-29-2011 version&lt;span style="font-weight: bold;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a class="postlink" href="http://www.mediafire.com/download.php?591o5255zlbttdq"&gt;forge-1.1.1-SNAPSHOT.tar.bz2&lt;/a&gt; (15 MB) - Windows and Linux&lt;br /&gt;&lt;br /&gt;&lt;a class="postlink" href="http://www.mediafire.com/download.php?ag83b9r7dr9pril"&gt;forge-1.1.1-SNAPSHOT.osx.tar.bz2&lt;/a&gt; (15 MB) - Mac OS&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?f7stkn8nqglzkbc"&gt;Download&lt;/a&gt; - Card Pictures (160 MB)&lt;br /&gt;These  are most of the low-quality (LQ) card pictures.&amp;nbsp; You can download   the  rest of the LQ card pictures or the high-quality (HQ) card pictures    using the menu on the New Game screen.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.com/"&gt;Java&lt;/a&gt; - in case you need to update or download Java&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Many people helped with this version. A special thank you goes out to them:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sloth&lt;br /&gt;Slapshot5&lt;br /&gt;Friar Sol&lt;br /&gt;JenDave&lt;br /&gt;Braids&lt;br /&gt;Rob Cashwalker&lt;br /&gt;Snacko&lt;br /&gt;Jeff Wadsworth&lt;br /&gt;ArsenalNut&lt;br /&gt;Jaedayr&lt;br /&gt;Marc&lt;br /&gt;Chris H&lt;br /&gt; &lt;br /&gt;&lt;div style="text-align: center;"&gt; -------------------------------------------------------------------------&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-GU0L-A19UqU/TjwxCJ1BZUI/AAAAAAAABgc/6HrQjS-RcPQ/s1600/84.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-GU0L-A19UqU/TjwxCJ1BZUI/AAAAAAAABgc/6HrQjS-RcPQ/s1600/84.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-lPjiSGoQNKA/TjwxFsQ9RlI/AAAAAAAABgg/gcK14p53xZQ/s1600/114.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-lPjiSGoQNKA/TjwxFsQ9RlI/AAAAAAAABgg/gcK14p53xZQ/s1600/114.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-CzzFzVyoSS0/TjwxIrdXDJI/AAAAAAAABgk/plUlZuo3Lyc/s1600/115.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-CzzFzVyoSS0/TjwxIrdXDJI/AAAAAAAABgk/plUlZuo3Lyc/s1600/115.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-E32iXVrWWtQ/TjwxasKM1iI/AAAAAAAABhE/8Tn9Zmh3eIg/s1600/213.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-E32iXVrWWtQ/TjwxasKM1iI/AAAAAAAABhE/8Tn9Zmh3eIg/s1600/213.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-c7UXdxW3IIk/TjwxYg-7iUI/AAAAAAAABhA/9RH-XyWESOA/s1600/198.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-c7UXdxW3IIk/TjwxYg-7iUI/AAAAAAAABhA/9RH-XyWESOA/s1600/198.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-YSjgQ_oVEtk/TjwxWo7nJTI/AAAAAAAABg8/LFf4AiJuDTo/s1600/160.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-YSjgQ_oVEtk/TjwxWo7nJTI/AAAAAAAABg8/LFf4AiJuDTo/s1600/160.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-vfUKe-zNKgU/TjwxUTiBlvI/AAAAAAAABg4/dIQSbPKSVxo/s1600/148.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-vfUKe-zNKgU/TjwxUTiBlvI/AAAAAAAABg4/dIQSbPKSVxo/s1600/148.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dk8mdyywcfg/TjwxR_rpWsI/AAAAAAAABg0/inuDG912ePs/s1600/143.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-dk8mdyywcfg/TjwxR_rpWsI/AAAAAAAABg0/inuDG912ePs/s1600/143.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ZwOjmgZs1eU/TjwxQFBuaFI/AAAAAAAABgw/9MuiJvxxR4A/s1600/139.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-ZwOjmgZs1eU/TjwxQFBuaFI/AAAAAAAABgw/9MuiJvxxR4A/s1600/139.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-upFu9ejVr6g/TjwxOPkuUcI/AAAAAAAABgs/eIRW33fP4MI/s1600/117.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-upFu9ejVr6g/TjwxOPkuUcI/AAAAAAAABgs/eIRW33fP4MI/s1600/117.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dkLcC-RnEVA/TjwxMOPCiXI/AAAAAAAABgo/b1SDFiwFanc/s1600/116.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-dkLcC-RnEVA/TjwxMOPCiXI/AAAAAAAABgo/b1SDFiwFanc/s1600/116.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-GYoLjt6c-GA/Tjww7RFQUxI/AAAAAAAABgY/LckGzjoCJEg/s1600/73.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-GYoLjt6c-GA/Tjww7RFQUxI/AAAAAAAABgY/LckGzjoCJEg/s1600/73.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-370759040954708107?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/370759040954708107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=370759040954708107' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/370759040954708107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/370759040954708107'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/08/another-new-version-of-forge-oh.html' title=''/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-GU0L-A19UqU/TjwxCJ1BZUI/AAAAAAAABgc/6HrQjS-RcPQ/s72-c/84.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-4971307479194384157</id><published>2011-08-01T01:58:00.000-07:00</published><updated>2011-08-01T01:58:00.975-07:00</updated><title type='text'>How to Code a Trading Card Videogame</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;o:OfficeDocumentSettings&gt;  &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt; &lt;/o:OfficeDocumentSettings&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:WordDocument&gt;  &lt;w:View&gt;Normal&lt;/w:View&gt;  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;  &lt;w:TrackMoves/&gt;  &lt;w:TrackFormatting/&gt;  &lt;w:PunctuationKerning/&gt;  &lt;w:ValidateAgainstSchemas/&gt;  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;  &lt;w:DoNotPromoteQF/&gt;  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;  &lt;w:Compatibility&gt;   &lt;w:BreakWrappedTables/&gt;   &lt;w:SnapToGridInCell/&gt;   &lt;w:WrapTextWithPunct/&gt;   &lt;w:UseAsianBreakRules/&gt;   &lt;w:DontGrowAutofit/&gt;   &lt;w:SplitPgBreakAndParaMark/&gt;   &lt;w:EnableOpenTypeKerning/&gt;   &lt;w:DontFlipMirrorIndents/&gt;   &lt;w:OverrideTableStyleHps/&gt;  &lt;/w:Compatibility&gt;  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;m:mathPr&gt;   &lt;m:mathFont m:val="Cambria Math"/&gt;   &lt;m:brkBin m:val="before"/&gt;   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;   &lt;m:smallFrac m:val="off"/&gt;   &lt;m:dispDef/&gt;   &lt;m:lMargin m:val="0"/&gt;   &lt;m:rMargin m:val="0"/&gt;   &lt;m:defJc m:val="centerGroup"/&gt;   &lt;m:wrapIndent m:val="1440"/&gt;   &lt;m:intLim m:val="subSup"/&gt;   &lt;m:naryLim m:val="undOvr"/&gt;  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;  &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt; &lt;/w:LatentStyles&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;&lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}&lt;/style&gt;&lt;![endif]--&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;This article is all about the wide world of programming so ifyour eyes start to glaze over…sorry…come back next week when I cover somethingmore exciting.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-CWlyrt9bfDQ/TjG_iAjyFOI/AAAAAAAABgQ/mDWXN6N6KP4/s1600/acorn.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-CWlyrt9bfDQ/TjG_iAjyFOI/AAAAAAAABgQ/mDWXN6N6KP4/s1600/acorn.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;from Magic's multiplayer Commander set&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Maybe there is a trading card game (TCG) that you want to play.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Maybe you love this TCG with all of yourheart but no one else has ever heard of it and you bought a couple of starterdecks and you just fell in love with it.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Here are 7 steps that will get you started in the right direction.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;u&gt;&lt;b&gt;1. Learn one programming language well.&lt;/b&gt;&lt;/u&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;It doesn’t matter if you know C, C++, C#, D, Java,Perl, Python, Ruby or Lua.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I wouldsuggest studying for a certification test in your language which will force youto learn all of the tiny details that you otherwise might gloss over and thosedetails become VERY important when you start to program anything over 1,000lines.&lt;span&gt;&amp;nbsp; &lt;/span&gt;If you want a great book on goodcoding practices, I would suggest “Code Complete” by Steve McConnell.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This one book taught me more about codingthan my four years in college.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(OK, itwas really 6 years because I spent 2 years majoring in music which was really “fun”practicing 2 hours a day.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;--If you want to get started right away, you can startprogramming in a language that you don’t know but it can be frustrating sinceyou have to look everything up in a book or online.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;u&gt;&lt;b&gt;2. You have to become a ruleslawyer.&lt;/b&gt;&lt;/u&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;If you don’t know the rules, youobviously can’t program them.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Learn toread the “comprehensive rules” that come with many TCG’s.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Reading the comprehensive rules will openyour eyes and will answer many of the details when programming like when yoursearch your deck for a card can the player choose to not find a card eventhough it is in the deck.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The usual answerto this is yes because otherwise you have to prove to your opponent that thecard isn’t in your deck, which is annoying and time consuming.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Many TCG’s share the same nomenclature suchas zones.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;--A quickstart idea is just to code two starter decks andlet other people verify that your program implements the rules correctly.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;u&gt;&lt;b&gt;3. Write the program for &lt;/b&gt;&lt;/u&gt;&lt;u&gt;&lt;b&gt;only &lt;/b&gt;&lt;/u&gt;&lt;u&gt;&lt;b&gt;yourself.&lt;/b&gt;&lt;/u&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;By tailoring the program specifically toyourself, you are making many good design decisions.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Not everyone will agree with you 100% butthat never happen anyways.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;u&gt;&lt;b&gt;4.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Don’t expectanyone else to help or support you.&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I know this sounds a little rough but if you are codingsomething that you think will make other people happy, you are in for a worldof hurt.&lt;span&gt;&amp;nbsp; &lt;/span&gt;By programming somethingspecifically for yourself, you are (hopefully) guaranteed to make yourselfhappy.&lt;span&gt;&amp;nbsp; &lt;/span&gt;And if you are happy, it willmake the work that much more enjoyable.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Internal motivation is much better external motivation, aka writing theprogram for somebody else.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Coding is really a one-man activity.&lt;span&gt;&amp;nbsp; &lt;/span&gt;And yes you may be working on a team but youwill spend most of your time by yourself.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Many open source projects are supported by only one-man so you have tolearn to rely on yourself.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(Yes, you canask other people questions but don’t expect them to do the grunt work, you haveto do your own grunt work.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;u&gt;&lt;b&gt;5.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Spent a lot oftime working on the user interface.&lt;/b&gt;&lt;/u&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Peoplewill make snap judgments about your program after using your program for only 30seconds.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The user interface is whatpeople will be using and it will affect their enjoyment.&lt;span&gt;&amp;nbsp; &lt;/span&gt;With that said, I know that working on theuser interface can be hard/annoying.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Making your program look halfway decent is a big challenge.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The reason that Forge has a fantastic, boringgray background is because that is the best that I can do.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Programming the user interface can easily takehalf of your time.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;u&gt;&lt;b&gt;6. Don’t be afraid to fail.&lt;/b&gt;&lt;/u&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;I didn’t get Forge right the first time.&lt;span&gt;&amp;nbsp;&lt;/span&gt;The current version of Forge is probably by 3rd or 4th version.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I would start coding the best that I couldand eventually the project would just crumble right before my eyes.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I would pick up the pieces and confidentlytry again.&lt;span&gt;&amp;nbsp; &lt;/span&gt;And now if I started Forgeagain, I think I could program it 80% better because I’ve learned so much.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I’ve read that you learn more from yourfailures than you do from your successes.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;u&gt;&lt;b&gt;7. Have fun.&lt;/b&gt;&lt;/u&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;If youaren’t having fun programming something…then stop.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Find something that is easier and work onthat instead.&lt;span&gt;&amp;nbsp; &lt;/span&gt;By working on easierprojects you are flexing your coding muscles so that you can handle that harderstuff later.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Hopefully that helps point somebody in the right direction.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Obviously I left out many subjects like writing the AI, which is a whole book by itself, or stressing that automated tests are your friend (although I admit that I didn't write any).&amp;nbsp;&amp;nbsp; Coding can be fun, especially if you areworking on a videogame.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;--mtgrares&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-4971307479194384157?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/4971307479194384157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=4971307479194384157' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/4971307479194384157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/4971307479194384157'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/08/how-to-code-trading-card-videogame.html' title='How to Code a Trading Card Videogame'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-CWlyrt9bfDQ/TjG_iAjyFOI/AAAAAAAABgQ/mDWXN6N6KP4/s72-c/acorn.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-3101117771780756932</id><published>2011-07-28T13:22:00.000-07:00</published><updated>2011-07-28T13:22:30.925-07:00</updated><title type='text'>Spoils Reply</title><content type='html'>I'm surprised at the number of post in favor of a Spoils videogame.&amp;nbsp; I might start working it.&amp;nbsp; I'm going to take things slow and just work on getting 2 starter decks working.&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I've very bad at saying, "I'm going to work on such-and-such" and then I never do it.&amp;nbsp; In the past I said that I would work on a &lt;a href="http://en.wikipedia.org/wiki/Pirates_Constructible_Strategy_Game"&gt;Pirates&lt;/a&gt; game and a &lt;a href="http://en.wikipedia.org/wiki/Star_Wars_PocketModel_Trading_Card_Game"&gt;Star Wars&lt;/a&gt; game.&amp;nbsp; So while I might work on a Spoils videogame I'll try not to talk about it until I get something working.&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;"Shoot!&amp;nbsp; I wish programming was easy", saysthe old man that lives in my head. (joke)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-3101117771780756932?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/3101117771780756932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=3101117771780756932' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3101117771780756932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3101117771780756932'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/07/spoils-reply.html' title='Spoils Reply'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-1169159837446480047</id><published>2011-07-25T01:12:00.000-07:00</published><updated>2011-07-26T10:07:28.777-07:00</updated><title type='text'>The Spoils: A Brief Introduction</title><content type='html'>&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Today I'm going to take a detour from my main topics ofMagic and programming and wonder down the path of another trading card game.I've become interested in &lt;a href="http://thespoils.com/"&gt;The Spoils&lt;/a&gt; and although it is relatively a new gamewith only 4 sets, some of the rules are very similar to Magic: The Gatheringwhile others are subtle improvements.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VZTqdkMQTqE/TimxtSRqq-I/AAAAAAAABgE/kZGGpIZp5d0/s1600/EnsorcelledFamiliar.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-VZTqdkMQTqE/TimxtSRqq-I/AAAAAAAABgE/kZGGpIZp5d0/s1600/EnsorcelledFamiliar.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;When playing Magic I regularly have the following problem.&amp;nbsp; I know which three cards/abilities I want to usebut then I have to look at my land to make sure that I don't accidentally useup all of my red mana because I was going to Shock my opponent during combat.&amp;nbsp; And the situation just gets worse whenplaying 3, 4, or 5 color decks when you have lands that can produce multiplecolors.&amp;nbsp; I'll call this the "landtapping problem" and although I know it can be solved by taking a fewextra seconds to think about the situation, I still find it annoying.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Oddly enough the Spoils doesn't have this problem.&amp;nbsp; In order to play a card you have to pay itscost, like 2, and meet the card's threshold.&amp;nbsp;Threshold is basically the number of "basic resources", akaland, that you have.&amp;nbsp; Threshold isn'tused up and can be used to meet the requirement for multiple cards.&amp;nbsp; So while a card's cost could be 2, thethreshold might be 6 Rage icons, which means that the card can't be playeduntil late in the game.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The card's cost can be paid by any resource, so this solvesthe "land tapping problem".&amp;nbsp; Inthe Spoils, although any card can be played as a resource (aka land) only basicresource cards have threshold icons on them.&amp;nbsp;&lt;u&gt;&lt;b&gt;I think Magic's biggest flaw is the requirement of land&lt;/b&gt;&lt;/u&gt; and while theSpoils doesn't eliminate land, it reduces the need to stuff half your deck fullof lands thus causing mana flooding or late in the game when you draw a landinstead of a useful card.&amp;nbsp; &amp;nbsp;&amp;nbsp;"Hey it's great to draw a mountain on my15th turn while I'm neck and neck with my opponent but I would really like somethingmore useful."&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;(The VS/Marvel/DC trading card game didn’t have the "landtapping problem" and only had generic costs like 3 but penalized you forusing random cards by only allowing characters with the same team affiliationto group attack.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Combat in the Spoils is similar to Magic's old combatsystem.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Declare attackers &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp; Let both playersplay cards/abilities &lt;/div&gt;&lt;div class="MsoNormal"&gt;Declare blockers&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp; Let both playersplay cards/abilities&lt;/div&gt;&lt;div class="MsoNormal"&gt;Assign damage&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp; Let both playersplay cards/abilities&lt;/div&gt;&lt;div class="MsoNormal"&gt;Deal damage&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The Spoils adds it own spin on combat and every creature hasa speed.&amp;nbsp; Higher speed creatures assign(and deal) damage before lower speed creatures which makes combat much morecomplicated.&amp;nbsp; Instead of having 1/1creatures, the Spoils has 1/1/1 creatures since creatures also have a speed.&amp;nbsp; You may have multiple combat phases because aplayer can attack with each of his creatures separately or together.&amp;nbsp; Creatures in the Spoils also have theannoying "summoning sickness" rule, which means that they can attackon your next turn.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;In Magic creatures have power/toughness and the Spoils renamesthem strength and life but they are the same thing.&amp;nbsp; The Spoils has 5 factions which are verydifferent in flavor than Magic's 5 colors but you have to be blind not tonotice the similarities.&amp;nbsp; The Spoils alsohas "faction cards" which are similar to Magic's avatar cards which affecthow many cards you draw, your starting life, etc...&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;u&gt;&lt;b&gt;I might try programming something like Forge for theSpoils.&lt;/b&gt;&lt;/u&gt;&amp;nbsp; It would be great to make itofficial with the company that owns the Spoils and actually sell it.&amp;nbsp; Programming for real money sounds like a veryenjoyable project.&amp;nbsp; Not that I haven'thad a great time starting the Forge project and giving it away but I wouldenjoy a change of pace.&amp;nbsp; A Spoilsvideogame with a good AI and decent graphics would be very fun indeed.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The world needs more trading card videogames. :+}&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;--mtgrares&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;I said "decent graphics" because that is myweakest skill.&amp;nbsp; Programming the back-end,non-graphical stuff is usually pretty easy and fun. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-1169159837446480047?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/1169159837446480047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=1169159837446480047' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1169159837446480047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1169159837446480047'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/07/spoils-brief-introduction.html' title='The Spoils: A Brief Introduction'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-VZTqdkMQTqE/TimxtSRqq-I/AAAAAAAABgE/kZGGpIZp5d0/s72-c/EnsorcelledFamiliar.jpg' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-3660445049086571968</id><published>2011-07-18T13:15:00.000-07:00</published><updated>2011-07-18T13:15:24.544-07:00</updated><title type='text'>Forge is Not Dying</title><content type='html'>I didn't do a good job of explaining this.&lt;br /&gt;&lt;br /&gt;1. Forge is still going to be developed and nothing really is going to change.&amp;nbsp; The DMCA notice just makes me change where I post Forge, so it can be downloaded.&amp;nbsp; Torrents could solve this problem but I try to make it super-easy to try Forge, which is why I have a plain, old-fashioned download link.&lt;br /&gt;&lt;br /&gt;2. I don't blame Wizards of the Coast.&amp;nbsp; I started Forge as a pet project and released it (on a whim) on the internet.&amp;nbsp; I never thought about violating copyrights or anything.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-3660445049086571968?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/3660445049086571968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=3660445049086571968' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3660445049086571968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3660445049086571968'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/07/forge-is-not-dying.html' title='Forge is Not Dying'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-1843332145755406008</id><published>2011-07-15T10:50:00.000-07:00</published><updated>2011-07-15T10:50:50.239-07:00</updated><title type='text'>DMCA Notice – aka Cease and Desist</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;o:OfficeDocumentSettings&gt;  &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt; &lt;/o:OfficeDocumentSettings&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:WordDocument&gt;  &lt;w:View&gt;Normal&lt;/w:View&gt;  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;  &lt;w:TrackMoves/&gt;  &lt;w:TrackFormatting/&gt;  &lt;w:PunctuationKerning/&gt;  &lt;w:ValidateAgainstSchemas/&gt;  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;  &lt;w:DoNotPromoteQF/&gt;  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;  &lt;w:Compatibility&gt;   &lt;w:BreakWrappedTables/&gt;   &lt;w:SnapToGridInCell/&gt;   &lt;w:WrapTextWithPunct/&gt;   &lt;w:UseAsianBreakRules/&gt;   &lt;w:DontGrowAutofit/&gt;   &lt;w:SplitPgBreakAndParaMark/&gt;   &lt;w:EnableOpenTypeKerning/&gt;   &lt;w:DontFlipMirrorIndents/&gt;   &lt;w:OverrideTableStyleHps/&gt;  &lt;/w:Compatibility&gt;  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;m:mathPr&gt;   &lt;m:mathFont m:val="Cambria Math"/&gt;   &lt;m:brkBin m:val="before"/&gt;   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;   &lt;m:smallFrac m:val="off"/&gt;   &lt;m:dispDef/&gt;   &lt;m:lMargin m:val="0"/&gt;   &lt;m:rMargin m:val="0"/&gt;   &lt;m:defJc m:val="centerGroup"/&gt;   &lt;m:wrapIndent m:val="1440"/&gt;   &lt;m:intLim m:val="subSup"/&gt;   &lt;m:naryLim m:val="undOvr"/&gt;  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;  &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;  &lt;w:LsdException Locked="false" Priority="0" Name="Hyperlink"/&gt;  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt; &lt;/w:LatentStyles&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;&lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}&lt;/style&gt;&lt;![endif]--&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-i_hvOgckJH8/TiB7D5X1XCI/AAAAAAAABgA/lyDqBls9F_o/s1600/elixir+of+immortality.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-i_hvOgckJH8/TiB7D5X1XCI/AAAAAAAABgA/lyDqBls9F_o/s320/elixir+of+immortality.jpg" width="224" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I just received another DMCA notice from the lawyers representingWizards of the Coast.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I would like to makea truce with Wizards.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Maybe Forge is in violation of copyright andmaybe it isn’t.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I seriously doubtwhether Forge is taking money out of Wizards of the Coast pockets but that isn’treally the question.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Copyright law, notmoney, is the real question.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Truthfully it always makes me a little bit sad when Ireceive a DMCA notice but I guess it goes with the territory.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I promise that the next trading card videogamethat I work on will be so obscure and forgotten that no one will evencare.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Maybe I’llchoose some random card game that was based on a Japanese anime but is nowdefunct.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(Both the anime and the cardgame itself.)&lt;span&gt;&amp;nbsp; &lt;/span&gt;Maybe I would choosesomething like the Inuyasha card game which has 1,200 total cards.&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span&gt;&lt;/span&gt;(You can view it’s non-existent homepage &lt;a href="http://web.archive.org/web/20090505115952/http://www.inuyashatcg.com/"&gt;here&lt;/a&gt; usingWaybackmachine.org, which scans the internet and archives webpages so you canview past versions.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;In reality I haven’t worked on Forge in the last 3 years sothe DMCA notice effects me the least of all.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Yes I have this awesome blog but I’m not invested emotionally.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Forge was a great project to start because itwas so freaking fun to play.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Forge is my favoritevideogame ever, hands down, and is probably one of the greatest games evermade.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I do thank the many coders thatkeep improving Forge.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Slapshot5&lt;br /&gt;Rob Cashwalker&lt;br /&gt;JenDave&lt;br /&gt;Friar Sol&lt;br /&gt;Braids&lt;br /&gt;Sloth&lt;br /&gt;Hellfish&lt;br /&gt;Jeff Wadsworth&lt;br /&gt;Agetian&lt;br /&gt;SoulStorm&lt;br /&gt;Starcrash&lt;br /&gt;Marc&lt;br /&gt;Timmermac&lt;br /&gt;Slowe&lt;br /&gt;UnderFlow&lt;br /&gt;ZzzzSleep&lt;br /&gt;Corwin72&lt;br /&gt;ondrej.n...&lt;br /&gt;Chris H&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I am providing links to the newest version of Forge.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The newest version is 07-15-2011 and has8,614 unique cards.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Bz2 files can beuncompressed using &lt;a href="http://www.7-zip.org/download.html"&gt;7zip&lt;/a&gt;.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The Windowsfiles are at the top of the 7zip webpage and Linux/Mac files are further down.&amp;nbsp; &lt;a href="http://mediafire.com/"&gt;Mediafire.com&lt;/a&gt; is a decent host but it does have a few pop-ups. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;No deck files are included but you can download decks from the Forge &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=48"&gt;deck forum&lt;/a&gt; and put them in your /res/decks/ directory.&amp;nbsp; You can download decks without registering. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://www.mediafire.com/?86b3bj33o7mi35s"&gt;forge-1.1.0.tar.bz2&lt;/a&gt; – Windows/Linux (14 MB)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://www.mediafire.com/?chlhucsuc994nzc"&gt;forge-1.1.0.osx.tar.bz2&lt;/a&gt; – Mac (15 MB)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-1843332145755406008?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/1843332145755406008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=1843332145755406008' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1843332145755406008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1843332145755406008'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/07/dmca-notice-aka-cease-and-desist.html' title='DMCA Notice – aka Cease and Desist'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-i_hvOgckJH8/TiB7D5X1XCI/AAAAAAAABgA/lyDqBls9F_o/s72-c/elixir+of+immortality.jpg' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-2699408595771115992</id><published>2011-07-11T01:49:00.000-07:00</published><updated>2011-07-11T01:49:00.261-07:00</updated><title type='text'>Buggy Cards – To add or not to add, that is the question</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;o:OfficeDocumentSettings&gt;  &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt; &lt;/o:OfficeDocumentSettings&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:WordDocument&gt;  &lt;w:View&gt;Normal&lt;/w:View&gt;  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;  &lt;w:TrackMoves/&gt;  &lt;w:TrackFormatting/&gt;  &lt;w:PunctuationKerning/&gt;  &lt;w:ValidateAgainstSchemas/&gt;  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;  &lt;w:DoNotPromoteQF/&gt;  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;  &lt;w:Compatibility&gt;   &lt;w:BreakWrappedTables/&gt;   &lt;w:SnapToGridInCell/&gt;   &lt;w:WrapTextWithPunct/&gt;   &lt;w:UseAsianBreakRules/&gt;   &lt;w:DontGrowAutofit/&gt;   &lt;w:SplitPgBreakAndParaMark/&gt;   &lt;w:EnableOpenTypeKerning/&gt;   &lt;w:DontFlipMirrorIndents/&gt;   &lt;w:OverrideTableStyleHps/&gt;  &lt;/w:Compatibility&gt;  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;m:mathPr&gt;   &lt;m:mathFont m:val="Cambria Math"/&gt;   &lt;m:brkBin m:val="before"/&gt;   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;   &lt;m:smallFrac m:val="off"/&gt;   &lt;m:dispDef/&gt;   &lt;m:lMargin m:val="0"/&gt;   &lt;m:rMargin m:val="0"/&gt;   &lt;m:defJc m:val="centerGroup"/&gt;   &lt;m:wrapIndent m:val="1440"/&gt;   &lt;m:intLim m:val="subSup"/&gt;   &lt;m:naryLim m:val="undOvr"/&gt;  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;  &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt; &lt;/w:LatentStyles&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;&lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}&lt;/style&gt;&lt;![endif]--&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;When I was working on Forge as a personal, pet project Ididn't mind adding buggy cards.&amp;nbsp; I knew which of the cards were buggy andgenerally they just made me smile when a bug happened during the game.&amp;nbsp; Generallythe bugs were mildly annoying but nothing more than that.&amp;nbsp; (If the bugcaused the game to crash, I didn't smile.)&amp;nbsp; And the Forge developers continuedto add cards that were a little bit buggy.&amp;nbsp; By “buggy cards” I mean thecards would work under "normal circumstances" but not when things gotcomplicated.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt; &lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/m12/1.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/m12/1.jpg" width="280" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;(Random cool card picture)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt; This rule-of-thumb has worked well for a while but it nowthat Forge has 8,437 things could be changed.&lt;span&gt;&amp;nbsp;&lt;/span&gt;The only reason that I included buggy cards to begin with was becauseForge didn’t have many cards.&lt;span&gt;&amp;nbsp; &lt;/span&gt;And themore cards it has equals more fun.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Nowall of the buggy cards could be removed and the player could optionally usethem by changing an option.&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I started thinking about buggy cards after recently reading &lt;a href="http://wololo.net/wagic/2011/04/25/freewar/"&gt;this post&lt;/a&gt; on theWagic blog.&lt;span&gt;&amp;nbsp; &lt;/span&gt;One paragraph caught myattention:&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[start quote]&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I’m also proud to think that in Wagic, when we say a card issupported, you are very unlikely to find a bug with it, and if you do, weacknowledge it’s a bug, we won’t say “no, we couldn’t do better than that withthis card”. When we can’t fix the bug, we “downgrade” the card. It is still inthe game, but you have to enable a special option (the “grade”) in order toplay with it.&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;This way, by default, a card that is not good enough will notappear in your game experience. For example, you won’t officially find thePlaneswalkers in Wagic, because we think they do not reach the “quality bar” weexpect them to reach…but it doesn’t prevent you from downloading them in a“workaround” version. So, when we say we support 7700 cards, we could actuallysay we support 8000 cards, but 300 of them were not considered “good enough” tobe in the default settings.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[end quote]&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I thought it was a very good way to deal with buggycards.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Of course the level of “bugginess”is hard to tell.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Does a non-buggy card meanthat it is 100% rules compliant and works correctly in all situations?&lt;span&gt;&amp;nbsp; &lt;/span&gt;And to further complicated the situation somecards appear buggy only when other new cards are added.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Wagic is a great implementation of Magic with rulesenforcement.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Wagic’s primary platform isthe Sony PSP but it also runs on Windows, Linux, and Nokia N900 (maemo).&lt;span&gt;&amp;nbsp; &lt;/span&gt;Wagic for Windows features mouse support or youcan use the plain, old keyboard.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I thinkyou can also use your gamepad if you use an external program to remap yourkeyboard to your gamepad.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://wololo.net/wagic/download/"&gt;Wagic Download&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt; &lt;a href="http://wololo.net/wagic/screenshots/"&gt;Wagic Screenshots&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Keep on tapping (and winning),&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-2699408595771115992?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/2699408595771115992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=2699408595771115992' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/2699408595771115992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/2699408595771115992'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/07/buggy-cards-to-add-or-not-to-add-that.html' title='Buggy Cards – To add or not to add, that is the question'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-1655089178239819165</id><published>2011-07-04T01:04:00.000-07:00</published><updated>2011-07-04T01:04:00.194-07:00</updated><title type='text'>New Version</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/extras/token/new-phyrexia/goblin.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://magiccards.info/extras/token/new-phyrexia/goblin.jpg" width="225" /&gt;&lt;/a&gt;&lt;/div&gt;Happy 4th of July.&amp;nbsp; Some of you will be enjoying a new version of Forge and a day off of work.&amp;nbsp; The rest of you suckers will just have to work.&amp;nbsp; Forge has 300 new cards and a total of 8,437 cards.&lt;span style="font-weight: bold;"&gt;&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;Some of the improvements that Chris H. mentions: &lt;br /&gt;&lt;br /&gt;This version features a complete rewrite of Sealed Deck mode. Full cardpool, block and custom modes are supported. Custom sealed files in the res/sealed folder are exactly the same as custom draft files, except the file extension ".sealed".&lt;br /&gt;&lt;br /&gt;A distinction may now be made between AI decks and Human decks, with the addition of a deck Metadata "PlayerType", which right now just helps by sorting human decks into the human combo box and AI decks into the AI combo box.&lt;br /&gt;&lt;br /&gt;Rob fixed the main Deck Editor's bad behavior with cards reappearing in the top after clearing the filter. A similar change should be easy to apply to the quest deck editor.&lt;br /&gt;&lt;br /&gt;A number of bugs are fixed in this version. This includes the multi-targeting bug and the Trigger issue is now fixed. Many of the auras were missing potions of the descriptive text which appears in the card detail panel. After a lot of head scratching we believe that we have implemented a quick fix for this version.&lt;br /&gt;&lt;br /&gt;The keyword "CARDNAME can't be the target of spells or abilities your opponents control." was replaced with the new shortened "Hexproof" keyword. There are several new and sveral revamped quest opponent decks.&lt;br /&gt; &lt;br /&gt;-------------------------------&lt;br /&gt;06-24 was the date that this version of Forge was first posted on the forums.&amp;nbsp; Many thanks to the faithful developers :*) - For a list of developers scroll to the bottom of this post.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forge-card-game.googlecode.com/files/forge%2006-2011%20%28with%20decks%29.zip"&gt;Link&lt;/a&gt; - Forge 06-24 (Windows, Linux) 33 MB&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forge-card-game.googlecode.com/files/forge-06-2011.tar.bz2"&gt;Link&lt;/a&gt; - Forge 06-24 (Mac) 17 MB - Use &lt;a href="http://www.kekaosx.com/en/"&gt;Keka&lt;/a&gt; to uncompress 7z files.&amp;nbsp; The Mac version (optionally) needs 2 more files that contain pictures, you can get them from &lt;a href="http://www.slightlymagic.net/forum/viewtopic.php?f=26&amp;amp;t=4884"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?f7stkn8nqglzkbc"&gt;Download&lt;/a&gt; - Card Pictures (160 MB)&lt;br /&gt;These  are most of the low-quality (LQ) card pictures.&amp;nbsp; You can download   the  rest of the LQ card pictures or the high-quality (HQ) card pictures    using the menu on the New Game screen.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.com/"&gt;Java&lt;/a&gt; - in case you need to update or download Java&lt;br /&gt;&lt;br /&gt;You can move your decks files by copying them from /old forge directory/res/decks/ to your new deck directory.&amp;nbsp; You can also copy your pictures from /old forge directory/res/pics/ to your picture directory.&lt;br /&gt;&lt;br /&gt;If you have any questions/comments, please post them to the &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=26"&gt;forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;---------------------------------------&lt;br /&gt; Some of the awesome new cards include:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/5e/278.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://magiccards.info/scans/en/5e/278.jpg" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/lg/214.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://magiccards.info/scans/en/lg/214.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/tr/59.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://magiccards.info/scans/en/tr/59.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/8e/124.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://magiccards.info/scans/en/8e/124.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/cmd/196.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://magiccards.info/scans/en/cmd/196.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/som/118.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://magiccards.info/scans/en/som/118.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/9e/182.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://magiccards.info/scans/en/9e/182.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/ds/121.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://magiccards.info/scans/en/ds/121.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/gp/114.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://magiccards.info/scans/en/gp/114.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;p.s.&lt;span style="font-weight: bold;"&gt; Many people helped with this version. A special thank you goes out to them:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sloth&lt;br /&gt;Friar Sol&lt;br /&gt;Slapshot5&lt;br /&gt;Rob Cashwalker&lt;br /&gt;JenDave&lt;br /&gt;Braids&lt;br /&gt;Hellfish&lt;br /&gt;Agetian&lt;br /&gt;Jeff Wadsworth&lt;br /&gt;Jaedayr&lt;br /&gt;LazyLockie&lt;br /&gt;Starcrash&lt;br /&gt;UnderFlow&lt;br /&gt;Chris H&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-1655089178239819165?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/1655089178239819165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=1655089178239819165' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1655089178239819165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1655089178239819165'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/07/new-version.html' title='New Version'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-1195981312096412355</id><published>2011-06-27T01:42:00.000-07:00</published><updated>2011-06-27T01:42:00.545-07:00</updated><title type='text'>Forge - the Beginning</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=214378&amp;amp;type=card" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=214378&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;In the beginning there was no Forge and the world wassad.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The only software available at thetime was Shandalar, which ran quite well despite being written in 1997.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The very first part of Forge that I wrote wasa simple user interface (ui) because I knew that the whole project wasbasically a videogame and videogames need to have a good ui.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;My ui skills (and still are) limited and I didn’t know howto show a tapped card.&lt;span&gt;&amp;nbsp; &lt;/span&gt;At the time cardson the battlefield were displayed only as colored boxes, which you can see ifForge cannot find the card picture.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Mysolution was to stick the word “tapped” inside of the colored box.&lt;span&gt;&amp;nbsp; &lt;/span&gt;In a way it was very ugly but at least theuser wouldn’t confuse tapped and untapped cards.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;After I got a basic ui working, I knew that I needed astrategy to handle the mouse and it was going to be a pain in the neck.&lt;span&gt;&amp;nbsp; &lt;/span&gt;How was I supposed to restrict targetingpossibilities for cards like Terror – no black or artifact creatures orAssissinate – destroy target tapped creature?&lt;span&gt;&amp;nbsp;&lt;/span&gt;And how do I combine the card code and the mouse code?&lt;span&gt;&amp;nbsp; &lt;/span&gt;Thankfully I found the state pattern.&lt;span&gt;&amp;nbsp; &lt;/span&gt;At first the state pattern was a little hardto understand (grok) but after writing some simple code and running it,everything made perfect sense.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;(I wondered how other Magic programs handled the mouse anddid they also use the state pattern?&lt;span&gt;&amp;nbsp;&lt;/span&gt;More than likely they didn’t but I have no idea how to handle the mousewithout using the state pattern.&lt;span&gt;&amp;nbsp; &lt;/span&gt;You canread more about the state pattern and how I applied it to the mouse &lt;a href="http://mtgrares.blogspot.com/2007/06/design-mouse-click.html"&gt;here&lt;/a&gt;,&lt;a href="http://mtgrares.blogspot.com/2009/10/how-mtg-forge-uses-mouse-for-targeting.html"&gt;here&lt;/a&gt; and &lt;a href="http://www.slightlymagic.net/forum/viewtopic.php?f=52&amp;amp;t=1461&amp;amp;hilit=how+to+program+input+hours"&gt;here&lt;/a&gt;.) &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;After I got a basic user interface and mouse working, Iadded the phases which only consisted of a message stating the phase name.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Just clicking the OK button and watchingForge cycle through the phases was very exciting even though the program didn’tactually do anything yet.&lt;span&gt;&amp;nbsp; &lt;/span&gt;After that Iworked on the card class and the “card detail window” which is on the rightside and shows all of the card information.&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Ideally the card picture would be created on-the-fly like Magic Online andwould have all of correct text information like if your creature was pumped upwith Giant Growth.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Even though the user could see all of the card information,without seeing the actual card picture the user interface was especiallybland.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Since I couldn’t display the cardpicture on the battlefield because I didn’t know how, I had the bright idea toshow the card picture in a panel by itself.&lt;span&gt;&amp;nbsp;&lt;/span&gt;While this was only a small step, it really made Forge seem like a realprogram.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Tanks for reading,&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;--Actually I did know how to resize the card pictures andput them on the battlefield but I couldn’t figure out how to rotate them.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Thankfully, after a few months somebody sentme a nifty one line fix.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;--I tried to use as many design patterns as I could.&lt;span&gt;&amp;nbsp; &lt;/span&gt;“End of turn” effects used the commandpattern.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The quest data was saved usingthe memento pattern.&lt;span&gt;&amp;nbsp; &lt;/span&gt;My advice is toalways save data as primitives (ints, Strings) instead of saving wholeobjects.&lt;span&gt;&amp;nbsp; &lt;/span&gt;That way when you want tochange how your data is saved, you can easily read the primitives versus tryingto read an older version of an object.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;--Forge is probably my 4th iteration at programming Magic.&amp;nbsp; The first three projects collapsed because of fundamental archetecture problems.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-1195981312096412355?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/1195981312096412355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=1195981312096412355' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1195981312096412355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1195981312096412355'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/06/forge-beginning.html' title='Forge - the Beginning'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-1589240806394049024</id><published>2011-06-24T10:08:00.000-07:00</published><updated>2011-07-08T09:49:01.056-07:00</updated><title type='text'>How to Report an Error</title><content type='html'>1. Go here: &lt;a href="http://code.google.com/p/cardforge/issues/list"&gt;http://code.google.com/p/cardforge/issues/list&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Click "New Issue"&lt;br /&gt;&lt;br /&gt;3. If you don't have a Google account, click on the link - "Create an account now".&amp;nbsp; You don't have to create a new Google email account, you just need a Google username, which is your existing email account like magic_guy@yahoo.com&lt;br /&gt;&lt;br /&gt;4. Briefly search for existing open issues with key words from your bug report (e.g. "Sphinx-Bone Wand"). If an issue describing your bug does already exist, you can provide additional information in its comment section. &lt;br /&gt;&lt;br /&gt;4. Post your issue by clicking on "new issue". You will receive a template that you can fill out. Under "version", write the release date.&amp;nbsp; The newest version of Forge that I have posted is 6/24/2011.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;If you downloaded Forge from the forum put the release date of the beta (e.g. "BETA 06/12/2011") or the revision you used to compile your Forge version if you use the SVN (e.g. "Revision 9875"; command: "./svn.exe info forge-svn").&lt;br /&gt;&lt;br /&gt;Thanks to UnderFlow for posting these directions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-1589240806394049024?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/1589240806394049024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=1589240806394049024' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1589240806394049024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/1589240806394049024'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/06/how-to-report-error.html' title='How to Report an Error'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-2128348742283136710</id><published>2011-06-17T07:23:00.000-07:00</published><updated>2011-06-17T07:23:29.731-07:00</updated><title type='text'>82,000 Lines of Java</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:OfficeDocumentSettings&gt;   &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves/&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:DoNotPromoteQF/&gt;   &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:SplitPgBreakAndParaMark/&gt;    &lt;w:EnableOpenTypeKerning/&gt;    &lt;w:DontFlipMirrorIndents/&gt;    &lt;w:OverrideTableStyleHps/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathPr&gt;    &lt;m:mathFont m:val="Cambria Math"/&gt;    &lt;m:brkBin m:val="before"/&gt;    &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;    &lt;m:smallFrac m:val="off"/&gt;    &lt;m:dispDef/&gt;    &lt;m:lMargin m:val="0"/&gt;    &lt;m:rMargin m:val="0"/&gt;    &lt;m:defJc m:val="centerGroup"/&gt;    &lt;m:wrapIndent m:val="1440"/&gt;    &lt;m:intLim m:val="subSup"/&gt;    &lt;m:naryLim m:val="undOvr"/&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;   &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;   &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;   &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;   &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;   &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;   &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;   &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;   &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;   &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;   &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;   &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;   &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;   &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}&lt;/style&gt; &lt;![endif]--&gt;  &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/nph/42.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/nph/42.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Forge has grown into a big project with 82,000 lines of Java code.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The bigger the project, the harder it is to add to it.&lt;span&gt;&amp;nbsp; &lt;/span&gt;When you are coding a small project, you may code 500 lines a day.&lt;span&gt;&amp;nbsp; &lt;/span&gt;With Forge you probably aren’t adding that many lines of code because the bigger the project, the harder it is to add stuff.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Adding new features and cards to an existing project is much harder than adding features to a smaller project.&lt;span&gt;&amp;nbsp; &lt;/span&gt;A big project requires you to understand what is going on, which is complicated because of the sheer size of the project.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I am very impressed that a group of developers are still working hard on Forge.&lt;span&gt;&amp;nbsp; &lt;/span&gt;For instance Rob Cashwalker just posted this:&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;{begin quote}&lt;/div&gt;&lt;div class="MsoNormal"&gt;Following on the success of the Draft mode revisions, I have just completed a rewrite of Sealed Deck mode.&lt;br /&gt;&lt;br /&gt;Full cardpool, block and custom modes are supported. Custom sealed files in the res/sealed folder are exactly the same as custom draft files, except the file extension ".sealed".&lt;br /&gt;&lt;br /&gt;A distinction may now be made between AI decks and Human decks, with the addition of a deck Metadata "PlayerType", which right now just helps by sorting human decks into the human combo box and AI decks into the AI combo box.&lt;br /&gt;&lt;br /&gt;I fixed the main Deck Editor's bad behavior with cards reappearing in the top after clearing the filter. A similar change should be easy to apply to the quest deck editor. I removed the menu options to generate draft and sealed decks, as they are better built from Gui_NewGame. I also added my requested progress bar to the deck editor when loading the full cardpool for constructed mode. I hope to use the progress bar window for during program start-up as well.&lt;/div&gt;&lt;div class="MsoNormal"&gt;{end quote}&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;(And yes I cut and pasted that just to increase the word count.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Just played four hours of World of Goo last night.&lt;span&gt;&amp;nbsp; &lt;/span&gt;You can download the demo from &lt;a href="http://2dboy.com/games.php"&gt;here&lt;/a&gt; (PC, Mac, Linux).&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Stay cool,&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://cloc.sourceforge.net/"&gt;Cloc&lt;/a&gt; was used to count the number of lines of code in Forge.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Cloc says the Forge project has 304 files; 22,000 blank lines (in the source code) and 19,000 lines of comments (more than likely this is old code that was commented out and never removed).&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;I’m seeing Kung-Fu Panda 2 right after I get done writing this.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I’m 32 but I still love cartoons.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Just last night I watched Teen Titans, it has great animation.&lt;span&gt;&amp;nbsp; &lt;/span&gt;It is a little creepy when they have adult bad-guys, since they should only have teen villains.&lt;span&gt;&amp;nbsp; &lt;/span&gt;And season 4 that had Raven’s story of becoming the portal for the ultimate evil was very good.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Samurai Jack is great also.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-2128348742283136710?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/2128348742283136710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=2128348742283136710' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/2128348742283136710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/2128348742283136710'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/06/82000-lines-of-java.html' title='82,000 Lines of Java'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-7926769047599631259</id><published>2011-06-16T11:23:00.000-07:00</published><updated>2011-06-16T11:23:13.958-07:00</updated><title type='text'>Nothing New</title><content type='html'>I didn't post anything new this week.&amp;nbsp; I'll try to be more on the ball next week.&amp;nbsp; What topics do you want me to write about?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-7926769047599631259?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/7926769047599631259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=7926769047599631259' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7926769047599631259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/7926769047599631259'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/06/nothing-new.html' title='Nothing New'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-4292235340323421541</id><published>2011-06-06T01:27:00.000-07:00</published><updated>2011-06-06T01:27:00.432-07:00</updated><title type='text'>New Version</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/nph/70.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://magiccards.info/scans/en/nph/70.jpg" width="224" /&gt;&lt;/a&gt;&lt;/div&gt;(And yes, Forge now has Postmortem Lunge.) &lt;br /&gt;&lt;br /&gt;Another great months equals another great version of Forge.&amp;nbsp; Forge  now clocks in with 8,131 cards.&amp;nbsp; This means that there are 385 new cards, which is insane in the membrane.&amp;nbsp; There are 117 cards from the New Phyrexia.&amp;nbsp; There are also a bunch of new white "prevent damage" spells which are always fun to use.&lt;br /&gt;&lt;br /&gt;05-31 was the date that this version of Forge was first posted on the forums.&amp;nbsp; Many thanks to the faithful developers :*)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forge-card-game.googlecode.com/files/forge%2005-2011.zip"&gt;Link&lt;/a&gt; - Forge 05-31 (Windows, Linux) 13 MB&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forge-card-game.googlecode.com/files/Mac%20Forge%2005-2011.7z"&gt;Link&lt;/a&gt; - Forge 05-31 (Mac) 8 MB - Use &lt;a href="http://www.kekaosx.com/en/"&gt;Keka&lt;/a&gt; to uncompress 7z files&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forge-card-game.googlecode.com/files/Quest_Opponent_Icons%2005-31-2011.7z"&gt;Link&lt;/a&gt; - Quest Opponent Icons - 1 MB - The Mac version needs these pictures, put them in /forge/res/icons/ directory&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?f7stkn8nqglzkbc"&gt;Download&lt;/a&gt; - Card Pictures (160 MB)&lt;br /&gt;These  are most of the low-quality (LQ) card pictures.&amp;nbsp; You can download   the  rest of the LQ card pictures or the high-quality (HQ) card pictures    using the menu on the New Game screen.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.com/"&gt;Java&lt;/a&gt; - in case you need to update or download Java&lt;br /&gt;&lt;br /&gt;If you have any questions/comments, please post them to the &lt;a href="http://www.slightlymagic.net/forum/viewforum.php?f=26"&gt;forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;------------------------------------------------------- &lt;br /&gt;Below are some of the new cards that were added to Forge.&amp;nbsp; The nice, large cards pictures are taken from &lt;a href="http://magiccards.info/"&gt;magiccards.info&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/nph/122.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/nph/122.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/nph/47.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/nph/47.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/nph/68.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/nph/68.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/nph/98.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/nph/98.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/nph/41.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/nph/41.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/tp/215.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/tp/215.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/8e/235.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/8e/235.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/9e/176.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/9e/176.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/7e/128.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/7e/128.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/pc/133.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/pc/133.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/arb/121.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/arb/121.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/wl/44.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/wl/44.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/di/124.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/di/124.jpg" width="280" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/ap/115.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/ap/115.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://magiccards.info/scans/en/5e/194.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://magiccards.info/scans/en/5e/194.jpg" width="280" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Many people helped with this version. A special thank you goes out to them:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sloth&lt;br /&gt;Rob Cashwalker&lt;br /&gt;Slapshot5&lt;br /&gt;Friar Sol&lt;br /&gt;Hellfish&lt;br /&gt;Agetian&lt;br /&gt;Jeff Wadsworth&lt;br /&gt;Jaedayr&lt;br /&gt;SoulStorm&lt;br /&gt;Night Shadow&lt;br /&gt;Chris H&lt;br /&gt;Fnoed&lt;br /&gt;Corwin72&lt;br /&gt;ZzzzSleep&lt;br /&gt;Timmermac&lt;br /&gt;Eidolon&lt;br /&gt;Jhhh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-4292235340323421541?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/4292235340323421541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=4292235340323421541' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/4292235340323421541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/4292235340323421541'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/06/new-version.html' title='New Version'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-3518194630681654103</id><published>2011-05-30T01:49:00.000-07:00</published><updated>2011-05-30T01:49:00.544-07:00</updated><title type='text'>The Magic Stack</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:OfficeDocumentSettings&gt;   &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves/&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:DoNotPromoteQF/&gt;   &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:SplitPgBreakAndParaMark/&gt;    &lt;w:EnableOpenTypeKerning/&gt;    &lt;w:DontFlipMirrorIndents/&gt;    &lt;w:OverrideTableStyleHps/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathPr&gt;    &lt;m:mathFont m:val="Cambria Math"/&gt;    &lt;m:brkBin m:val="before"/&gt;    &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;    &lt;m:smallFrac m:val="off"/&gt;    &lt;m:dispDef/&gt;    &lt;m:lMargin m:val="0"/&gt;    &lt;m:rMargin m:val="0"/&gt;    &lt;m:defJc m:val="centerGroup"/&gt;    &lt;m:wrapIndent m:val="1440"/&gt;    &lt;m:intLim m:val="subSup"/&gt;    &lt;m:naryLim m:val="undOvr"/&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;   &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;   &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;   &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;   &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;   &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;   &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;   &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;   &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;   &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;   &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;   &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;   &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;   &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}&lt;/style&gt; &lt;![endif]--&gt;  &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7eTsnVWDHx4/Td_IZ5ggvBI/AAAAAAAABf0/iD-UTk1c_fU/s1600/gravetitan.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-7eTsnVWDHx4/Td_IZ5ggvBI/AAAAAAAABf0/iD-UTk1c_fU/s320/gravetitan.jpg" width="229" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I've read countless times that the most confusing part of Magic for beginners to understand is the stack.&lt;span&gt;&amp;nbsp; &lt;/span&gt;When I personally think of a "stack", I picture the little stack of plates at buffet restaurants.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The top is the only place that you can add or remove plates.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Stacks are a common computer programming concept.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;When programming Forge I had to decide what type of object would go on the stack?&lt;span&gt;&amp;nbsp; &lt;/span&gt;What information should the stack item store?&lt;span&gt;&amp;nbsp; &lt;/span&gt;I had already created a class called SpellAbility, which represents each spell or ability using the command pattern, which is an abstract execute() method.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;In Forge I put the SpellAbility object on the stack and getSourceCard() which would return the card object that created the spell or ability.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Generally this works very well with Shocks and Giant Growths stacking correctly.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(If I had to do Forge again, I would cheat a little and put Card objects on the stack.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Card.getStackObject() would return a SpellAbility object.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Moving only Card objects around makes some of the programming much easier.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Obviously as cards become more complicated the stack must become more complicated.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Currently the developer team is redesigning the stack and wrapping SpellAbility with an object called StackItem.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This makes sense because SpellAbility was designed to be added to Card objects and wasn't designed to go on the stack.&lt;span&gt;&amp;nbsp; &lt;/span&gt;By changing Forge's design it will allow more cards to be added.&lt;span&gt;&amp;nbsp; &lt;/span&gt;And hey, everybody loves the smell of fresh cardboard in the morning.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Thanks for reading,&lt;/div&gt;&lt;div class="MsoNormal"&gt;mtgrares&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The stack gets very complicated very quickly when you include obscure cases which generate multiple effects which individually go on the stack.&lt;span&gt;&amp;nbsp; &lt;/span&gt;First the active player chooses the order of effects for his cards then the non-active player chooses.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="CR1001"&gt;405.3. If an effect puts two or more objects on the stack at the same time, those controlled by the active player are put on lowest, followed by each other player’s objects in APNAP order (see rule 101.4). If a player controls more than one of these objects, that player chooses their relative order on the stack.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;APNAP stands for Active Player, Nonactive Player Order - which means that the active player goes first, then the non-active player.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The active player is "the player whose turn it is" or simply, the player who untapped and drew a card.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-3518194630681654103?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/3518194630681654103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=3518194630681654103' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3518194630681654103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/3518194630681654103'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/05/magic-stack.html' title='The Magic Stack'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-7eTsnVWDHx4/Td_IZ5ggvBI/AAAAAAAABf0/iD-UTk1c_fU/s72-c/gravetitan.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-8581967839691928076</id><published>2011-05-23T01:37:00.000-07:00</published><updated>2011-05-23T01:37:00.114-07:00</updated><title type='text'>Forge Commits</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=218021&amp;amp;type=card" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=218021&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;Committing is posting your code from your individual computer to the server where the code is stored.&amp;nbsp; The Forge project has 50 or more commits a day, which is very impressive.&lt;br /&gt;&lt;br /&gt;Every commit is just one small change.&amp;nbsp; Let's take a look at a few.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;/span&gt;&lt;span class="content" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="ot-logmessage"&gt;The AI will use ZoneAffecting more often at the end of human turn.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;This means that the AI will try to use more effects at end of turn.&amp;nbsp; ZoneAffecting is a scripting keyword which is used to create cards.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;Another small step towards Mana Drain script-only.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;Harding coding cards is a really big pain, so the more scripting the better.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="content" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="ot-logmessage"&gt;Fixed Akki Coalflinger. Improved AI of Pyrohemia and Swans of Bryn Argoll.&lt;/span&gt;&lt;/span&gt;&lt;span class="content"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This commit changed 3 things.&amp;nbsp; Apparently Akki Coalflinger wasn't working (an update probably broke him) and the AI has a hard time using complex cards like Pyrohemia (which deals damage to all creatures) and Swans of Bryn Argoll, which ignores damage but turns that damage into card drawing (1 damage = 1 card drawn by your opponent).&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;Doomgape is not correct.  It can not be scripted at this time.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;I think the comment says it all.&lt;/span&gt;&lt;/span&gt;&lt;span class="content" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="ot-logmessage"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="content" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="ot-logmessage"&gt;Converted March of Souls to script.&lt;/span&gt;&lt;/span&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;March of Souls can be scripted and the java code for the card can be removed.&amp;nbsp; (I coded March of Souls back in the day because it was so unusual.&amp;nbsp; It destroys everything like Wrath of God but also creates 1/1 tokens for every creature on the board.&amp;nbsp; Usually March of Souls was worse than Wrath but in a jam it might help.)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="content" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="ot-logmessage"&gt;Converted &lt;/span&gt;&lt;span class="ot-logmessage"&gt;Lorthos the Tidemaker to script.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;Always a good thing.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;Added &lt;/span&gt;&lt;/span&gt;&lt;span class="content"&gt;&lt;span class="title"&gt;Magus of the Moon and Blood Moon.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="content"&gt;&lt;span class="title"&gt;Both cards turn non-basic lands into mountains.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="content"&gt;&lt;span class="title"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;Make sure state-based effects are checked when a land is played by either player, not just the computer.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;State effects can get very complicated and it is hard to make sure that they are called at the right time.&amp;nbsp; Basically state effect needs to be called/checked after anything happens in Magic, which is generally when somebody plays a land or an ability/spell is put on the stack or resolved off of the stack.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;span class="content"&gt;&lt;span class="ot-logmessage"&gt;Forge is composed of literally millions of these small programming changes.&amp;nbsp; Thanks to the development team for their hard work. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-8581967839691928076?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/8581967839691928076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=8581967839691928076' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8581967839691928076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8581967839691928076'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/05/forge-commits.html' title='Forge Commits'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-8584132868253077682</id><published>2011-05-16T12:17:00.000-07:00</published><updated>2011-05-16T12:17:16.890-07:00</updated><title type='text'>Picking the Right Programming Language</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:OfficeDocumentSettings&gt;   &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves/&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:DoNotPromoteQF/&gt;   &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:SplitPgBreakAndParaMark/&gt;    &lt;w:EnableOpenTypeKerning/&gt;    &lt;w:DontFlipMirrorIndents/&gt;    &lt;w:OverrideTableStyleHps/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathPr&gt;    &lt;m:mathFont m:val="Cambria Math"/&gt;    &lt;m:brkBin m:val="before"/&gt;    &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;    &lt;m:smallFrac m:val="off"/&gt;    &lt;m:dispDef/&gt;    &lt;m:lMargin m:val="0"/&gt;    &lt;m:rMargin m:val="0"/&gt;    &lt;m:defJc m:val="centerGroup"/&gt;    &lt;m:wrapIndent m:val="1440"/&gt;    &lt;m:intLim m:val="subSup"/&gt;    &lt;m:naryLim m:val="undOvr"/&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;   &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;   &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;   &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;   &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;   &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;   &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;   &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;   &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;   &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;   &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;   &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;   &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;   &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}&lt;/style&gt; &lt;![endif]--&gt;  &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=230076&amp;amp;type=card" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=230076&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I actually worried a little bit when I started coding Forge in Java.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I thought, “Was Java really the best language for this project?”&lt;span&gt;&amp;nbsp; &lt;/span&gt;“What if people didn’t have Java installed on their computers?”&lt;span&gt;&amp;nbsp; &lt;/span&gt;Thankfully I have never had an email telling me that they had to install Java.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I presume some people did have to install Java but hopefully it installed without any problems.&lt;span&gt;&amp;nbsp; &lt;/span&gt;After a little analysis-paralysis I chose Java and starting coding furiously.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;In the end I chose Java because it was the language I knew the best.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Java isn’t perfect but no language is.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Java ended up to be a good choice because Forge also runs on Mac and Linux.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The remarkable thing is that I didn’t intend for Forge to run on any other operating system other than Windows.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Being able to be run on Mac and Linux was a happy accident.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Choosing the right programming language also depends on your goal.&lt;span&gt;&amp;nbsp; &lt;/span&gt;If you want to make a browser based game you can use Flash or Java.&lt;span&gt;&amp;nbsp; &lt;/span&gt;(Forge could be made into a browser game but it would take a lot of work.)&lt;span&gt;&amp;nbsp; &lt;/span&gt;If you are trying to squeeze every CPU cycle, you will probably want to use C++.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Java is pretty fast but C++ is probably the fastest language (other than assembly of course).&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Various Magic projects use various languages.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Incantus is written in Python.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Wagic uses C++ in order to effectively run on the PSP (Playstation Portable).&lt;span&gt;&amp;nbsp; &lt;/span&gt;MagArena uses Java and although it uses min-max (a CPU intensive algorithm) it employs various speed-ups and it runs well on my 750 MHz machine.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;In the end it really doesn’t matter which programming language you use.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;p.s.&lt;/div&gt;&lt;div class="MsoNormal"&gt;If your language has any type of certification, I would say go for it.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Even if you just study and never take the test, it would really help you.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Studying helped me learn a bunch of esoteric stuff that is generally unimportant but sometimes very important.&lt;span&gt;&amp;nbsp; &lt;/span&gt;By knowing a language through and through, you will be a better, faster programmer.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/889604442512373664-8584132868253077682?l=mtgrares.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mtgrares.blogspot.com/feeds/8584132868253077682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=889604442512373664&amp;postID=8584132868253077682' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8584132868253077682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/889604442512373664/posts/default/8584132868253077682'/><link rel='alternate' type='text/html' href='http://mtgrares.blogspot.com/2011/05/picking-right-programming-language.html' title='Picking the Right Programming Language'/><author><name>Forge</name><uri>http://www.blogger.com/profile/15838286606081721333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-889604442512373664.post-6097186437510534925</id><published>2011-05-09T01:33:00.000-07:00</published><updated>2011-05-09T01:33:00.423-07:00</updated><title type='text'>Forge Scripting</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:OfficeDocumentSettings&gt;   &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves/&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:DoNotPromoteQF/&gt;   &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:SplitPgBreakAndParaMark/&gt;    &lt;w:EnableOpenTypeKerning/&gt;    &lt;w:DontFlipMirrorIndents/&gt;    &lt;w:OverrideTableStyleHps/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathPr&gt;    &lt;m:mathFont m:val="Cambria Math"/&gt;    &lt;m:brkBin m:val="before"/&gt;    &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;    &lt;m:smallFrac m:val="off"/&gt;    &lt;m:dispDef/&gt;    &lt;m:lMargin m:val="0"/&gt;    &lt;m:rMargin m:val="0"/&gt;    &lt;m:defJc m:val="centerGroup"/&gt;    &lt;m:wrapIndent m:val="1440"/&gt;    &lt;m:intLim m:val="subSup"/&gt;    &lt;m:naryLim m:val="undOvr"/&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;   &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;   &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;   &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;   &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;   &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"/&gt;   &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;   &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;   &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;   &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;   &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;   &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;   &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;   &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}&lt;/style&gt; &lt;![endif]--&gt;  &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=218062&amp;amp;type=card" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=218062&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The current developers have done a great job working on Forge.&amp;nbsp; (Which does not include me.)&amp;nbsp; The reason that Forge supports as many Magic cards as it does is through scripting or dsl (domain specific language).&amp;nbsp; When I stopped working on Forge only simple creature cards could be scripted.&amp;nbsp; Now instants, sorceries, and activated abilities can be scripted.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Before I jump in and show you some examples of scripting, let me briefly define it.&lt;span&gt;&amp;nbsp; &lt;/span&gt;“Scripting is using a special, ‘small language’ inside of a bigger program.”&lt;span&gt;&amp;nbsp; &lt;/span&gt;In the case of Forge, basically scripting is using a special syntax or language other than Java.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Scripting is shorthand.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Creating cards with Java is long and verbose.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Creating cards with scripting is short and sweet.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;To see Forge’s scripting, look in your /forge/res/cardsfolder/ directory and to begin things&lt;span&gt; &lt;/span&gt;Shock is always a good place to start.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=13074&amp;amp;type=card" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=13074&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Name:Shock&lt;/div&gt;&lt;div class="MsoNormal"&gt;ManaCost:R&lt;/div&gt;&lt;div class="MsoNormal"&gt;Types:Instant&lt;/div&gt;&lt;div class="MsoNormal"&gt;Text:no text&lt;/div&gt;&lt;div class="MsoNormal"&gt;A:SP$DealDamage | Cost$ R | Tgt$ TgtCP | NumDmg$ 2 | SpellDescription$ Shock deals 2 damage to target creature or player.&lt;/div&gt;&lt;div class="MsoNormal"&gt;SVar:Rarity:Common&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Above is most of the text in the file “shock.txt”.&lt;span&gt;&amp;nbsp; &lt;/span&gt;And while I don’t understand all of the scripting language, you see it deals damage, has a mana cost, has some kind of target, and does 2 damage.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=191317&amp;amp;type=card" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=191317&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Name:Elvish Piper&lt;/div&gt;&lt;div class="MsoNormal"&gt;ManaCost:3 G&lt;/div&gt;&lt;div class="MsoNormal"&gt;Types:Creature Elf Shaman&lt;/div&gt;&lt;div class="MsoNormal"&gt;Text:no text&lt;/div&gt;&lt;div class="MsoNormal"&gt;A:AB$ChangeZone | Cost$ G T | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ 1 | SpellDescription$ You may put a creature card from your hand onto the battlefield.&lt;/div&gt;&lt;div class="MsoNormal"&gt;PT:1/1&lt;/div&gt;&lt;div class="MsoNormal"&gt;SVar:Rarity:Rare&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Elvish Piper is another well-known card.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This time the scripting adds an activated ability and a complicated one at that.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The scripting specifies that the ability will changes zones, has a tap cost, and the card that you choose in your hand has to be a creature and that it will be put onto the battlefield.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Since the ability is a complex one, I thought that this card may not be scripted but it is nice that the scripting language is powerful enough to not use Java.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;(Elvish Piper was one of the first cards that I ever coded for Forge.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I thought I understood the rules very clearly but I still made a small mistake.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I didn’t understand the difference between “target” and “choose” so I made the player choose a creature card in their hand BEFORE the ability when on the stack.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This is very incorrect as the choice should be made AFTER the ability resolves.)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=51160&amp;amp;type=card" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=51160&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Name:Eon Hub&lt;/div&gt;&lt;div class="MsoNormal"&gt;ManaCost:5&lt;/div&gt;&lt;div class="MsoNormal"&gt;Types:Artifact&lt;/div&gt;&lt;div class="MsoNormal"&gt;Text:Players skip their upkeep steps.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The text above is for Eon Hub but it does not have any scripting because it is specified in the Java code.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Scripting tries to deal with common actions not unique effects.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=30552&amp;amp;type=card" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=30552&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Name:Entomb&lt;/div&gt;&lt;div class="MsoNormal"&gt;ManaCost:B&lt;/div&gt;&lt;div class="MsoNormal"&gt;Types:Instant&lt;/div&gt;&lt;div class="MsoNormal"&gt;Text:no text&lt;/div&gt;&lt;div class="MsoNormal"&gt;A:SP$ChangeZone | Cost$ B | Origin$ Library | Destination$ Graveyard | ChangeType$ Card | ChangeNum$ 1 | SpellDescription$ Search your library for a card and put that card into your graveyard. Then shuffle your library.&lt;/div&gt;&lt;div class="MsoNormal"&gt;SVar:Rarity:Rare&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Entomb is another good example.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=220580&amp;amp;type=card" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=220580&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Name:Zombify&lt;/div&gt;&lt;div class="MsoNormal"&gt;ManaCost:3 B&lt;/div&gt;&lt;div class="MsoNormal"&gt;Types:Sorcery&lt;/div&gt;&lt;div class="MsoNormal"&gt;Text:no text&lt;/div&gt;&lt;div class="MsoNormal"&gt;A:SP$ChangeZone | Cost$ 3 B | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SpellDescription$ Return target creature card from your graveyard to the battlefield.&lt;/div&gt;&lt;div class="MsoNormal"&gt;SVar:Rarity:Uncommon&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Zombify is similar to Entomb but the syntax is a little different because Zombify restricts you to only choosing creature cards.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=129808&amp;amp;type=card" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=129808&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Name:Wrath of God&lt;/div&gt;&lt;div class="MsoNormal"&gt;ManaCost:2 W W&lt;/div&gt;&lt;div class="MsoNormal"&gt;Types:Sorcery&lt;/div&gt;&lt;div class="MsoNormal"&gt;Text:no text&lt;/div&gt;&lt;div class="MsoNormal"&gt;A:SP$DestroyAll | Cost$ 2 W W | ValidCards$ Creature | NoRegen$ True | SpellDescription$ Destroy all creatures. They can't be regenerated.&lt;/div&gt;&lt;div class="MsoNormal"&gt;SVar:Rarity:Rare&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Wrath of God is a personal favorite of mine.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=129572&amp;amp;type=card" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=129572&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Name:Glorious Anthem&lt;/div&gt;&lt;div class="MsoNormal"&gt;ManaCost:1 W W&lt;/div&gt;&lt;div class="MsoNormal"&gt;Types:Enchantment&lt;/div&gt;&lt;div class="MsoNormal"&gt;Text:no text&lt;/div&gt;&lt;div class="MsoNormal"&gt;K:stPumpAll:Creature.YouCtrl:1/1:No Condition:Creatures you control get +1/+1.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Pumping up your creatures is another common effect.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This time the scripting creates a continuous static effect versus just a spell or ability.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=45254&amp;amp;type=card" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=45254&amp;amp;type=card" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Name:Wrath of Marit Lage&lt;/div&gt;&lt;div class="MsoNormal"&gt;ManaCost:3 U U&lt;/div&gt;&lt;div class="MsoNormal"&gt;Types:Enchantment&lt;/div&gt;&lt;div class="MsoNormal"&gt;Text:Red creatures don't untap during their controllers' untap steps.&lt;/div&gt;&lt;div class="MsoNormal"&gt;K:Permanents don't untap during their controllers' untap steps:Creature.Red&lt;/div&gt;&lt;div class="MsoNormal"&gt;T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigTapAll | TriggerDescription$ When CARDNAME enters the battlefield, tap all red creatures.&lt;/div&gt;&lt;div class="MsoNormal"&gt;SVar:TrigTapAll:AB$TapAll | Cost$ 0 | ValidCards$ Creature.Red&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;And to wrap things up with, Wrath of Marit Lage.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This effect is very complicated and I’m surprised to see it scripted. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Forge’s scripting is the reason that last month 1,000 new cards were added.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Creating a scripting language is hard because you want it to be flexible but also easy to read.&lt;span&gt;&amp;nbsp; &lt;/span&gt;“Easy to read” both as a programmer and “easy to read” as in “easy for the code to parsed
