Friday, January 20, 2012

Windows Phone 7 Game Development Starter2D and Starter3D tutorials available in the Marketplace, video and source too!

Dark Genesis - The Starter2D and Starter3D tutorials now on the Marketplace

"I finally managed to get my Marketplace account sorted for my own indie game studio ZenithMoon and while prepping to release my first proper app/game I thought it would be good to publish my 2D and 3D tutorial projects on the marketplace for FREE at the same time.

What follows is a brief post about what it took to get these up there and my plans for the future of them, it will be brief because I’m currently in the middle of a release cycle for my proper app (I’ll mention that at the end)


Now what makes these significant especially in light with my recent SilverXNA tutorial series is that I published both the XNA (GameStateManagement) versions of these app as well as SilverXNA variants of these as well.

As expected all the source code is available for these projects on Codeplex as a separate project here.

A few points though about each project.

Starter3D and Starter2D games - XNA Versions

I’d already dropped the 3D project into a GameStateManagement style game framework when I did the tutorial series and everything worked fine, I just had to prop up a few things for marketplace submission such as:

  • Audio – this was a common theme for all the apps so I constructed a separate audio manager I could use to manage Audio, the biggest thing for the marketplace if the “GameHasControl” variable. If your app/game does not have control, do NOT play background music (effects are ok)
  • Fast App Resuming – Granted while most will tell you do not have to do anything except recompile your app to enable Fast App Resuming, the reality is that if you don’t handle it correctly it will Frig up your app/game. The thing to watch for are the Activated and Loaded events and how you manage Loading Content. Just be sure to add the check on the “Activated” for “e.IsApplicationInstancePreserved” and basically do NOTHING if it’s true, also set a static flag in your code and test this against anything that needs to initialise or load content. (this includes playing background audio!, by default playing background music will not resume)


Starter3D and Starter2D – SilverXNA Versions

Now this is where the fun began. First off to begin with my initial objective was just to get the XNA games running under Silverlight using the Silverlight/XNA integration and a Silverlight Menu, I'll enhance the rest of the project overtime to use more Silverlight in the actual XNA game.

I started with the 3D version as this was the easiest when updating the XNA version and it was a breeze, the problems faced were the same it just took a different approach to deliver them, no biggie. The main part of the work was putting in some screens for the menu options (no flair this time round) and launching the game plus handling the back button correctly while moving between them. I actually omitted one of the marketplace requirements about the Back button pausing the game however I explained this on submission and it passed anyway. but in your real game projects you should handle this!.



Starter XNA Game Projects

Source code for the Starter XNA Game Project

The Video tutorial for the 3D project can be found at the Dark Genesis blog hosted on XNA-UK.NET here: [AT&T Meet the Expert - Build a XNA Game in 60 minutes]

The Tutorial series for the 2D project can be found at the Dark Genesis blog hosted on XNA-UK.NET here: [ReCap–The XNA 2D “from the ground up” tutorial series]

I thought this a very cool project, series and tutorials. If you're doing Windows Phone 7 game dev, this might be easily worth some checking out...

No comments: