none
Developing a 2D game for windows phone 8?

    Question

  • I would like to develop a game for Windows Phone 8.  I am a professional Application Developer by day and this seems like a fun hobby.

    But I have been disapointed trying to get going.  It seems that 2D games (far and away the majority of games) do not have any real support.

    It seems the Windows Phone makers did not include support for Direct2D. So unless you are planning to make a fully 3D app, you are out of luck.

    So, if you just wanted to make a nice 2D app, these are your choices:

    1. Write your game using Xaml and C# (Performance Issues?)
    2. Write your game using Direct3D and but only draw on one plane.
    3. Use the DirectX Took Kit found on codeplex. It allows you to use the dying XNA framework's API for development.

    Number 3 seems the best for my game.  But I hate to waste my time learning the XNA api when Microsoft has clearly stated that it is not going to be supported going forward.

    Number 2 would work, but 3D development is really hard.  I would rather not have to do all that to get the 2D effect. (Assuming Direct2D is easier.  I have not looked into it since it is not supported.)

    Number 1 seems the easiest, but I worry that my app will not run well if it is based off of xaml rendering rather than DirectX.

    What is the suggested method from Microsoft?

    And who decided that 2D games were going to get shortchanged?  It seems a decision designed to shoot down hobby programmers.  What that it's intent?

    • Edited by Vaccanoll Sunday, November 25, 2012 5:03 AM
    Sunday, November 25, 2012 4:56 AM

Answers

  • Disclaimer: I'm one of the MonoGame developers.

    MonoGame now supports Windows Phone 8 if you get the code from GitHub.  Various parts of Microsoft have been promoting MonoGame as a solution for C# and XNA developers to get their games onto Windows 8 and now Windows Phone 8.  There are many games already on the Windows Store developed with MonoGame.

    MonoGame has no reliance or dependence on XNA.  It was started as XnaTouch to get the XNA API onto iOS, and has since been expanded to support many other platforms including Android, Linux, Mac OS X, PlayStation Mobile and Raspberry Pi.

    Our current aim with the pending 3.0 release is to get full compliance with the XNA 4.0 API.  After the API is settled and complete, we can then look at expanding and enhancing the API for future releases.  We also have in development a content build pipeline to build platform-specific binary asset files.

    MonoGame is not going away any time soon.  It has a strong following and will be here for a long time yet.

    • Marked as answer by Vaccanoll Monday, November 26, 2012 5:10 PM
    Monday, November 26, 2012 7:37 AM
  • So, MonoGame is a cross platform version of XNA.  One of the many platforms it supports is Windows Phone 8. 

    So even though XNA itself is only "legacy" supported on Windows Phone 8, MonoGame can access the new features of Windows Phone 8.

    Is that correct?  (If so that is great!)

    Absolutely correct.
    • Marked as answer by Vaccanoll Wednesday, November 28, 2012 11:38 PM
    Wednesday, November 28, 2012 11:36 PM

All replies

  • Have you looked at mono game?

    http://monogame.codeplex.com/

    Sunday, November 25, 2012 7:58 PM
  • Have you looked at mono game?

    http://monogame.codeplex.com/


    Unless I am mistaken, Monogame is based on XNA. 

    While XNA looks great, you cannot make WinRT app nor target Windows 8 with it.  It seems is it dying.  Already you cannot access new Windows 8 Features use XNA.

    It will get further and further behind with each release until eventually MS will kill it off completely.

    Kind of hard to get excited about learning an API that is already in "legacy" mode.

    If MS were to promise future full support for XNA then I would happily go that route.  But every indicator shows that the opposite is what is more likely.

    Sunday, November 25, 2012 8:34 PM
  • I'm also disappointed to see that it looks like Direct2D isn't supported. My app isn't a game, but it uses Direct3D to render 3D content, and then uses Direct2D to overwrite the 3D scene with text. The scene is moveable, and the text needs to move with the scene in a reasonably fast way, although not as fast as in a game. I was hoping to do the same thing on Windows Phone, but it doesn't look like it.

    Is there a rationale for including Direct3D but not Direct2D? 

    Sunday, November 25, 2012 8:47 PM
  • MonoGame is modeled after xna but is not based on it.  the framework allows you to use the same code for windows phone, windows 8, android, and iphone apps.
    Sunday, November 25, 2012 10:38 PM
  • I would second MonoGame. It is an open source project to keep XNA alive and extend it to most popular platforms.  It is being actively developed by some highly skilled people. 
    Sunday, November 25, 2012 11:03 PM
  • Disclaimer: I'm one of the MonoGame developers.

    MonoGame now supports Windows Phone 8 if you get the code from GitHub.  Various parts of Microsoft have been promoting MonoGame as a solution for C# and XNA developers to get their games onto Windows 8 and now Windows Phone 8.  There are many games already on the Windows Store developed with MonoGame.

    MonoGame has no reliance or dependence on XNA.  It was started as XnaTouch to get the XNA API onto iOS, and has since been expanded to support many other platforms including Android, Linux, Mac OS X, PlayStation Mobile and Raspberry Pi.

    Our current aim with the pending 3.0 release is to get full compliance with the XNA 4.0 API.  After the API is settled and complete, we can then look at expanding and enhancing the API for future releases.  We also have in development a content build pipeline to build platform-specific binary asset files.

    MonoGame is not going away any time soon.  It has a strong following and will be here for a long time yet.

    • Marked as answer by Vaccanoll Monday, November 26, 2012 5:10 PM
    Monday, November 26, 2012 7:37 AM
  • MonoGame now supports Windows Phone 8 if you get the code from GitHub.

    So, MonoGame is a cross platform version of XNA.  One of the many platforms it supports is Windows Phone 8. 

    So even though XNA itself is only "legacy" supported on Windows Phone 8, MonoGame can access the new features of Windows Phone 8.

    Is that correct?  (If so that is great!)

    Wednesday, November 28, 2012 4:35 PM
  • So, MonoGame is a cross platform version of XNA.  One of the many platforms it supports is Windows Phone 8. 

    So even though XNA itself is only "legacy" supported on Windows Phone 8, MonoGame can access the new features of Windows Phone 8.

    Is that correct?  (If so that is great!)

    Absolutely correct.
    • Marked as answer by Vaccanoll Wednesday, November 28, 2012 11:38 PM
    Wednesday, November 28, 2012 11:36 PM