2D Alternatives to the now-dead XNA?

  • (2 Pages)
  • +
  • 1
  • 2

20 Replies - 7924 Views - Last Post: 09 August 2013 - 01:57 AM Rate Topic: -----

#1 qwertyuu  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 60
  • Joined: 31-July 12

2D Alternatives to the now-dead XNA?

Posted 05 August 2013 - 07:34 PM

Okay, let me introduce the problem here:
I've been trying to learn the basics of programming for around a year now. After learning about XNA 6 months ago, I thought this would be cool to learn but I quickly discovered how bad I was at coding and went back to WinForms and Console applications for the only reason that I needed more practice. I recently switched to Visual Studio 2012 to then discover that the XNA framework wasn't present in my template list. After a bit of research, I then learned that XNA was dead. Forums and discussions everywhere had 2 words in their mouths: Monogame and Unity.

Having heard of Unity before as a pretty advanced 3D graphics engine/creator, I didn't quite like it as it was my first time even touching anything GPU-wise. I then gladly hopped on the monogame train. After having my first Snake game done, I was very happy with the result, even if it took more time trying to figure out how to compile .XNB from a font than anything else.

Then the problem struck me: A friend of mine asked if they could try my game. I said: why not! and handed them my game for them to try it out... but OH what do I see? The game doesn't even start. No crash, no info about the process running, nothing.

After hours, literally HOURS of trials and errors with all of the OpenGL/OpenAL/OpenCL, XNA 4 and .NET 2.0 through 4.5 installations of runtimes/redist/installers and whatnot, I still haven't got it to work.

I know that this isn't a "problem" as in it could be bypassed by knowing what was missing, but the only thought of having to drive my friends through hours of messing about just to get my small 10mb game to work made me shiver.

Is there any alternative to Monogame that is actually working on a computer? I'd really love something XNA-like in the way it works, and preferably no hard 3D since I have no background in graphics other than my snake game... (Or alternatively, knowing what the problem is with the Monogame binaries that wouldn't take 3000 frameworks to make it run would actually be nice!)

Is This A Good Question/Topic? 0
  • +

Replies To: 2D Alternatives to the now-dead XNA?

#2 CarDriver  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 65
  • View blog
  • Posts: 431
  • Joined: 17-February 11

Re: 2D Alternatives to the now-dead XNA?

Posted 05 August 2013 - 07:50 PM

If you're willing to part with C#, there are many alternatives. If you want to use Java (which is probably the most gentle transition), LWJGL and Slick2D are great. If you want to use C++, SFML is excellent. (It's so good it makes C++ feel like Java or C#.) Also, Javascript (HTML5) is a decent platform for 2D games. Play around with the HTML5 canvas element.

This post has been edited by AVReidy: 05 August 2013 - 07:51 PM

Was This Post Helpful? 0
  • +
  • -

#3 qwertyuu  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 60
  • Joined: 31-July 12

Re: 2D Alternatives to the now-dead XNA?

Posted 05 August 2013 - 07:53 PM

So, I need to quit learning the only language I know to make games? How useless is that?

EDIT: I didn't mean "useless" as in no use, I meant it as in I used more than a whole year messing around in C# because I wanted to put myself into programming, but then the only answer I get is to completely wipe off my knowledge and start over because no alternatives are present. It upsets me. I guess just going to Unity3D and learning the "hard way" (going from console applications to full-blown 3D games) will be better. Or even using the dead XNA framework just to wrap my head around the graphics (and have an usable game that all my friends will be easily running) would do the job

This post has been edited by qwertyuu: 05 August 2013 - 08:00 PM

Was This Post Helpful? 0
  • +
  • -

#4 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9501
  • View blog
  • Posts: 35,849
  • Joined: 12-June 08

Re: 2D Alternatives to the now-dead XNA?

Posted 05 August 2013 - 08:03 PM

So what - monogame requires the latest directx, 4.0 framework, and OpenAL. Build an installer and you should be fine.
Was This Post Helpful? 1
  • +
  • -

#5 qwertyuu  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 60
  • Joined: 31-July 12

Re: 2D Alternatives to the now-dead XNA?

Posted 05 August 2013 - 08:05 PM

Everything you just said is there, installed and functional. The game still doesn't start after trying on 3 different PCs, 2 of them had Win7 and the other one was running Win8. Nothing showed up...
Was This Post Helpful? 0
  • +
  • -

#6 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9501
  • View blog
  • Posts: 35,849
  • Joined: 12-June 08

Re: 2D Alternatives to the now-dead XNA?

Posted 05 August 2013 - 08:06 PM

Quote

I didn't mean "useless" as in no use, I meant it as in I used more than a whole year messing around in C# because I wanted to put myself into programming, but then the only answer I get is to completely wipe off my knowledge and start over because no alternatives are present. It upsets me.

To be a bit blunt - it happens. Game frameworks come and they go. What remains is your understanding of game mechanics, engine building, the art, and animation. The rest is just the gravy on your potatoes. You are not the first person to be upset by a shift or depreciation of technology - honestly, learn to accept it. Tech changes at a good clip.. or you can just stick with regular ol' XNA if that was working for you before.

Okay.. well check the event logs.. go from there. Start up a virtual machine and test there before you burn time on your friend's box. There are ways to go about fixing this.
Was This Post Helpful? 0
  • +
  • -

#7 qwertyuu  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 60
  • Joined: 31-July 12

Re: 2D Alternatives to the now-dead XNA?

Posted 05 August 2013 - 08:12 PM

Quote

Start up a virtual machine and test there before you burn time on your friend's box. There are ways to go about fixing this.

Very good idea, starting right now and messing with this!

As of what you said before, I'm not upset because of the "lack of technology", because it's not what it is. C# = new stuff and new technology. Unity3D is still THE thing to learn when making games + C#, I just didn't feel ready to take the step. Switching to another language is not an answer for me here since I'm still a beginner... Learning the syntaxes and fiddlings of this new language will take the time that I do not want to put in for now, because I'm still not what I'd call intermediate even in C#.

Alright, time to get a VM working... See you in a couple of hours, heh!

This post has been edited by qwertyuu: 05 August 2013 - 08:12 PM

Was This Post Helpful? 0
  • +
  • -

#8 BBeck  Icon User is offline

  • Here to help.
  • member icon


Reputation: 586
  • View blog
  • Posts: 1,306
  • Joined: 24-April 12

Re: 2D Alternatives to the now-dead XNA?

Posted 05 August 2013 - 08:35 PM

Is there an alternative to Monogame? ... Um. Yes. XNA.

Why can't you use XNA? It's not like Microsoft removed all copies of it from the face of the earth. I understand Microsoft isn't backing it anymore. But there really is no down side to using XNA at the beginner stage.

XNA runs in Windows 8. Maybe it's a "Desktop" app in Windows 8 but it still runs. I think you can even still design games for Xbox 360 with XNA, although I never really got into that. No one has gone on a book burning campaign to rid the world of all the books published on XNA 3.0 and XNA 4.0; you might even pick one up in a bargin bin if you're lucky. And I think you can still download both version from Microsoft for free.

Microsoft's tutorials are still there (for what that's worth). There are still XNA tutorials all over the web.

The XNA forum is still active here. It's not like we're not taking XNA questions anymore or that there isn't an entire forum dedicated to JUST XNA. Even OpenGL and DirectX don't have their own forum.

I've personally been working on XNA tutorials this past week and hope to get a few new tutorials posted over the next week or so.

There is a huge body of information out there on XNA. Until you've become an expert on it all, I think XNA still has things to teach you.

The more I search for a replacement for XNA, the more I realize that there is no replacement for XNA.

Microsoft announced this last week that the new Xbox One will be open to independent developers. They said that it may not be ready for independent developers when it's released before Christmas, but that that will come later. That suggests to me that they are putting something together as a development platform. I hate to get my hopes up, but it means that there's still a spark of hope that we may eventually see an XNA 5.0 and if not, that we STILL may see a platform for C# developers to write games. There is a petition to Microsoft to make .Net (C#) development available on Xbox One and it appears to be one of the most popular petitions submitted to Microsoft.

Regardless, there is nothing stopping you from using XNA at least until Windows 9 comes out. And I would bet my next paycheck you're not going to find a better learning environment over the next year.

Now I'm going to go hide before Butch finds out I'm trying to sell you on continuing to use XNA and he comes and beats me half to death with my own shoe. :-)

Post Script: Oh. And Unity isn't a programming framework, it's an engine. That's kind of like comparing Hamburger Helper spaghetti (Unity) to spaghetti made with home made sauce using canned tomatoes and homemade pasta (XNA). It may not be quite the same as raising your own chickens for the eggs in the home made pasta as well as growing your own tomatoes for the sauce (DirectX and OpenGL), but it's still worlds away from "spaghetti and sauce in a box".

This post has been edited by BBeck: 05 August 2013 - 08:51 PM

Was This Post Helpful? 0
  • +
  • -

#9 Skydiver  Icon User is offline

  • Code herder
  • member icon

Reputation: 3652
  • View blog
  • Posts: 11,421
  • Joined: 05-May 12

Re: 2D Alternatives to the now-dead XNA?

Posted 05 August 2013 - 08:49 PM

I know that you are trying not to get your hands dirty with low level 3D, but I think that it's part and parcel of learning how to do modern 3D game development. I used to be a fan of the precursor of XNA which was MDX. MDX got canned by M$ when XNA came out. I switched over to SlimDX out of pique instead of learning XNA. Looking back now, the choice was good for me because I already knew DirectX. SlimDX is not for the feint of heart, though, if you don't know DirectX or how to read the C++ DirectX documentation and mentally keep in mind how the managed/unmanaged interop happens.
Was This Post Helpful? 1
  • +
  • -

#10 qwertyuu  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 60
  • Joined: 31-July 12

Re: 2D Alternatives to the now-dead XNA?

Posted 05 August 2013 - 09:06 PM

View PostSkydiver, on 05 August 2013 - 08:49 PM, said:

I know that you are trying not to get your hands dirty with low level 3D, but I think that it's part and parcel of learning how to do modern 3D game development. I used to be a fan of the precursor of XNA which was MDX. MDX got canned by M$ when XNA came out. I switched over to SlimDX out of pique instead of learning XNA. Looking back now, the choice was good for me because I already knew DirectX. SlimDX is not for the feint of heart, though, if you don't know DirectX or how to read the C++ DirectX documentation and mentally keep in mind how the managed/unmanaged interop happens.


I heard alot about SharpDX while browsing for my Monogame issues... Do you know if this could be an alternative?
Was This Post Helpful? 0
  • +
  • -

#11 BBeck  Icon User is offline

  • Here to help.
  • member icon


Reputation: 586
  • View blog
  • Posts: 1,306
  • Joined: 24-April 12

Re: 2D Alternatives to the now-dead XNA?

Posted 05 August 2013 - 09:15 PM

I believe SharpDX is just DX for C#, or .Net. I haven't used it, but it sounds to me like it's maybe moderately easier than just jumping over to C++ and DX. In my case, I would rather just jump over to DX11 and do it for real, if I'm going to go that route. If it uses DX9, it might not be too terribly tough to use, although that would make it extremely outdated. Having managed code and presumably no pointers would make DX 100 times easier. But I don't think this has been exactly "popular". I think there's one book written on the subject.
Was This Post Helpful? 0
  • +
  • -

#12 SixOfEleven  Icon User is offline

  • using Caffeine;
  • member icon

Reputation: 945
  • View blog
  • Posts: 6,342
  • Joined: 18-October 08

Re: 2D Alternatives to the now-dead XNA?

Posted 07 August 2013 - 10:35 AM

There's nothing wrong with XNA. It is still a great tool and works on most modern operating system. I'm still using it even though MS isn't officially backing it any more. I recently finished a demo and other people were able to get it to run fine. There's nothing wrong with sticking with XNA for now. XNA games are still selling on Steam, a great alternative for getting your game published.

Stick with it!
Was This Post Helpful? 2
  • +
  • -

#13 anonymous26  Icon User is offline

  • D.I.C Lover

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

Re: 2D Alternatives to the now-dead XNA?

Posted 07 August 2013 - 01:53 PM

Right. I going to have to throw a spanner in the works!

Here are my reasons for NOT sticking with XNA:

1. It is Microsoft-specific.
2. It is dead.
3. There are alternatives out there.
4. Even though I have never used XNA, I can see that if you wish to port your code (as in use another tool chain to update your game) it is going to be difficult with a lot of work reimplementing functionality.
5. You are confined to the capabilities of XNA which are dead and no longer supported, so your game is already obsolete.
6. Time wasted sticking with XNA will be better spent learning something new that has support and will be for the foreseeable future.

Hopefully you can see where I'm going with this.
Was This Post Helpful? 0
  • +
  • -

#14 BBeck  Icon User is offline

  • Here to help.
  • member icon


Reputation: 586
  • View blog
  • Posts: 1,306
  • Joined: 24-April 12

Re: 2D Alternatives to the now-dead XNA?

Posted 07 August 2013 - 09:52 PM

With all due respect, I have to disagree. Now before I get started, I'm just going to admit that I'm hard headed, stubborn, and more than a little prejudiced when it comes to computer languages. I really have not tried that many of the other platforms (mostly just some exposure to OpenGl, a little DX, a little Java way back when, and a little exposure to a few other things). This is largely my opinion, for whatever that's worth.

Also, I think different things work for different people and not every solution is going to be right for everyone. Some people may thrive on your advice and that may be perfect for them. However, I think most of the people coming here asking "What language/engine/etc. should I get into?" are absolute newbies who at best have a C++ class under their belts and half probably don't even have that. For them, they're not ready to set out on their own in the game programming world, and I think XNA is the place they should be until they are.

I would point out that XNA is the only game programming platform that has it's own forum here. OpenGL doesn't have its own forum. DirectX doesn't have it's own forum. I don't see a Java game programming or Flash game programming forum. And we get about as many questions there per day as we do in the general game programming forum. That tells me that even though XNA is "supposedly dead", it's still more alive than any other game programming platform on earth for people who are new and just getting into game programming. All the other platforms combined are generating about the same number of questions as XNA is on it own.

Oh. And let's not forget Monogame (which is essentially open source XNA), which in may ways is as viable as many of the alternatives to XNA. The MonoGame team would certainly beg to differ with you that XNA is dead. And MonoGame is cross compatible on just about any platform out there. MonoGame alone answers almost every challenge to XNA that you mentioned.


1. It is Microsoft-specific.
Yes. But so. What else would you want to program for? ;-) I suppose this is my snobbery, but I have 6 computers and all of them run Windows. One has a dual boot into Linux that I mostly don't use, but experimented with for awhile. For the life of me, I still can't really see why someone would want to buy anything from Apple. I mean they're pretty. And they work really well, but you pay twice to three times as much as you would for anything else. I have an Android phone, and it would be cool if XNA ran on that, but I haven't particularly felt the need to program anything for my phone.

Microsoft has made me mad enough by abandoning XNA that I'm feeling a bit of an urge to switch to Linux, but otherwise, I've never had much of an urge to be on any platform other than Windows.

Granted, if you're writing commercial games you need to be writing them for as many different platforms as possible. In that case, XNA is a very poor choice, because ... well... it is Microsoft specific. But honestly, I think you're kidding yourself if you think you're going to make any money selling games with less than 2 or 3 years of experience. Even at 2 or 3 years of experience that is rather ambitious.

I'm thinking that for at least the first 2 or 3 years you need to be solidly focused on learning everything you can about game programming, and you don't have time to worry about cross platform compatibility. Pick one platform and master it.

2. It is dead.
No. It's really not. I mean, yes, Microsoft has said there will be no XNA 5.0 and they disbanded the XNA team at Microsoft, but other than that, how is it dead? Microsoft still has their XNA forum and tutorial site running and available. You can still download XNA 3.0 and 4.0 from Microsoft along with VS 2008 and 2010. Nothing has changed other than the decision that there would not be an XNA 5.0. All the books are still out there. Most of the tutorials are still out there. Nothing's changed. The community is getting a bit smaller because of it and there may never be any more XNA books written, but that's about all that's changed for the time being.

And Microsoft has been backpedaling very hard as of late. They just reorganized the whole company because they finally started waking up and smelling the coffee of their own failure. But I was just reading an article today on how Microsoft made the fatal mistake with their tablet and smart phone of ignoring the development community and that that is the primary reason behind their failure. No software = No customers. And slamming the door in the face of the XNA community is part of the reason they have no software for their phone the way Apple does. SO, Microsoft has announced that they are "opening up the Xbox One to independent developers". Maybe I'm reading too much into that, but that sure sounds like XNA 5.0 to me. Granted, it may only mean that they are allowing independents to develop in C++ for it, but it sure sounds to me like Microsoft has been seeing a lot of red on their bottom line lately and realizing that they need the development community if they are going to continue to exist as a company. It's probably too early to call it, but I think the possibility of an XNA 5.0 (or something somewhat similar built around C#) is back on the table. The Phoenix may rise from the ashes yet.


3. There are alternatives out there.
No. There really aren't. Not that I've seen or anyone has been able to convince me on. And this may just be my prejudices showing. But XNA is very special. It's not at all like the others. A lot of the others are really just 2D platforms. XNA is not. It's essentially a wrapper and game library around DX9. And you can do most anything with it you could do with DX9, especially 3D games. DX11 even inherited some of its functionality from XNA. I know that DX11 got a lot of its math library from XNA, and I want to say it's input library came from XNA as well.

It is simply the platform for learning 3D game programming. I believe you're kidding yourself if you think you're going to learn 3D programming on your own without XNA. I just can't see it happening. The primary reason for that is the huge body of knowledge out there for it that is focused on beginners. I've been working with XNA in 3D for a couple years and it's still teaching me new stuff all the time. There are all kinds of books written on XNA that open up the secrets of game programming that simply aren't published in the OpenGL and DX11 world. More importantly, a lot of it is written more aimed at beginners and therefore is more accessible to beginners. And once you finish with those books. I've got a stack of books on advanced game programming topics like 3D collision detection and the ins and outs of HLSL. Those books are not XNA specific, but you can use them in XNA. Which illustrates the point that there's pretty much nothing you can't do in XNA.

That's the truly amazing thing about XNA. It's accessible enough that an absolute beginner can learn to put sprites on the screen in 5 minutes, but advanced enough that no matter how experienced you are, you're going to be hard pressed to find something it can't do, with the exception of course that it's largely built on DX9 which means you don't have the advanced features of DX11 such as tessellation.

Honestly, I would love to hear your story about how you got where you are. I have to imagine that you learned a lot of it in school, or had friends, or apprenticed or otherwise had people there helping you learn it. Other than a few programming classes like C++ class, I never had a soul there to teach me anything since highschool. Every single thing I learned was from reading book after book after book. I was totally 100% on my own, and without good books, I never would have figured half of it out. So from my perspective the number one determination of which language/platform you should choose is "How many books are published on it?" And XNA has about the largest list of books except maybe Flash, from what I've seen (and I think most of those Flash books may not even cover game programming). In my opinion, that alone makes XNA the clear leader in platforms when it comes to learning 3D game programming.

4. Even though I have never used XNA, I can see that if you wish to port your code (as in use another tool chain to update your game) it is going to be difficult with a lot of work reimplementing functionality.
Yes. I agree. But if you are accomplished enough that you need to port to multiple platforms, you're probably ready to move on to something beyond XNA. It is, like you said, very Microsoft specific. I just don't think people with less than 2 or 3 years experience game programming are ready to worry about more than one platform.

5. You are confined to the capabilities of XNA which are dead and no longer supported, so your game is already obsolete.
Confined? What? The only thing that I am aware of that XNA can't do is some of the newer features of DX 10 and 11 such as tessellation. In HLSL in XNA, you only have access to the pixel shader and vertex shader. These are very new features that are extremely advanced, and you really should have mastered XNA before even worrying about that.

And what is this "no longer supported"? I'm not sure Microsoft was going to help you debug your game even when they were totally backing XNA. Their forum is still there to ask questions. I've personally never seen a bug in XNA. It's as rock solid as any platform I've ever seen. I've never needed to ask for support for it.

It runs on Windows 8, even if only in Desktop mode. (And who really wants to buy Windows 8 anyway?) I believe it still runs on Xbox 360 and the Xbox One is not out yet.

And above all else, I'm not recommending it for serious efforts into writing commercial games; I am recommending it to new people just starting out to learn everything they can before moving on to another platform that may better suit commercial needs.

6. Time wasted sticking with XNA will be better spent learning something new that has support and will be for the foreseeable future.

I just disagree. I think time spent on anything else will likely be wasted time unless you're already pretty advanced. You're not Issac Newton; you're not going to invent calculus on your own. Without someone to teach you, you're not going to be able to figure it out. And by "someone" I'm including tutorials and books and such, not just a person standing there in the flesh. You're going to have to have the knowledge of those who came before you. And I think the vast majority of other platforms do not have 1/10th the number of in depth tutorials and books that XNA does. There is just SO much more info out there for XNA than any other platform when you're beginning. And for that reason alone, I can't see recommending anything else to those just starting out.

So for some people, maybe you're right. If you have people to show you how to dive straight into DX11 or such, that may work too. But I still believe that XNA is the platform for beginners learning the game programming ropes on their own with little to no help other than the tutorials and books they can find out there.

Believe it or not though, I was this stubborn and hard headed against XNA before I tried it. At the time, I was convinced that you couldn't do any real game programming unless it was in C++. It took some people convincing me, about a full year, and actually trying it out before I decided I liked XNA. But it wasn't too long before I was hooked.

This post has been edited by BBeck: 07 August 2013 - 10:03 PM

Was This Post Helpful? -1
  • +
  • -

#15 anonymous26  Icon User is offline

  • D.I.C Lover

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

Re: 2D Alternatives to the now-dead XNA?

Posted 08 August 2013 - 09:20 AM

And with all due respect (although I didn't have the time to read it all), both personal and professional experience strongly disagree with you. I have a variety of programming experience with games that spans beyond Windows - in fact I'm currently coding on Mac and Linux for work (non-games) and not work (games), I have experienced the burdens when I used to be in games of when the toolchain was changed either because of significant changes, or simply was just no longer suitable long-term even though it still was suitable for the current platform short-term.

What you are missing here is that you must always code looking long-term, and to insist that XNA is good long-term is to be completely oblivious to the inevitable that you will have to eventually dump it, and dump it soon. I get the feeling that those who have invested all of their game development experience based specifically on XNA are extremely reluctant to let it go in favor of what is undeniably good software development practice in using tools that are current and supported. To me it is just downright bad advice that you are trying to get people new to game programming started on a dead toolchain.

I cannot express how bad and potentially very difficult you are making it for someone new to programming games. You chose XNA, that is your choice, do not impose it on others.

This post has been edited by ButchDean: 08 August 2013 - 09:21 AM

Was This Post Helpful? 1
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2