Chris' Puzzle Game on the Windows Phone 7 Marketplace

I got my first application published on the Marketplace. The process was surprisingly fast, took overnight to get it certified and another day before it appeared on the Marketplace. I have a video demo of the game here and I demonstrate how parts of the game was built in an article called Writing a Puzzle Game for Windows Phone 7 using XNA. Try the game out, I’d love to get some feedback. It’s a game made over a weekend and the main purpose was to experience the publishing process. If you have some comments, suggestions, or questions on the game then please send them to me and I’ll see what I can do.



How to launch the Marketplace in the Windows Phone 7 Emulator

You probably noticed by now that the default Windows Phone 7 emulator only contains Internet Explorer and the Settings. I stumbled upon a tip from Daniel Vaughan about Launchers and Choosers today and I learned about a task that can start up the Marketplace Hub. Unfortunately you will have to create an application that calls into the Launcher API to accomplish this.

Here’s what you need to do:

1) Create a new Silverlight Windows Phone Application
2) In your MainPage.cs and add a using directive to the Microsoft.Phone.Tasks namespace.
3) Add the following in the constructor of MainPage.cs after calling the InitializeComponent() method:

var task = new MarketplaceHubTask();
task.ContentType = MarketplaceContentType.Applications;
task.Show();

4) Launch the application and you should be good to go.

Here’s how the Marketplace looks like on the emulator:

You can read more about Launchers and Choosers here.



How to use the keyboard in the Windows Phone 7 Emulator

The one thing that irritated me the most about the Windows Phone 7 emulator the first time I used it was that the host computer keyboard is not directly mapped to the emulator. This means you by default have to use the software input panel that is built in Windows Phone 7.

I immediately looked for a solution and found some MSDN documentation on the keyboard mappings for the emulator.

To enable the keyboard in the emulator - press the PAGE UP key or PAUSE/BREAK key.

To disable the keyboard in the emulator - press the PAGE DOWN key PAUSE/BREAK key.

If you want to learn more then I suggest you check out this article called Keyboard Mapping for Windows Phone Emulator



Windows Phone 7 Unlocked Emulator

If are not pleased with the emulator that shipped with the Windows Phone 7 developer tools then here’s a quick way to replace the trimmed down emulator with the full version

1) Create a back up of your current emulator image file, to avoid re-installing the developer tools if in case anything goes wrong. This file will be under \[PROGRAM FILES (x86)\]\Microsoft SDKs\Windows Phone\v7.0\Emulator\mages\ and is called WM70C1.en-US.bin

2) Find and download an unlocked image in your search engine of choice, search for WM70C1.en-US.unlocked :)

3) Once downloaded, Copy the unlocked emulator image to \[PROGRAM FILES (x86)]\Microsoft SDKs\Windows Phone\v7.0\Emulation\Images\

4) Rename the unlocked emulator image to WM70C1.en-US.bin

5) Run the emulator :)

If all goes well you should be able to run the unlocked emulator and it should look like this:

I would advise to make sure that you can deploy and debug applications with Visual Studio. If not then you probably found an older version of the unlocked emulator image and you should try to search again for a newer version.



Chris' Puzzle Game for Windows Phone 7

I finally managed to find the time to complete my puzzle game for Windows Phone 7. This will be my first attempt to publish anything on the marketplace. Let’s see how it goes!

If you’re interested in how I made the game then I’ll be more than willing to share. I might be able to post code directly as this is soon be available commercially, but I can always give some tips and share knowledge. I wrote a step by step article on how to Create a Puzzle Game for Windows Phone 7 using XNA. The puzzle game logic is described in this article and I pretty use the same logic.