Friday, May 7, 2010

VMWare Fusion 3.1 RC is out

I just upgrade to 3.1 RC and it is awesome, everything is quicker and I haven't seen any Unity artifacts. Looking very good.

Go get it - http://communities.vmware.com/community/beta/fusion

Saturday, May 1, 2010

Playing Magic the Gathering (MTG) with OCTGN



I recently started playing Magic: The Gathering after discovering a wonderful little coffee and game shop in the area. The only problem is that I can only play once a week (Friday Night Magic) which doesn't leave me a lot of time to practice and get better at it. I was very excited to find out that Wizards of the Coast also makes a Magic: The Gathering online game. What killed my excitement was that you actually have to buy virtual cards to play with. I couldn't believe it, not only does it cost $10 to get started, there is no discount for the virtual cards compared to their real versions. I call foul on this. I went on a search to find a better way.

There are a few alternatives to Magic: The Gathering Online (MTGO) including Magic Workstation (MWS) and OCTGN. The difference is that MWS is heavily advertisement supported (or you can pay a hefty price for it) and seems to be quite a bit more popular. There are plenty of MWS walkthroughs and how-to's but little to nothing on OCTGN.
OCTGN is a freeware Microsoft.NET application and a newcomer to the arena. It is more of a framework for multiple kinds of card games but has a truly beautiful interface and great design. It can be downloaded for free from http://www.octgn.net/ but I suggest getting the whole MTG package with it by searching for the torrent "OCTGN 2 with MTG v0.0.2.8". This includes the MTG game definition as well as all the card images up to Zendikar. It weighs in at a hefty 1.3GB which is why bittorrent is the only sustainable way to get it. I played with it for a few hours last night and want to share how to play MTG with it.

Getting Started

  1. Launch the executable and click on Manage Installed Games.
  2. Click Install a new game
  3. In the root of the folder you downloaded, select Magic-v0.0.2.8.o8g
  4. Click Install new cards
  5. Browse to 3. T2 Sets - Updated for SealedCore Set and select Magic_2010.v0.0.2.6.1.[GO].o8s
  6. Repeat the same process for 3. T2 Sets - Updated for SealedZendikarZendikar.v.0.0.2.6.1.[GO].o8s
  7. Click Close
  8. Go to Edit your decks
  9. Go to Deck - New - Magic the gathering
  10. Pick 20 creatures, 20 lands and 20 spells for starters. Google Build MTG Deck for more advice.
  11. Click Deck - Save
  12. Close the window
Now you have a deck. Most of the above is for demonstration purposes but is a good starting point. You can build and store as many decks as you want. There are some premade decks. If you want to use them, load 2. Extended Sets - Updated for SealedCore SetsTenth_Edition.v0.0.2.6.[GO].o8s. Then go to Edit Decks - Deck - Load and pick one.

Game time. One of the nice things is that you can load two copies of OCTGN and play both sides of the table. Go to Start a new game then Start. On the 2nd instance of OCTGN, click on Join an existing game and click Join. I like to use the two-sided table but it's up to you. Just click the checkmark next to Use a two-sided table. You can also change who is on what side by clicking the A or B. Once you are ready, click Start.

Playing a hand


You now have a blank table. Now, let's get some cards to play with
Go to File - Load a deck and select the deck you created before. I created a simple mono-black deck with a few of my favorites from Zendikar. I will be loading the same deck for both players.

Once the deck is loaded, the cards are in the exact same order as you added them to the deck. We must shuffle the deck. You can either right-click on the deck and select shuffle or use the keyboard shortcut, ctrl-s. Both players must do this and it will be indicated in the chat window on the lower right.

Who goes first? Typically you roll a 20-sided die to find out, no different here, just right click in the middle of the table and select roll a 20-sided. In the chat window you will see the result. You can also use the keyboard shortcut, ctrl-shift-r. You will start to notice there are keyboard shortcuts for almost all of the actions in the game. This allows you to play very quickly and naturally. In my demo game, Jim rolled a 20 and Jeff a 9.

Looks like Jim get's to choose and he chooses to play first. Time to draw the hand. Right click on the library (deck of magic cards) and choose Draw many..., keyboard shortcut ctrl-alt-d. A window will pop-up asking how many and default to 7 (the standard hand side). Click ok. Jeff will do the same. Jim only drew 2 swamps and can choose to mulligan down to 6 cards at this point if he wants. Simply right-click on the drawn hand and select mulligan or ctrl-M while over your hand. OCTGN will ask you if you want to mulligan down to 6 (then 5, 4, 3...). I decide to try my luck and skip the mulligan, which I will most likely regret later. Time to start. I click on the green play button next to my Name/Life/Hand-size tab. The chat interface announces Turn 1:Jim.

Turn 1: Jim


I want to get into the untap, upkeep, draw order. You can right-click in the middle of the table and select Go to beginning phase or press F1. If I had any cards already on the table and tapped, it would untap them for me and announce Beginning of UPKEEP PHASE in the chat window. Check your cards and see if there is anything you need to do as part of upkeep.

Since it's the first turn, I will skip the draw phase (ctrl-d or double-click on my library) and move on to my first main phase. I press F2 to announce that in chat.

This is a good time to make a clarification, especially for those who come from MTGO. OCTGN will not enforce rules, it has no concept of the actual game play. It is simply a virtual environment to play card games in.

Ok, with that cleared up, it's time to play a card. Double-clicking on a card will move it to the board so I double click on one of my swamps. I have nothing more exciting to do. I can now press F3 to announce Combat, then F4 to announce Second Main Phase then F5 to announce End Step but I think I will just announce I am done by hitting F5 and then clicking the green play arrow next to Jeff's name.

Turn 2: Jeff


Jeff hits F1 to untap (nothing there yet but a good habit) and then double-clicks on his library to draw a card. He then hits F2 for his main phase. Jeff also plays a swamp but he has a 1 black mana creature, the Guul Draz Vampire. He double-clicks on the swamp to tap it and then double-clicks on the vampire. Note that there seems to be a bug in this version that it plays both cards on the wrong side of the table. Simple drag them back to your side to play. The cards are a little small so he rolls his mouse wheel to zoom in. Then he holds down the space bar and left-click-drags the window around to his liking. Nothing much more to do, can't really attack due to summoning sickness. To be polite, Jeff hits the Tab key to pass priority to Jim in case he wants to respond to the summoning of a creature. Jim has no response so he hits Tab to pass it back. This doesn't do anything other than put a message in the chat window. Jeff is finished with his turn and hits F5 to announce the end phase and then clicks on the Play button next to Jim's name.

Turn 3: Jim


Jim hits F1 as good habit and ctrl-d to draw a card (Jim likes the keyboard shortcuts), then F2 to begin the first main phase. Jim double-clicks on a swamp to play it. Now a choice, I can use disfigure to try to remove Jeff's vamp or I can bring out a creature of my own. I use the mouse to draw a sqaure around both swamps (left-click and drag) and then double click on one, they will both tap. I play a Surrakar Marauder and press Tab to allow Jeff a chance to respond. Jeff has no response and presses Tab to hand priority back to me. Nothing fancy left for me to do so an F5 announces the end phase, I click on the play button to hand the turn back to Jeff.

Turn 4: Jeff


F1 untaps Jeff's swamp from the last turn. Jeff draws a card, ahh, disfigure. Jeff hits F2 to move to first main phase. He plays a swamp by double-clicking on it. He wants to get my Marauder out of the way and now is a really good time. He hovers over each of his swamps and hits ctrl-g to tap them and then double-clicks on his Disfigure. Jim can assume that it's meant for the only creature he has but there is a great way in OCTGN to do this. Holding down the shift key, left click on the Disfigure and drag up to the Marauder. He then hits tab to allow Jim a response. Jim has none and drags the Marauder to the graveyard, so sad. Jim presses tab to return priority to Jeff. Jeff hovers over the Disfigure and taps the delete key, off his spell goes into the graveyard (you guys getting there are multiple ways to do things? He could also right-click and select Destroy Card, pick one you like).

Now that the defenses are clear, Jeff is going to hit F3 to start the combat phase. Jeff hovers over the Vampire and clicks ctrl-A to signify the attack, this is a little different than tapping as it creates a red glow around the card and says "Jeff attacks with 'Guul Draz Vampire'." in the chat window. Jeff Tabs over to Jim for a chance to respond. Jim clicks the minus next to the life counter to indicate he is taking one damage to his player. The chat window also indicates that Jim has lost a life. Jim hits tab to pass it back to Jeff. Jeff right clicks in the middle of the table and selects Clean-up targets and combat which will remove the red glow and any arrows that were left over. Jeff now indicated the end phase by hitting F5 and passes the turn to Jim by clicking the play button next to his name.

Turn 5: Jim


F1 (untap and upkeep), ctrl-d (draw), F2 (begin main phase), play swamp, tap two swamps, play Vampire Hexmage. F5, pass the turn by hitting Play next to Jeff. Hopefully you are getting the hang of this.

Turn 6: Jeff


F1 (untap and upkeep), ctrl-d (draw), F2 (begin main phase), play swamp, tap two swamps, play Vampire Hexmage. Now Jeff hits F3, Jeff attacks with Guul Draz Vampire and tabs to indicate Jim is up for blocking phase. Jim right-clicks his Vampire Hexmage and selects block, then shift-left-drags and arrow over to the Guul Draz Vampire. The chat reads "Jim targets 'Guul Draz Vampire' with 'Vampire Hexmage'". Jeff taps one more swamp and uses the Hideous End against Jim's Vampire Hexmage. He indicates this by drawing another arrow from the Hideous End to the Vampire Hexmage. The table is looking pretty interesting now. We officially have a stack to address. Starting from the last chat message up, we need to resolve it. Hideous End resolves first causing -2/-2 to Jim's Vampire Hexmage. The Hexmage is only a 2/1 and therefore drops below 1 toughness sending her to the graveyard. Since Jim has no response and has priority, he drags her off to the graveyard. Jim passes it back to Jeff. Jeff then discards his Hideous End now that it has done its work. The block is still valid even though the Hexmage has moved on to darker places do no damage is assigned. It looks like Jeff has cleared the way for victory in the next few turns but you never know what will come up in the library next for Jim.

Finding Other Players
Honestly I haven't explored this all that much yet. The one thing you will need to do is poke a hole in your firewall to let another player connect to you. OCTGN uses a peer-to-peer system so there is no central server (yet?) to arrange matches. Much like the actual card game, this is left up to the organizers and players. If you are the one Starting a new game instead of joining, you will need to open the port or forward it from your firewall to the computer running OCTGN. This port number can be found on the Start a new game screen next to Port number to use. Opening and forwarding ports are ouside the purview of this howto but Google is your friend and it depends on your cable/dsl router/modem and OS firewall. You may want to ask in the OCTGN chat for either help on this or finding other players to play against. You will need to provide the other player the internet IP address if they aren't on the same school/work/home network as you are along with the port number. If you are lucky enough to be on the same network, don't worry about the router part of the above statement and provide them the local (LAN) IP address. Both of these are on the Start a new game screen.

You can also use Hamachi to provide a small, free, private VPN to play in. This would also remove the need to modify the firewall or router. Check it out at http://en.wikipedia.org/wiki/Hamachi.

Links to Additional Information


Draft support - http://www.octgn.net/forum/index.php?topic=258.0

OCTGN Home - http://www.octgn.net

OCTGN Blog (with lots of hints and tricks) - http://octgndev.wordpress.com/

MTGSalvation OCTGN Thread - http://forums.mtgsalvation.com/showthread.php?t=184889

Summary


While the best MTG client out there is MTGO, I feel that OCTGN will quickly become the de factor standard in what a MTG PC client should be. There is a ton of potential and .NET is a great platform. It's been a long time coming but I am hoping with guides like this one, people will start using and innovating to create unique solutions to allow a wide variety of gameplay. I think the next big challenge is to create a server based matching system and method to validate other peoples decks. Once this hurdle is overcome, it will be a truly great client for anonymous online play.