A few years back, we created the Cortex game engine which is based on XNA 4.0. We use this for all our projects but now are working on a very large game. We have built a prototype of the game (which is large itself) and decided based on requests from publishers to try and port it. So we converted the Cortex Engine over to Mono 3.5 and it compiled and ran the tiny stub we made fine. So I thought awesome! This is going to to cool…write once run anywhere…eh, not yet.
When we went to run our prototype project we got all sorts of things happening that doesn’t give me a lot of confidence. I am really hoping I am doing something wrong. Here is a list of the immediate issues we see.
The green channel of RGBA seems to be missing from everything. It is all orange looking.
Our audio sound FX (which were compiled in XAct3) sound like crap. Really loud with lots of distortion like a blown speaker.
(really important) Anytime we play a video like a cutscene, or company intro. It immediately crashes without any exception or we get an “Out of memory” exception from SharpDX.
Is this typical? Is Mono this buggy? Is SharpDX that buggy? Think about it, it runs out of memory using managed code…I shutter to think what that code looks like. Please tell me that I’ve got the wrong version of Mono, I am missing Magic.dll that fixes all this? I guess I am in shock a bit about how much I’ve been told this is a “clone” of 4.0 yet it …isn’t. Please tell me I am wrong I really would like to get this technology working for us.
So What level of audio is supported? Is XAct2 supported?
The video is WMV 9, constant bitrate, single pass encoded 1280x720 just like the specs here on this page https://msdn.microsoft.com/en-us/library/dd254869.aspx
It works great in XNA and plays for 15 sec in Mono. Has anyone ever got fullscreen video to work with mono?
Anyone have any ideas why it looks like the Green channel of all the textures is 0? I even compiled the Xnb files in VS 2010 with XNA 4.0 and copied the results over and it still looks like sh#t.
And just FYI yes MonoGame is buggy (see issues on github project page), as well as XNA 4.0 too, as most of all existing software actually available and still in development.
Even UE4, and Unity have bugs. All apps have ! (Even Linux and iOS !)
“A software without bug is not a software” as there is some notion that every fix you make creates more bugs.
Yes, I understand that “new” software can have bugs. I’m a veteran to the industry for 20 years, I understand that new features are added over time and issues might arrise. However when something was a feature in XNA 3.1 a decade ago, and it still doesn’t work in Monogame, that is isn’t “just a bug” anymore. Not having the capability to play a video or running out of memory because of a leak isn’t a minor development bug. Especially when there is tons of software like VS memory checker and Numega Softice that will pin point leaks. The issues we are seeing don’t give me a lot of confidence in Monogame as a stable platform. Thanks for all your replies, I don’t think Monogame is something for us. The cross platform feature looked intriguing, but when it is a hassle to get things to work on a single platform our QA team would have a field day with multiple targets and we just don’t have the funding to keep chasing down bugs we didn’t create.
Well, try FNA, it looks like you dont need advantage of Monogame over XNA, thus FNA is definitely better choice for you since you are looking just for portability. We migrated to monogame because of terrible XNA limitations when it came to rendering and lack of 64bit support.
For what it’s worth, I have chosen MonoGame, for the better AND the worth, but it’s unfortunately always how it’s work these days, you do all by yourself and deal with your own issues, or carry the burden of someone else’s work, and may expect blocking issue may not/never be fixed at all.
But, the best attitude in your case it at least, to take a little time to give some samples which shows the issue (maybe the same code in XNA and MG on the SAME platform with the same assets) to give people a chance to fix the issue(s) you found. Complaining and leaving didn’t help anyone at all, especially you.
Don’t forget with open source project like this one you have the unique opportunity to be listened and maybe someone doing something similar to you can try and work on a fix for it, whereas with $$$ projects like Unity or Unreal engines, if the team doesn’t care about your very own issue(s), they’ll never get fixed (or by “accident” sometime).
No-one else has mentioned that issue, and I have never seen it. A missing green channel wouldn’t make everything look orange. It would make everything look red, purple and blue.
Did you use compression on your sounds? It may be an issue with our playback of ADPCM sounds.
I just did a test with a 1280x720p 30fps wmv, let it loop several times and it didn’t run out of memory in the DX11 version. But saying that, there are some things to fix in video playback.