Monogame(2D) or Unity3D(2D)?

Hello! Sorry for my English…
I am not a professional programmer. I’m an engineer, and programming - my hobby. Now to me is a very difficult choice. 3 years ago I began to study XNA and c# . Since childhood, I dreamed of writing a play. Ready engine I have not used. Now I see that, XNA died ((But, he became the father of Monogame. I created a 2D animation carcassing man, I created a map sprites, drawing a recursive tree and many others (4000 lines of code.) But all this is done in XNA, which is not works on the W8. Now I pondered, if not move on Unity3D me. He is very dynamic. for me the choice is very complex, monogame or Unity ??? Do not die tomorrow monogame died XNA ??? Which is better for 2D games mono or Unity ???

It’s not really a choice of which is better, rather it’s a choice of what you want from your engine or framework.

If you prefer an engine, like Unity, that’s packed full of features then use that. Be aware that Unity has many, many, features and all of these are implemented under the assumption that you MIGHT need them. So there will be a lot to learn, and many more things you most likely won’t even use.

If you’re like me, you prefer a framework rather than an engine. Something that gives you the means to do something, but doesn’t bring all the overbearing features that Unity does. I like to create my own tools for development, and I like to only use exactly what I need; rather than having all these tools I won’t ever use.

Like I said it really depends on your mindset and what you want or need from your engine.

Hope this helps!

4 Likes

Thank you, dev_eaneth. I understand you. I have another question arose. Who is engaged in the development monogame today? What is his future?
XNA is developed by Microsoft. And who develops monogame?

If you like understanding how collision detection works,animations how to make particles and such then probably you’ll want to go with monogame because it has the power to make even 3d games ! On the other hand if you like just throwing stuff and not knowing how things are behind the scene then go with unity and pay 1500$

I will be slow but I want answer on first question -

I think for 2D games better is MonoGame. Why ? The Unity itself is a 3D engine and process of creating a 2D game in that engine is complicated. Furthermore, I not recommend Unity for 3D games too. Why ? Personally, I dont like it for few reasons - the price of pro version is huge and I dont like cutted free versions. The other reason is more like a taste - The UI is not comfortable, the entities is sorted inside submenus instead of pushed to panels and it uses very small fonts - I dont like break my eyes… I found Unreal Engine 4 is much more comfortable and it available in very small price(almost free compared to Unity). And its graphical part is very cool. Of course there is a C++ scripting inside, but I heard that C# is coming - http://mono-ue.github.io/ The only reason for declain it for now - its not supporting WinRT/Windows Phones yet : (

On the other hand, a MonoGame is absolutely free and easy to use in small games(the big ones is not easy to make for a single person without derived engines and libraries). Remember one of the general rule for game development ? - make game, not engine… Sadly, it contains bugs and missed features, but I hope, if the community grows we are cap it.

Thank you, guys. Your arguments are logical and correct. If I was a professional programmer - I would choose mono. Thank you I would think …

ps There are a number of enthusiasts who promote monogame. Monogamy - free. If Microsoft bought tomorrow monogame - I would be confident in the future))) What if when Steve Williams, Tom Spillman will fly to the moon? Monogame - this project several people who did not want to come to terms with the death of XNA? Or is it something more?

Hi, I’m currently working in a studio that uses Unity. I’m a programmer. Unity is great but I should not recommend it for the use of making 2d games. I find it alot less efficient and more work then doing 2d in mono game. Using a spritebatch with a source rectangle to choose what part of the sprite sheet you want to use is easier and cleaner in my opinion. There is tons of tutorials on YouTube on how to do 2d animations in xna which will cross over to monogame.

If you want to make a 2d game, but don’t want to make everything from scratch and you are willing to pay few hundred dollars for game engine then one option you might want to concider is gamemaker.

Personally I have been balancing between those two options (monogame or gamemaker). On the other hand, I like to tweak everything in my game, which would make monogame the choice for me. But then again, I’m lazy and don’t have the time to reinvent wheel so that would tip the balance to gamemaker.

Just wanted to point out that Unity is free even for mobile development now - assuming you don’t need pro features which most probably won’t. (If you do need pro then there’s a new $75/mo option to ease the pain)

  • You can code and debug in Visual Studio (via unityvs - free since Microsoft acquired it) - so you don’t have to give up powertools like Resharper, Ncrunch etc.

  • And you don’t even need a Mac to build and deploy to an iOS device; You can build and deploy, say, an iPad app entirely on Windows (via http://www.pmbaty.com/iosbuildenv/ - $40)

The fact that Xamarin costs so much for integrated VS development and demands a Mac for building and deploying iOS apps definitely swung things in Unity’s direction for me - especially compared to Unity’s zero cost!

I will say though that I did hedge my bets slightly by also signing up for Xamarin’s new $25/mo indie licence. It’s a great time to be an indie mobile developer! There’s really no bad choice and the companies are falling over themselves to accommodate us.

[Also, since the questioner asks specifically about 2D games I assume he’s aware Unity 4.3 completely revamped the 2D workflow, and 4.6 is completely revamping UI. And there’s other exciting stuff coming too - like partly shifting off the older version of Mono it uses: The future of scripting in Unity | Unity Blog ]