Moving from XNA to MonoGame

I’m very familiar with XNA. I understand that moving to MonoGame is the way to go. But I don’t see any manuals or explanations on how to do it.

What are the differences? How do I get started? How do I port existing XNA code?

Thanks!

Replacing the DLL is all you need, there’s (almost) nothing to do :slight_smile:
the only issue you may have is related to the content pipeline, you have to give a try to see.

Take a look here:

http://www.monogame.net/documentation/?page=Tutorials

Specifically:

XNA is Dead; Long Live the New XNA, MonoGame

But otherwise good luck…

Thanks for the info!

Thanks for the info. So, what IS the difference between XNA and MonoGame. I really haven’t heard an explanation.

Monogame is a reimplementation of XNA. It has the same API, but is an open source reimplementation.
Whereas XNA was windows only, Monogame is cross platform (Windows/Linux/MacOs/PS4/XBox)

Does MonoGame work with only Windows 8? I am currently running Windows 7.

I’d imagine It’d work on any Windows version that supports Mono. Which according to their site is…

“Supported on Windows Vista, 7, 8, 10 or later.”

http://www.mono-project.com/download/#download-win

MonoGame does not depend on Mono on Windows

So, I’m fine using my current setup: Visual Studio 2010 and Windows 7?

Oh yeah, .net is built in to Windows… lol. Should have said a long as it has .net framework 4.5 right?

http://www.monogame.net/documentation/?page=System_Requirements

XNA - Development
Visual Studio 2010 C# Express + XNA 4.0 Refresh
Visual Studio 2010 for Windows Phone (Windows 7 ONLY, includes WP 7/8 emulators) (Best version for XNA)
Visual Studio 2015 + XNA user created mod/addon//extension

VS2010 can be ran on Windows XP to Windows 10. 32bit (x86) or 64bit (x64), but uses 32bit.

MonoGame - Development
Visual Studio 2010 / 2015 + MonoGame
Xamarin Studio / MonoDevelop + MonoGame

Can use Windows / Linux / Mac

Content creation requires 64bit (x64)

Assets
You can copy/paste all of your assets over to MonoGame from XNA. Assets are converted to .XNB if you use XNA or MonoGame. aka Images.TGA to Images.XNB

If you use MonoGame to convert assets to .XNB, you must have 64bit (x64)

MonoGame can use far more assets than XNA, newer models, newer audio files, etc.

Key differences between XNA and MonoGame
XNA can use XACT (Audio). MonoGame has not fully implemented XACT and probably won’t be complete for a few more months or longer.

XNA can use Xbox Live networking code by default. But Windows can only be used for TESTING. Xbox Live Indie Games are dead. Xbox Live Arcade Games or above are probably also dead. In other words, Xbox Live code for Windows/Xbox 360 is useless, unless you want to for some reason test it.

MonoGame does not support networking code by default. You have to write your own or use third party libraries, such as Lidgren.Network

Effects / Shaders
MonoGame seems to have issues using the old XNA shaders. You might have to rewrite them.

Deployment / Playing
XNA games can run on Windows XP to 10, Xbox 360, Windows Phone 7/8. Uses 32bit. Can use Shader Model 2.0 or 3.0

MonoGame games can run on Windows 7 to 10, Linux, Mac, Windows Phone 8, Android, iOS, PS4/PSVita, Xbox One, etc. I believe MonoGame requires Shader Model 3.0++ (???) and 64bit (???).

Conclusion
XNA is still useful if you have Windows XP for development or want to target Windows XP machines for deployment. XNA can use 32bit to create assets, MonoGame requires 64bit. You can copy/paste XNA assets (.XNB) directly into MonoGame, so, you don’t have to use MonoGame to convert them.

2 Likes

Wo! I’m running Windows 7 32-bit. Does that mean I can’t use Monograme with my current configuration?

@Ezra_Sidran why don’t you just try?
Are you really a developer? you really don’t sound like it.

1 Like

Well, let’s see. I’ve had two #1 games with over $28 million in sales worldwide. I’ve got a PhD in computer science and I’ve taught Computer Game Design at a major university. So, yeah, I guess I’m really a developer.

If you’re interested in some of my work, check these out:
http://www.riverviewai.com/
http://general-staff.com/

But, I’ve been away from game development for a number of years and a publisher wants me to do a new version of a #1 game I wrote in 1987 so I’m looking to see what’s available for an IDE. I don’t need Unity or any 3D engine. I’m looking for something pretty simple and I used XNA a few years ago for a project I did for the Office of Naval Research (the Marines) creating a 3D shooting system with a laser, an XBOX and a projector.

your projects looks cool :slight_smile:
What I meant is that developpers are supposed to be curious, they are “experimentations-driven”.
Earlier I wrote:

The Monogame installer should detect visual studio 2010, and install the project templates. From there you can have a better idea if things works as expected. I would however recommend to upgrate to the free version of visual studio 2015. I don’t see any reason it wouldn’t work on windows 7 32bits. (I’m on windows 7 64)

This:

And This:

Do not make sense when you say this:

Just saying… :neutral_face:

yeah. that’s strange indeed.
If you really want me to believe you: send me $5000 on my paypal :wink:

Our content pipeline is built for 64-bit only. This is because the content pipeline uses a lot of native code libraries and they have to be built for a specific architecture. The 32-bit Windows marketshare is in low single digits these days, so maintaining support specifically for 32-bit Windows is not feasible. 64-bit allows larger assets to be processed.

Projects built with MonoGame will run on 32-bit Windows however.

1 Like