Unity vs. XNA for future 2D games

  • (2 Pages)
  • +
  • 1
  • 2

15 Replies - 7456 Views - Last Post: 19 June 2013 - 08:11 PM Rate Topic: -----

#1 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Unity vs. XNA for future 2D games

Posted 12 June 2013 - 11:12 AM

Hey guys, this is my first time posting in this section and I have a couple of questions to those of you more experienced than I.

I have just recently decided on a career change and started learning a programming language (C#). It's the only coding I have ever done in my entire life and it's going to take some time before I'm ready to actually develop my own games. Still, I'm taking the plunge and I'm going into these waters head first!

I don't have unrealistic goals and I expect that it will probably take years before I can even begin to fully understand what I'm getting myself into. However, that's not going to stop me from achieving something I've wanted to do since my father brought home our first Atari with Pong. The moment I saw that thing I was hooked. I wanted to be a part of it, but life got in the way (as it often does). Now I'm in a position to change that and I'd like to get some advice from those of you already in the scene.

My primary focus will be PC, but that doesn't rule out the possibility of a console port. That being said...

I am looking at two possible framework candidates for a game I am currently developing (on paper). One is XNA (although it's future is somewhat unknown) and the other is Unity. Unity happens to be a great choice for 3D games, but my focus is 2D. Which makes my first choice (XNA) more attractive seeing as it works quite well within the Visual Studio environment. I have also heard that MonoGame is gaining popularity within the "indie" scene and I might have a go with that as well.

I suppose my question has more to do with Unity. I am wondering if it is just as viable as XNA (MonoGame) with regard to 2D environments. I'm looking at building randomly generated tile based environments similar to that of Terraria and StarBound, so I need something that can handle this without jumping through hoops to make it work. I would also like the ability to be able to implement some advanced lighting and particle effects if needed.

I suppose anything is possible with enough effort, but I was hoping that I could make a decision based on which framework might be the easiest to work with and implement features. Unity seems to have a lot of support and MonoGame is starting to take off (with a lot of support as well), so it's not an easy decision. The only problem I have with XNA currently is that Microsoft is dropping support for it next year. That's not to say it won't be a viable choice, but by the time I'm ready to actually start coding anything game related, support will be gone. That being said, I need to do a bit more research on MonoGame. My understanding is that it's an open source version of XNA. What exactly does that mean? Does it use XNA, or is it it's own framework based on XNA? Can it be used with Visual Studio?

Phew, that's a lot of questions. Well, I hope that at least someone might have some answers and/or advice.

cheers

Is This A Good Question/Topic? 0
  • +

Replies To: Unity vs. XNA for future 2D games

#2 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9223
  • View blog
  • Posts: 34,630
  • Joined: 12-June 08

Re: Unity vs. XNA for future 2D games

Posted 12 June 2013 - 11:20 AM

Quote

I am wondering if it is just as viable as XNA (MonoGame) with regard to 2D environments.

This?
http://www.unikronso....com/2dtoolkit/



Quote

My understanding is that it's an open source version of XNA. What exactly does that mean? Does it use XNA, or is it it's own framework based on XNA?


Yeah - it has wrappers for XNA and builds on it.

Quote

Can it be used with Visual Studio?

Yes.
Was This Post Helpful? 0
  • +
  • -

#3 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Re: Unity vs. XNA for future 2D games

Posted 12 June 2013 - 12:10 PM

Thanks for the answers, Modi.

I have seen the 2D toolkit for Unity, but haven't researched it enough to make the decision either way.

The environments I'm looking to create will be similar to the games I mentioned, with the possibility of using some more advanced lighting than they offer. Still, I believe XNA can handle this just as well by just implementing the needed shaders. It's really too soon to make the decision, but I'd like to at least be looking and not have to make the wrong decision and possibly have to redo months of work.
Was This Post Helpful? 0
  • +
  • -

#4 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9223
  • View blog
  • Posts: 34,630
  • Joined: 12-June 08

Re: Unity vs. XNA for future 2D games

Posted 12 June 2013 - 12:15 PM

On all honestly you'll be writing code as you progress. The important part is the global game concepts, right? Those are typically language agnostic. If you rock out Monogame/XNA then go for it. That's what I am using and not really keep on moving out of it quite yet.
Was This Post Helpful? 0
  • +
  • -

#5 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Re: Unity vs. XNA for future 2D games

Posted 12 June 2013 - 12:20 PM

View Postmodi123_1, on 12 June 2013 - 12:15 PM, said:

On all honestly you'll be writing code as you progress. The important part is the global game concepts, right? Those are typically language agnostic. If you rock out Monogame/XNA then go for it. That's what I am using and not really keep on moving out of it quite yet.


The issue is that it may be a year or two before I'm ready to actually start writing code for this game. Not only is the game nowhere near fleshed out (on paper), but I am nowhere near ready to write code based on my level of programming knowledge.

Having said that, I wanted to make sure that XNA would still be around when the time came for the actual code implementation. It looks as if MonoGame might keep XNA alive for quite awhile, and that's good news.
Was This Post Helpful? 0
  • +
  • -

#6 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9223
  • View blog
  • Posts: 34,630
  • Joined: 12-June 08

Re: Unity vs. XNA for future 2D games

Posted 12 June 2013 - 12:29 PM

mm.. then you should probably be asking this question a year from now when you are ready to start up coding. I mean I am not going to obsessively worry about a bridge I am going cross year from now.. sure it's a concern but nothing I am going to grind into stone now.
Was This Post Helpful? 0
  • +
  • -

#7 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Re: Unity vs. XNA for future 2D games

Posted 12 June 2013 - 12:47 PM

True, I could worry about it a year from now, but as I said, I want to be as prepared as I can when the time comes to make a decision on which framework/engine to go with. It never hurts to be prepared.

Still, I have a long way to go before I could consider myself ready to start implementing the game's foundation/mechanics/features. It's going to be a long road ahead, but I'm loving every minute of it.
Was This Post Helpful? 0
  • +
  • -

#8 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9223
  • View blog
  • Posts: 34,630
  • Joined: 12-June 08

Re: Unity vs. XNA for future 2D games

Posted 12 June 2013 - 12:52 PM

As I said - I am certain both will be around in some form (just like how there are batch games running around), but I wouldn't stress over it. If anything keep an eye on the monogame and unity twitter feed, check in once and a while, but keep focused on the here and now.
Was This Post Helpful? 1
  • +
  • -

#9 BBeck  Icon User is offline

  • Here to help.
  • member icon


Reputation: 580
  • View blog
  • Posts: 1,286
  • Joined: 24-April 12

Re: Unity vs. XNA for future 2D games

Posted 12 June 2013 - 06:23 PM

I think Modi is correct. I always say "there's no sense burning a bridge until after you've crossed it."

XNA and Unity are really two different things. It's kind of apples and oranges. XNA is a framework that mostly simplifies access to DirectX and provides core game functionality. Unity is a game engine. Unity is much higher level and you won't be getting nearly as deep into what you're doing.

But 2D game development is not that hard. Mostly you're just drawing sprites on the screen and it takes maybe an hour to figure out how to do that once you're accomplished enough as a programmer to learn that (it may take you a year to learn enough to get to that point). Of course there are other aspects like AI and path finding, collision detection, physics, sound, music, input handling, etc. I don't know that there's anything too terribly complicated in 2D. There's a lot to learn but you'll probably be challenged more as a programmer than as a game developer, trying to figure out ways to organize your code and such. Its a great place to learn.

But as far as graphics (DirectX, OpenGL, etc) you're not doing much more than drawing sprites. So, you're barely grazing the surface in terms of graphics and the graphics hardware. Most of the hard work in 2D has very little to do with graphics. And that's why I think there are many different environments you can effectively do 2D in.

It seems to me that Unity might be a little "over-kill". (Do you even need a game engine to do 2D? Although it might make some things easier like physics, if that's built in.)

XNA is a great option. I think it's already dead, which is the bad news. However, there is a fair amount of buzz around Mono. So that's at least worthy of consideration. But when I say that XNA is dead, I don't mean you can't use it. I just mean its a dead end for developing anything commercial. It's still a great learning platform, although I think 3D game design is where XNA truly shines and becomes "irreplaceable".

Honestly, for 2D Microsoft seems to be pushing HTML5 and web browsers and that makes sense to me for 2D. The true loss in losing XNA is not in 2D but in 3D. In 2D I think there are many possible replacements for it. In 3D, there just isn't anything to even come close to replacing it.

But if you're goal is to learn C#, XNA gives you a great game building sandbox to play in and get pretty deep in your knowledge. Keep in mind that everything you learn in XNA will transfer over to whatever other platform you're working on. The syntax may change but the concepts will be identical no matter where you go. A sprite is a sprite regardless of what environment you are working in. And A* path finding is A* path finding no matter what environment you are working in. And there are good books and tutorials for XNA out there.

So, I would say "Start with RB Whitiker's stuff." Get into his website. Go through the tutorials he has on C#. Buy his book. If you really got after it, you might have a handle on C# in 2 months and then be ready to start playing with XNA (and by getting after it I mean at least spending all your weekends entirely on it). You don't have to be an expert in C# to start playing in XNA; you just need to know enough to be reasonably confident in what you're doing.

And RB will get you started with XNA tutorials as well. You mainly just want to get in there and play with XNA and have fun. Forget about making a game for now. You'll be learning all kinds of stuff about what it takes to make games.

And then maybe in a year or two you'll be ready to move on to HTML5 or Java or who knows what. But you'll have a whole lot of knowledge you can take with you.

XNA may be "dead", but there are still plenty of books and tutorials on it. And it runs on Windows 8 (even if it runs in "legacy" mode). So, as a learning platform, it can't hardly be beat. However, you'll likely have to move over to something else if you intend to make a commercial product.

This post has been edited by BBeck: 12 June 2013 - 06:24 PM

Was This Post Helpful? 2
  • +
  • -

#10 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Re: Unity vs. XNA for future 2D games

Posted 13 June 2013 - 12:37 AM

@BBeck,

I really appreciate all of the information and insight. it's invaluable. Although, I do disagree with you about XNA's commercial possibilities when it comes to XNA's future. I think it really depends on the game itself. I think we've seen over the past few years that a lot of these games can be simple, yet very appealing. Also, I don't believe Windows 7 will be dropped in favor of Windows 8 anytime soon for gamers unless Microsoft makes some real changes. I realize Windows phone may be an exciting platform for developers but If Windows XP is is any judge of what is possible in terms of fan loyalty, I think we'll still see XNA and Windows 7 around for quite a long time.

That said, the next few years in game development and game architecture will also be something to watch out for. Sony's "open" philosophy with self publishing is a step in the right direction. That will make consoles more appealing for indie developers in the future and if they support MonoGame it gives developers a head start without having to learn a brand new framework or work with an entirely new engine. However, game developers are pretty smart people and things like new frameworks and new engines/architectures really don't seem to be much of a problem.

Even though I disagree with you on some things, I think your advice is sound. I appreciate you taking the time to respond. It's going to be an interesting couple of years for me. I also took your advice and bought the book that you reviewed on Amazon. I actually purchased it before you responded to this post. I think I have purchased a total of eight books so far on C#, XNA and/or game development. I will also check out Whitiker's website as you suggested and see what he has to offer.

Cheers
Was This Post Helpful? 1
  • +
  • -

#11 anonymous26  Icon User is offline

  • D.I.C Lover

Reputation: 0
  • View blog
  • Posts: 3,638
  • Joined: 26-November 10

Re: Unity vs. XNA for future 2D games

Posted 13 June 2013 - 08:26 AM

Just use Unity.
Was This Post Helpful? 0
  • +
  • -

#12 Linesofcode  Icon User is offline

  • D.I.C Head

Reputation: 6
  • View blog
  • Posts: 62
  • Joined: 23-May 13

Re: Unity vs. XNA for future 2D games

Posted 13 June 2013 - 09:59 AM

Unity is pretty cool indeed. Great comunity, tons of examples..you should give a try. And, btw, it's free.
Was This Post Helpful? 0
  • +
  • -

#13 Semus  Icon User is offline

  • D.I.C Head

Reputation: 14
  • View blog
  • Posts: 126
  • Joined: 27-May 13

Re: Unity vs. XNA for future 2D games

Posted 16 June 2013 - 09:26 AM

View PostButchDean, on 13 June 2013 - 08:26 AM, said:

Just use Unity.


Unity does have the 2D Toolkit, which could make things infinitely easier. Does the free version of Unity come with everything you'd need to create a commercial product? Or would you need to fork out the $1500 for the pro version? There is a comparison page where it shows you everything that comes with the pro version vs. the free version, but there are a lot of listed features that I'm not sure I would need.

I've looked into MonoGame as well, and that seems to be gaining popularity. Only time will tell I suppose, but I really am looking forward to the moment I'm ready to give this a go.
Was This Post Helpful? 0
  • +
  • -

#14 anonymous26  Icon User is offline

  • D.I.C Lover

Reputation: 0
  • View blog
  • Posts: 3,638
  • Joined: 26-November 10

Re: Unity vs. XNA for future 2D games

Posted 18 June 2013 - 03:53 PM

You'll have to research what the free version comes with.
Was This Post Helpful? 0
  • +
  • -

#15 IcyCode  Icon User is offline

  • D.I.C Head

Reputation: 6
  • View blog
  • Posts: 52
  • Joined: 21-April 12

Re: Unity vs. XNA for future 2D games

Posted 18 June 2013 - 07:11 PM

View PostButchDean, on 18 June 2013 - 03:53 PM, said:

You'll have to research what the free version comes with.

http://unity3d.com/unity/licenses That should clear things up. Unity is a fully-fledged game engine with an interactive GUI whereas XNA is an API. If you pick XNA you will learn a lot more about the game development process and ultimately have more control over what you create. That being said, Unity abstracts away many of the more complex concepts that you would need to grasp if you used XNA, leading to more rapid development speed. To put it simply, XNA if you really want to challenge yourself and learn more about C# and the game development process; Unity if you solely want to develop a game and want to get it done within a reasonable time frame.
Was This Post Helpful? 1
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2