Substitute for XNA - c#

I learned to program in C# and later on picked up XNA. To my disappointment I found out that XNA isn't supported in Windows 8 anymore. So I guess XNA is dying out. I would love to find something similar to it. I would love to find something that deals with 2D graphics (3D is little too much for me now) kinda like XNA did, because that's something I can't do in bare C#.Just the managing of pictures and audio. Thanks for help.

XNA is supported on windows 8 (in the desktop), just not for windows store apps.
If you want to create windows store apps then MonoGame was built to be a drop-in replacement for XNA. At the time of writing most is implemented, the notable exception being the content pipeline (you need to use XNA Game Studio to create the xnb files).
MonoGame is an Open Source implementation of the Microsoft XNA 4 Framework. Our goal is to allow XNA developers on Xbox 360, Windows & Windows Phone to port their games to the iOS, Android, Mac OS X, Linux and Windows 8 Metro. Windows Phone 8, OUYA and PlayStation Mobile development is currently in progress.

You can use MonoGame. MonoGame is a cross-platform, drop-in replacement for XNA on Windows, Linux, WinRT, Windows Phone 7/8, iOS and Android.
It is a mature project and many commercial, successful 2D/3D games have been created using this library.

Related

Can Microsoft XNA run on Windows 10?

I have created a game using C# and Microsoft XNA 4.0. It works on fine on Windows 8 and 8.1, but my friend tried downloading it for a computer running Windows 10 and found that it wouldn't open. It wouldn't even appear in Task Manager when opening it was attempted. The computer in question has the Microsoft XNA Framework Redistributable 4.0 installed on it, so it should be working. Is Windows 10 simply not compatible with XNA?
XNA is no longer supported on newer versions of windows, it was discontinued and isn't supported on platforms newer than Windows 7. Luckily there is an open source implementation of XNA which is essentially the exact same thing and that is currently supported on all windows versions. It's called "MonoGame", here's the link to their website:
http://www.monogame.net/
I know this is a older post but just for those looking for an option like I was today (this post is still a top hit in google) its a bit of work to get setup, but XNA will in fact run on windows 10 just fine, and there is a way to actually use Visual Studio 2017 with XNA just fine as well:
http://flatredball.com/visual-studio-2017-xna-setup/
so if you have code for XNA or like the XNA framework (Like I do, I prefer the pure c# way not c# to some other bloated bridge like Unity) for 2D games then this will be your savior.
Enjoy :)
Some updates:
On March 14, 2016, ID#Xbox announced that MonoGame is coming to Xbox One:
* https://mobile.twitter.com/ID_Xbox/status/709402975051980800
In the FB group Xbox One Indie Devs, Tom Spilman from the MonoGame team had some information to add, more info coming soon.
* https://www.facebook.com/groups/XboxOneIndieDevs/permalink/852775944827686/
Stay tuned to the Twitter account and FB group mentioned above, for new info when available.
Hope that helps!
XNA does work on Windows 10 and even Windows 11. In 2021 I released a game using XNA Framework and it works but the user will have to install XNA Redistributable 4.0 for the game to run on their system so that's not ideal.
But then I ported my game to FNA Framework which is an open-source, identical, reimplementation of XNA. My codebase required almost no changes to work under FNA so I highy recommend it to you.
FNA requires no additional library installation. The DLLs need to be in the same directory with your executable and it will work.
You can see my game here if you are curious about the subject: https://cyon4d.itch.io/cozy-days
To add on what x2kpb said, your best bet at this point is to look at MonoGame for certain platforms, and FNA for others.
XNA, in its pure form, will not work as a new Windows 10 application. The platform to bring win32 (XNA) games to Win10 is called Project Centennial
Both Xbox One and Windows 10 will support MonoGame, per this video at last year's BUILD conference.

Path to Windows 8/10 app from win 7/xna/monogame/xamarin

I've made an educational game for Windows Phone 7 with XNA - which is now a dead technology. But through MonoGame and Xamarin I have been able to port it to Android. Now I need it as an app for Windows tablets, windows 8 app or windows 10 universal app.
What is the best route to this? I'm using Visual Studio 2013 with Xamarin Business edition. And I don't know enough about my options. Should I start with the XNA version or the Android/Xamarin version? What template or architecture is best. Or do I need to do a complete rewrite (only keeping the C# business logic)?

Is MonoGame just XNA?

So I want to learn C# and XNA but after some research is came to my attention that XNA is apparently dead, and there is an alternate library called MonoGame which uses XNA framework.
So, can I use XNA lessons/ tutorials for MonoGame or are the major differences in the way programming is done depending on what you use making XNA tutorials completely useless for MonoGame?
Almost.
MonoGame doesn't use the XNA framework, it is a re-implementation of the XNA framework. The difference is that all of the code inside MonoGame has been re-written to behave identically to the XNA framework.
You're probably wondering why someone would want to re-implement something that already exists. Well, you're correct in saying that XNA is "dead" so to speak. You can in fact still use the XNA framework if you want but it's no longer supported by Microsoft on Windows 8 or above.
However, that's not really the primary reason MonoGame came about. The real reason is that XNA only works on Microsoft platforms (e.g. Windows, XBox, Windows Phone). MonoGame's purpose is to allow existing XNA code to be easily ported to other plaforms (e.g. iOS, Android, Mac OS X, Linux, Windows 8, Windows Phone 8, PlayStation Mobile and the OUYA console)
Yes, you can use XNA lessons / tutorials for MonoGame most of the time. MonoGame's code and behaviour is intended to work exactly like the XNA framework. I say intended, because it's not perfect but it does work very well and there are plenty of games already using MonoGame to prove it.
XNA can still be used on windows 8, despite the being not supported. To do so you have to install a n additional component first. You have to download Windows live Games redistributable, then XNA, and it will work on windows 8.
A 2022 updated answer,
craftworkgames answered best:
Yes, you can use XNA lessons / tutorials for MonoGame most of the time. MonoGame's code and behaviour is intended to work exactly like the XNA framework. I say intended, because it's not perfect but it does work very well and there are plenty of games already using MonoGame to prove it.
The following how-to is an updated expansion/extension of willthiswork89's answer. I do not suggest using it, but it is worthy of a modern answer.
As long as the DirectX9 runtime libraries are installed, XNA programs continue to run as of Windows 11. Do not forget to reboot after the DX9 installation.
The XNA installer will fail to run on modern versions of Windows. Start running the installer and leave the window open at the first prompt (to allow the installer extract the files, but before it deletes them), and find the temporary files in %tmp% or %temp%, Type this in File Explorer then sort by date (the folder name is a GUID and the newest one) and manually execute(double click) each of the .MSI files found.
The templates are a different story(MS VS > 2013). I suggest downloading a complete XNA example .SLN project, and cleaning it up after the update process, to provide a starting point.
You may still have to update the project references(the names match, but the versions may be different).
Note: GamerServices is mostly, if not totally, defunct.
I suggest using MonoGame < 4.0 as a cross-platform drop-in replacement for XNA. Instead of using this answer, since Monogame is feature complete and cross-platform.
If you prefer the old .sln project style, or require .Net framework 4.5, then look to Monogame 3.7.

What are my options for 2D games on Windows Phone 8?

So I've been playing around with XNA and after all this time, I finally made a game that's worth buying!
And to my surprise, I see this on MSDN:
XNA Game Studio 4.0 apps that target Windows Phone OS 7.1 remain fully
supported and continue to run on Windows Phone 8 devices.
•You can continue to develop and maintain new or existing XNA
Framework apps that target Windows Phone OS 7.1.
•You can’t upgrade existing XNA Framework apps that target Windows
Phone OS 7.1 to target Windows Phone OS 8.0.
•You can’t create new XNA Framework apps that target Windows Phone OS
8.0.
When you select an XNA Game Studio 4.0 project template, you can only
choose Windows Phone OS 7.1 as the target operating system.
•You can use certain XNA Framework assemblies in apps that target
Windows Phone OS 8.0.
You can reference and use the following XNA Framework assemblies in
apps that target Windows Phone OS 8.0. You can’t reference or use
other XNA Framework assemblies that aren’t in this list in apps that
target Windows Phone OS 8.0.
•Microsoft.Xna.Framework.dll
•Microsoft.Xna.Framework.GamerServices.dll
•Microsoft.Xna.Framework.GamerServicesExtensions.dll
•Microsoft.Xna.Framework.Input.Touch.dll
•Microsoft.Xna.Framework.Media.dll
•Microsoft.Xna.Framework.MediaLibraryExtensions.dll
http://msdn.microsoft.com/en-US/library/windowsphone/develop/jj207003(v=vs.105).aspx
I'm only interested in making 2D games. I don't have the slightest idea about Direct X or Direct 3D (I would love to get into 3D but that will be yet another huge set back).
From the quoted text above, I see two things that really get on my nerves:
I can create new or maintain existing XNA games that target Windows Phone 7.1
But I can not create new XNA games that target Windows Phone 8! Why??? Where is the sense in that???
So, naturally, my question now is:
What are my options for making 2D games (in Visual Studio) for Windows Phone OS 8? I think I saw an option that lets you use XAML for 2D games, correct me if I'm wrong about that but that feels extremely weird to me. I mean, XAML is very structured, I cannot imagine so much freeform objects being trivial to setup for a game.
Try using Cocos2D and Monogame. The were born from iOS and Android development but now support WP8 and Win8. In addition you write your code once (C# + VS) and have a game for all platforms.
If you have XNA skills (or exising code) Monogame allows you to reuse that and port it to Windows, iOS, Android very quickly.
If you are new, a popular new option is Unity. Their 4.3 beta has 2D support. They have a free intro SKU for indies, and you can get their add-ins to target Windows Phone and Windows for free.
Finally, if you are only targeting Windows Phone 8 (and maybe Windows 8) you can also use DirectX/Direct3D straight up.

Iphone C# development

I wanted to use monotouch, but unfortunately I don't have $400 to spend.
So I found xmlvm http://www.xmlvm.org/ and I it seems It can crosscompile .net bytecode to objective c.
But, I'm not sure, are there any wrappers? What else would I need to start developing for the iphone using xmlvm??
For the record: note that with the recent release of the iPhone OS version 4.0 SDK, Apple have outlawed using all forms of using cross-compiled languages on the iPhone OS family of devices.
You could use Unity 3D, with C# Scripts.

Categories