This blog is about the development of Mox, a WPF next-generation Magic the Gathering® software. It features a multiplayer mode over a network and single player mode against AI opponents. It is developed in C# (.Net 3.5) and the network engine is built on top of WCF. All rules are enforced server-side.
One of the things I think distinguishes Mox from the other MTG software out there is the strongly test-driven approach I take. Even the UI is tested because of the usage of the Model-View-ViewModel pattern, which works really well with WPF. That means that when fixing a card that didn’t behave like the rules say it should in an awfully complicated case that only DCI judges can understand, we can actually write a test to make sure that the bug never comes back. I think this can be a real advantage when you implement thousands of cards.