Unity Or Monogame?

Started by
4 comments, last by Dewar 8 years, 4 months ago

Hey,

Been using Unity for a while. It has a lot of stuff, some useful, other stuff not. Would going to Monogame be a good idea? I like simplicity, and not the excessive amount of stuff Unity has. I do like how easy the colliders are to implement, and the amount of tutorials/resources. I want to make 2D pixel games. There's not really that many tutorials on Monogame.

Thanks

What will you make?
Advertisement

Hi,
Just my 2 cents here, but there is quite a big jump between XNA/MonoGame and Unity. They are the perfect example of what is the difference between a framework and a full-blown engine. I'm not a Unity expert, only used it for the short span of checking it out + doing some tutorials, but some examples I know of as big differences:
In XNA/MonoGame:
- you have to roll your own collision+physics system, or you have to use a third party lib like Farseer or Bepu...
- you have a simple game object infrastructure, it works, but I rolled my own, since it is far from the feature-level of the Unity GameObject system.
- you kind-of do not have a rendering system. It is really close to using pure DirectX/OpenGL, although it has a nice API on that front, and a lot of helper functionality, but it has no skinned meshes (animation) and no sophisticated lighting + shader/effect system out of the box.
- there is no Scene/Screen manager, and no extensible editor for putting scenes and game objects together.

Though there are a lot of examples and pre-made sample code which covers most of this, but most of what it provides is hardware accelerated graphics and a small infrastructure layer (e.g.: game-loop, game objects) for game development.
One thing which matches the capabilities of Unity is the content pipeline. It matches its features out of the box, similar in design and it is extensible.

If you like coding and control XNA/MonoGame is really nice but you have to develop a lot of "engine functionality". If you would only like to take care about game logic than go with Unity, it is much less hassle in this regard.

Blog | Overburdened | KREEP | Memorynth | @blindmessiah777 Magic Item Tech+30% Enhanced GameDev

Hi,
Just my 2 cents here, but there is quite a big jump between XNA/MonoGame and Unity. They are the perfect example of what is the difference between a framework and a full-blown engine. I'm not a Unity expert, only used it for the short span of checking it out + doing some tutorials, but some examples I know of as big differences:
In XNA/MonoGame:
- you have to roll your own collision+physics system, or you have to use a third party lib like Farseer or Bepu...
- you have a simple game object infrastructure, it works, but I rolled my own, since it is far from the feature-level of the Unity GameObject system.
- you kind-of do not have a rendering system. It is really close to using pure DirectX/OpenGL, although it has a nice API on that front, and a lot of helper functionality, but it has no skinned meshes (animation) and no sophisticated lighting + shader/effect system out of the box.
- there is no Scene/Screen manager, and no extensible editor for putting scenes and game objects together.

Though there are a lot of examples and pre-made sample code which covers most of this, but most of what it provides is hardware accelerated graphics and a small infrastructure layer (e.g.: game-loop, game objects) for game development.
One thing which matches the capabilities of Unity is the content pipeline. It matches its features out of the box, similar in design and it is extensible.

If you like coding and control XNA/MonoGame is really nice but you have to develop a lot of "engine functionality". If you would only like to take care about game logic than go with Unity, it is much less hassle in this regard.

Interesting. I'd rather make games than go through all that hassle. Thanks.

What will you make?

What are the limitations of Unity that are making you feel like you'd rather use something else? Before you jump, maybe look into whether you could extend the Unity editor to do the specific things you need it to. In other words, are you certain the things you can't do are limitations of Unity, or are they really limitations of your own knowledge of Unity? (Of course they may really be Unity's limitations, but you mention making 2D pixel games and that's not likely to push the boundaries of Unity's capabilities.)

Visit http://www.mugsgames.com

Stroids, a retro style mini-game for Windows PC. http://barryskellern.itch.io/stroids

Mugs Games on Twitter: [twitter]MugsGames[/twitter] and Facebook: www.facebook.com/mugsgames

Me on Twitter [twitter]BarrySkellern[/twitter]

Thought I'd chime in here because I was in a similar position about 2/3 week ago. I was considering switching from unity to monogame for my next project.

I've made games with both unity & using a "game framework" like monogame (I've used its predecessor XNA as well as a few others like libGDX etc). It's true that you get a lot more control with game frameworks because you get to do collision, drawing all yourself. But this comes with a HUGE pricetag, which is: you will be spending most of your time writing an engine, and not making a game.

One thing that you will notice if you research monogame is that the documentation is lacking. Since monogame is a relatively new opensource clone of XNA. This is fine for experienced developers because it's opensource. But it's something to consider if you don't want to muck around with someones code all day.

I personally prefer unity, it has great tools that allow most of your work to be devoted to building out your game. It does have downsides, and it takes awhile to think within the unity constraints. In my opinion, it's totally worth it. Not only does it give you a tool to create great games easily, it also gives you some insight/knowledge about how you might design your own engine in the future if you decide to go the game framework route.

I'd like to add my experience here as I've been using MonoGame on my project for some time. Spidi is right, there's no question that using MonoGame demands more groundwork than something like Unity and you could argue that the time spent writing code and developing with MonoGame would be better spent in other areas and that something like Unity might allow you to do that. That's very likely and I really do think that when there's a great choice of method to develop a game now and that you really should enter into a code-only development process when programming everything is in your interests and when you really want full control over your program.

Having said that I have to say that MonoGame is great to work with - I've had no problem with it and it does everything I need. It's really enabled me to concentrate on what I want to do most - write code for my game. I'm not going to say it's bug free but I will say that the forums are active and frequently updated with problems and solutions from the community. MonoGame is a really neat framework to use if you're happy writing code.

[twitter]mswiftdev[/twitter]

https://rheniumdev.wordpress.com/

This topic is closed to new replies.

Advertisement