In part 1 of this series I gave you an overview of MonoGame, an open source cross platform implementation of the XNA namespace and class model and how you could use that to port you existing XNA code to Windows 8. In this article, I will show you how to get your development environment setup to support your porting effort.
Note: special thanks for Dean Ellis (dellis1972 ) who posted a video on YouTube outlining this process. I highly recommend that you view Dean’s video before you follow the steps below.
This is a 3 part series. You can reach the other posts in this series here:
MonoGame is an open source project managed under Git. In order to use it you will need to fork the repository from GitHub and then create a clone in your local environment. To do that you will need an account on GitHub and a Git Client. I like the GitHub for Windows client. It has a nice Metro look and feel. It will get you in the mood to develop for Windows 8
After you install the GitHub Windows Client you will have 2 programs available, GitHub (GUI) and Git Shell. The Git Client is a Metro ‘Styled’ desktop application that provides a GUI interface. Git Shell is a PowerShell based command line interface to Git. We will use Git Shell for our purposes.
There are a lot of developers who contribute to MonoGame. The Windows 8 support is being developed by Tom Spillman and James Ford of Sickhead Games as well as several other talented developers. In particular we will be using the develop3D branch. That is where the Windows 8 support is being submitted.
Note: If you would like to contribute to the Windows8 implementation of MonoGame, contact Tom Spillman (requires codeplex account)
5. Now we will initialize the project submodules by typing the command:
git submodule init
6. And then update the submodules
git submodule update
This may take some time so head over to the Windows Surface site to check out the new devices.
When the process completes you can navigate to the MonoGame folder and list out the contents
Now you are ready to add your XNA graphic assets and code. In part 3 of this blog series I will cover the basic format of an XNA application and my code migration experience.
Generation App: Getting You There
We are here to help you get your app on Windows. Here is how you can gain an advantage and stand out from the crowd through the programs we’re offering:
Generation App
I've been using MonoGame on Windows 8 for two games to date and I have to say I'm really impressed! The first game I wrote initially using XAML/C# and while that worked it was like fitting a square peg into a round hole at times. That being said, if you do decide to use MonoGame (which to repeat I recommend) be aware that you're going down the road less traveled and sometimes you have to dig yourself out of the metaphorical ditch!
User TortoiseGit as a GIT client, life's much easier
Thanks Simon. Here is the link if anyone wants to use Tortoise, code.google.com/.../tortoisegit
The only advantage I've found to TortoiseGit is that git-svn works with it, not with GitHub.
Update: 9/24/2012
After grabbing the MonoGame content, step 1 reads:
"C:\Users\[you]\Documents\GitHub\MonoGame\ProjectTemplates\VisualStudio11.MonoGame.2.5\VS11MGWindowsMetroTemplate "
However, there is no "VisualStudio11.MonoGame.2.5" folder there anymore. It has now been replaced with:
"VisualStudio2010.MonoGame.2.5"
I guess it has changed in the last several weeks. Just an update for the blog, to avoid confusion for others.
I've played with this a bit more today (9/24/12)
The folder and content you need to drag from the GitHub repository into VisualStudio12 Templates is:
- The "Game" folder, which is found under ProjectTemplates ---> MonoGame3 ----> Game
- MonoGame3.vstdir
Do not put the MonoGame3.vstdir into the "Game" folder.
BOTH of these need to be in your VisualStudio2012/ProjectTemplates/ VisualC# folder, but unzipped. If they are zipped, they will not be found.
Cool one.
Good article.