Moving from Xna4 to MonoGame 3.4

Started by
1 comment, last by DvDmanDT 8 years, 8 months ago

Hi everyone,

I've been using Xna 4 for years with a custom framework that I now wish to port to MonoGame. My main motivation is less awkward VS2013+ support. I will still be Windows only for now. There are primarily two things that scare me:

1. What happens to the project structure, in particular with respect to the content pipeline? Do I use some external tool to handle assets with MonoGame or is there still some VS project type behaving similar to how it works in XNA? What about custom content importers and processors?

2. I'm currently using Windows messages for input, via System.Windows.Forms.IMessageFilter etc. I'm aware that this is bad from a portability perspective, but it makes input behave very well for my GUI driven games. Can I still do this with MonoGame and/or is there some other way to hook/capture/handle windows messages in my game window, obviously assuming running as Windows Desktop app..?

Advertisement

1. I haven't used XNA for a long time, but I worked with mono-game a while back and it looks almost identical to XNA as i remember. There is the namespace Microsoft.Xna.Framework.Content and it's all loaded as you would expect with content.Load<type>(). I don't know about custom content, I would guess that it's exactly the same situation as with XNA.

2.XNA and monogame provide their own input system : Microsoft.Xna.Framework.Input, which is what i used. But if you prefer to consume windows messages, then it should definitely work ok with monogame. XNA to monogame is pretty much a direct mapping.

Thank you for your reply!

I have now gone through with the update and it went very pain free in general. The input system worked flawlessly without a single change. The projects were a bit messy, one has to recreate all projects manually and the content system is a bit different in the not-really-awesome way, but I can probably live with it.

The main downside of MonoGame vs XNA is the content system. Double-clicking a content project file opens the pipeline tool, but it seems to open with the wrong project. It also does not seem to correctly resolve dependencies and asset updates meaning I have to manually rebuild. I wonder how hard it would be to create a VS plugin to improve it.

This topic is closed to new replies.

Advertisement