I did a lot of research on "C # Games," so I thought I'd post it to others:
XNA is an easy way to make a C # game. You can publish the new XNA game to the Windows Store and it will work fine.
However, you cannot use Windows Phone 8 or Windows 8 using XNA. (You can focus only on version 7.1 of Windows Phone.) New APIs for these operating systems are not supported in XNA.
However, both Windows Phone 8 and Windows 8 will run XNA applications. These applications simply cannot target any features specific to Windows 8 or Windows 8 Phone.
So to summarize. The current version of XNA (4.0) supports an older API for communicating with Windows and Windows Phone. They can still work on Windows 8, but you cannot use newer things.
Microsoft has no proposal to create games in C # for the new APIs for Windows 8 and Windows Phone 8.
However, if you don't mind using open source projects, there are some things you can do to write a C # game that can use the newer version of Windows 8 and the Windows Phone 8 API:
MONOGAME
If you want to use the XNA api to create games for the new Windows 8 APIs, you can use MonoGame (this is what I use). This is an open source api that implements the XNA API but has plugins for iOS, Android, and Windows 8. It is a really good cross-platform option. 3D graphics recently received support from MonoGame (i.e., Infinite Flight , Armed ). (Note: I am not affiliated with MonoGame in any way.)
SHARP DX (DirectX)
If you want Microsoft to support a way to create a game focused on the Windows 8 API, DirectX is the best choice. But Direct X is a C ++ API. It is also really very difficult.
If you want to make a 2D game (for example, Plants vs Zombies or Angry Birds), then Direct X will be redundant. You are much better off following the MonoGame route. I spent several days making my way through textbooks and working very hard to understand Direct X. By the end of this time, I was rewarded with the ability to draw one triangle on the screen. (The same time that my game loop was on and the sprites moved to MonoGame.)
So, I repeat, if you do not already know DirectX and you are creating a 2D application, do not go along the DirectX / SharpDX road.
The DirectX 2D route is made more difficult by Windows Phone 8, which does not support Direct2D. DirectX has a subset of Direct2D for 2D rendering. However, this subset is not supported on Windows Phone 8. "Replacement" (currently) is a Direct X toolkit.
If you are still using the Direct X road, you can write it to C # using SharpDX. This is a C # shell for DirectX that works very well (although I donβt know if it supports Direct X Toolkit).
ESSENCE
The downside (for me) is that Microsoft did not update its APIs for developing games in C # to support new material in Windows 8 and Windows Phone 8. But MonoGame allows you to use the XNA API for this. It also allows you to write cross-platform games, so it's better anyway. (You are transferring iOS and Android to Free.)
My game is in full swing at MonoGame without any problems!