11 ms·
It's Official: XNA is dead
- meaty 14y agoThis is normal for Microsoft product-specific APIs. They are as stable as a drunk unicyclist from experience. Well to be truthful, they last forever but you never know which one you should be using because there are about 3-4 concurrent APIs that do the same thing which may be deprecated at zero days notice.
- ch0wn 14y agoFrom an outside perspective, this seems really odd. It was my impression that XNA sparked innovation quite a bit in the indie game development world. Hopefully MonoGame can fill some of the void this leaves.
- sergiotapia 14y agoI used to smirk at people who claimed Microsoft constantly did this but I now see the light. First silverlight, now this. Why should I invest in the Microsoft stack? I'm done. Microsoft is no longer a platform I will work on and I will recommend open source products and frameworks from now on. Can you imagine spending 5 years learning XNA and becomming a guru, only to have them yank the rug from under you? Oh you have experience in XNA? You might as well have experience in Visual Foxpro. F-U Microsoft - from thousands of XNA devs worldwide (including myself)
- seivan 14y agoAh man, I feel bad. I've yet to experience that to happen. Most tools I started to pickup when learning are still here, and new additions. I hope things get better for you.
- sheldor 14y agoMy experience too. I'm stuck with the .net stack for many years and none of the technologies I got familiar with became obsolete. That said, I'm starting to be skeptical on trusting them after all of these.
- 0x0 14y agoNot defending Microsoft, but the same thing has happened many other places: * Adobe Flex and Adobe Flash * Mac OS X Carbon * Symbian * JavaFX and Java Applets * etc.
- seivan 14y agoJust to shed some light on this. Carbon to Cocoa was a nice transition. Not as bad as how Microsoft has handled it. I got in when it was still supported, but obsolete.
- pekk 14y agoSeveral of these had a good long life before they went out to pasture. Not so of XNA.
- Legion 14y agoNobody is suggesting Microsoft is the only company that deprecates and drops development technologies. But Microsoft is a chronic, habitual offender. It's a point of routine at MS rather than an occasional occurrence.
- moolcool 14y agoWhen they're not innovating, it's a problem. When they're throwing things against the wall to see what sticks, it's a problem too. I feel like they really can't win here. Is XNA really that far off from other Microsoft platforms anyway?
- eropple 14y agoIt's not. You can transition to DirectX in a couple of weekends. You can transition to OpenGL (which I would call a better move) in a week or two. The principles are all the same, everywhere you go. The names change and the exact implementation details differ, but it's the same stuff with a different hat.
- Legion 14y ago> When they're not innovating, it's a problem. When they're throwing things against the wall to see what sticks, it's a problem too. I feel like they really can't win here. There's perhaps some truth to that, but they could handle things so much better. Some of these technologies should perhaps be in perpetual beta or something, until they decide they're going to support it long-term. The problem is that Microsoft flogs them as the blessed platform, puts out the rallying cry for all developers to come running and use this cool new thing, and then drops them like a bad habit.
- lucian1900 14y agoAt least some of that investment should be reusable with Mono/MonoGame/MonoTouch|Droid/Unity3d.
- gebe 14y agoLuckily that XNA experience transfers over to MonoGame and the general principles of basic game programming are quite universal. A lot of aspiring game developers have got their feet wet thanks to XNA.
- seivan 14y agoYeah, XNA was great, Microsoft handling it, less so.
- meaty 14y agoSame trouble here and I'm getting pissed off with it. We got fucked by Windows Workflow and Silverlight, both of which were canned. The former was rewritten completely but didn't support our use cases any more. The main thing for me is that I have to relearn every damn API every 6 months to keep up.
- dinkumthinkum 14y agoNot for nothing but Windows Workflow was always a go nowhere tech, to be honest. The best thing is to have a good foundation in fundamentals and don't get so bogged down in API. If a tech has an extremely complicated API and it is not doing something specialized like control a space shuttle then it might be best to look elsewhere. Anyway, I just feel like Windows Workflow was something only the most Microsoft infused government programming firm could love.
- roc 14y agoWorkflow is one of those great examples of Microsoft building and ditching platforms/technologies. They've gone through almost as many cycles there as they have with data access technologies.
- meaty 14y agoIt's actually pretty nice. We have some cool stuff deployed with it (long term service correlation, long running background processes, custom workflows for business processes), but you are right about it being complicated. We're in the financial sector so workflow and process management is king to us. The API is there for us to not have to do all the legwork. Do you know how complicated it is to produce a workflow engine and do you know how many companies have their own half broken workflow engines?
- bbatchelder 14y agoJust curious how you got fucked by Workflow Foundation? We use it in our app. We haven't moved to .NET 4.5 yet, so not sure if this some looming issue not on out radar, or perhaps you used it in a specific way no longer supported?
- jiggy2011 14y agoTo be fair you are not immune from this by using OS projects. I have made extensive use of projects in the past that have had active repos and mailing lists only to have them slowly turn into a ghost town because one of the major maintainers stopped working on it and nobody else stepped in.
- meaty 14y agoAt least you can fork it internally though and support it if need be. The same is not the case with something like XNA which is so tied into the OS that when they drop it, you're up shit creek.
- jiggy2011 14y agoTrue, thought it is important to be realistic about your ability in terms of time/skills to do so. For OSS I like for one of three things. Either "too big to fail" (i.e Linux , Rails). Interchangeability , i.e something built on top of an open protocol like an SMTP server. Or something with < ~10KLOC in language I am familiar enough with that I would feel comfortable folding the entire thing into the codebase as a whitebox.
- pretoriusB 14y ago>At least you can fork it internally though and support it if need be. That's almost as realistic as "the community could do a clean-house implementation of XNA" for large projects. That you wanted to use an project in your work, doesn't mean you could also maintain it when it's abandoned. You might not have the: interest, motivation, time, skills.
- cobrausn 14y agopretoriusB, you appear to be hellbanned. Not quite sure why - I don't see anything offensive in your comment history.
- jiggy2011 14y agoQuite a few of his comments have a slightly antagonistic tone but I don't see anything in his recent history that would obviously justify a hellban.
- adolfojp 14y agoI don't understand why people complain about Microsoft killing Silverlight because Silverlight wasn't killed by Microsoft, it was killed by a changing market. And it doesn't make sense for a company like Microsoft to continue to push a platform that nobody wants or uses. However, Microsoft didn't abandon the software developers who used Silverlight. The languages, techniques and tools that are used to work on Silverlight are the same languages, techniques, and tools that are used to create Windows 8 and Phone apps. If anything, Microsoft gave the developers of a doomed platform an easy transition path to a new one. But yes, it sucks about XNA. But MonoGame has you covered.
- mgkimsal 14y agoit was a catch-up attempt at flash in the first place - they were very late to the game. i know people will say this is hindsight, but... silverlight wasn't around until 2007, and by 2009, when MS started pushing it hard, it was pretty apparent that flash/richui toolkits were on the way out. silverlight shouldn't have been something they bothered with in the first place.
- twoodfin 14y agoI have thought for a while Microsoft would have been smart to latch on to Google's Native Client. .NET was something they did reluctantly to combat Java in the enterprise space: Their heart and soul has always been in native code (if you don't count the p-code in Office). And .NET has always produced native code out the back, anyway. NaCl in Internet Explorer and later in mobile devices would have let them leverage much of their existing code base and developer tools, all with an "industry standard" imprimatur from Google. And where it wasn't supported (i.e., Firefox), you ship a plugin, which is no worse than Silverlight.
- Gmo 14y agoI think the risk then would have been to have it branded by others as "New Active X" and all the bad publicity associated with such a moniker.
- 14y ago
- corresation 14y agoTechnology changes and Microsoft can't be tied down to wrong decisions (wrong relative to the new world, but perhaps right at the time). We get paid to know and leverage this stuff, so just adapt or...as the saying goes...die. Having said that, despite working in the Microsoft sphere for the bulk of my career, I've managed to sidestep these issues. XNA, Silverlight, XAML, WPF, Azure, even Winforms -- there have been a lot of solutions and technologies that were clearly of limited longevity or probability of success from the outset, so I moved in other directions.
- cloudsteam 14y agoAny hints that give you an idea that a new tech is destined to die quickly?
- artmageddon 14y agoIt's always a gamble and it depends on a lot of specifics. I thought XNA would've stuck around a little longer, especially given the new console that Microsoft is supposed to be releasing this year, I felt it would've been prudent for them to keep it around so that people can write the newest Xbox games right away. In the case of Silverlight, I remember thinking to myself about how I would wait on it to see how it fared given the saturation of Flash everywhere else, and see how widespread the adoption was going to be. If I decided to dedicate myself to learning Silverlight I'd be very disappointed.
- eropple 14y agoMy gut feeling is that Durango will be able to play Windows Store games, possibly with a recompile to a slightly different platform target. So I expect there will still be a pathway. There's still the expectation that people use C++/CX, which is terrible, but I think the "indie" path will be pretty well-formed.
- cgh 14y agoWell said. I came to the same conclusion back in 2000 after we worked with Microsoft on BizTalk (of all things, this should bring hoots of derision from a few readers). Luckily Linux was on the rise in the server market so I jumped ship to start writing Java and later Python and never looked back.
- aerique 14y agoThis has always been one of my primary reasons to avoid putting time in Microsoft technologies. Luckily with MS becoming increasingly more irrelevant over the years it is easier than ever to ignore them.
- gamblor956 14y agoI'm going to point out that managed game programming is not dead for the XBox/PC. Remember that XNA was a replacement for Managed DirectX, which was killed off shortly before MS introduced XNA. In other words, XNA is dying, but the C# and the managed game programming paradigm is not. It will be replaced by something, just not XNA.
- georgemcbay 14y agoThe thing increasingly forcing me away from Microsoft isn't the adoption of new frameworks -- I'm spry and can roll with the changes. What kills them for me is the constant change in frameworks plus little to no support for forward compatibility on existing systems (they used to be much better at this part of it, but have totally dropped the ball on it more recently). Typical modern Microsoft: "Okay guys, now we're doing everything in API-Y which is quite different than API-X. And API-Y apps don't run on Windows version I which 90% of the market is running, they only run on Windows version J and higher, which 4% of the market is running." Yeah, that's not cool, especially if you're doing this just about every time a new Windows version comes out.
- seivan 14y agoOnly portion of the C#/.NET/VS I was OK with. Even said so on my resume, now dead. It sucks, because it was actually pretty decent. This coming from a hardcore Cocoa lover. "Can you imagine spending 5 years learning XNA and becomming a guru, only to have them yank the rug from under you?" Maybe open source, the Web and JS is a better place to rely on, but I just love having a compiler.
- lukehorvat 14y agoI'm curious - what exactly do you not like about C#?
- seivan 14y agoI don't dislike C# or .NET, I dislike Windows. And yes, I am aware of Mono.
- kayoone 14y agoi dont really understand this. So that means that longterm, all game programming has to use just the DirectX API for the windows platform ? Can anyone explain which benefits XNA had over DirectX?
- sergiotapia 14y agoI made making games incredibly simple. If an idiot like myself could make a simple game on XNA, anybody could.
- speeder 14y agoWhen XNA was invented, I learned it, and then moved on quickly to other things. Why I learned it? Just in case someone offered me a XNA job... Why I moved quickly to other things? Well, because I expected that, and in fact I think it took TOO LONG to it happen, but it happened anyway...
- polskibus 14y agoBut why did it die?
- jiggy2011 14y agoSo if one were to write a small indie game targetted at say Windows 8 and didn't want to mess around with writing unmanaged C++ what is the MS recommended way for doing this? There are third party things like Unity3D but that looks like overkill for just making a pixel art game.
- eropple 14y agoAs near as I can tell, the answer is to use C++. Which I would have been pretty annoyed at not too long ago, but I've recently re-acquainted myself with it and am enjoying it a lot more than I ever did XNA (and my Github has a bunch of XNA stuff all over the place). I'm using it specifically for a pixel-art 2D game and while that first step is a big one, I've found myself getting remarkably comfortable with it in a very short period of time and I can actually say that I know what is going on in my code.
- jiggy2011 14y agoI wonder how many younger programmers (the sort of people who would have the most motivation to develop indie games) even know C++. It's not like it's a quick and easy language to learn either. Since we are now seeing 2d (and even 3d) games with good enough performance written in languages like JS & Java, forcing programmers to do low level memory wrangling to build a mario clone seems a little backwards. Without XNA I don't see a big reason to build a Windows only game.
- eropple 14y agoI don't see a reason to build a Windows-only game. That's why I don't. =) I have an OpenGL/OpenGL ES stack that deploys comfortably to Windows, OS X; eventually I'll expand it to iOS (easy), Android (somewhat tricky), and probably Linux (easy). I said the exact same thing as you are before getting back into native development. "Why should I manage memory myself? Ew!" It was one of the biggest reasons I avoided C++, and I say that knowing C (albeit having left it unused for about six or seven years). Eventually I bit the bullet and jumped back in, and to my utter surprise found it completely easy. C++ is boilerplatey on its best day, but most of the hard problems are solved problems. Like, if you want to treat it like Java or C# (which I've spent much, much more time with), fling boost::shared_ptrs around. If you don't, spend a couple seconds thinking about what you're doing. It really is a non-factor once you get into the swing of things, and while I'm a pretty competent programmer I only started writing real C++ about three months ago and I no longer spend any significant time thinking about it. C++ gives you sufficient advantages in terms of portability and performance that, if you're writing a game from scratch, you probably want to be using it. If you don't want to be writing C++, you probably want to be using Unity or another engine that bakes in the hard parts (with a corresponding loss of flexibility).
- elisee 14y agoXNA is dead but who cares, MonoGame is here, it supports many platforms and it's been getting much better lately (they just released 3.0 which brings 3D support). I'm shipping my own real-time cooperative game-making software (http://craftstud.io/ http://craftstud.io/) using XNA on Windows and MonoGame on Mac and although it was very rocky at first, after submitting a few patches/bug reports and with all the work happening, it's now in great shape. The Linux version of MonoGame still has a few nasty issues, especially with window-sizing but those are being worked on. Some of the core developers are now working on reimplementing the Content pipeline which is basically the spine of XNA and one of its big strength, so that MonoGame can be used without relying on XNA at all. It looks like it's well on tracks: http://www.youtube.com/watch?v=XvYOtWdMV2Q http://www.youtube.com/watch?v=XvYOtWdMV2Q
- jiggy2011 14y agoI don't see as much in the way of docs/tutorials/samples for monogame as much as I do for XNA. Are the two interchangeable enough that you can just straight up use XNA things?
- eropple 14y agoWhere they are feature-complete, yes, MonoGame should behave identically to XNA. There are landmines if you try to take any of the less-traveled paths, but it's the same in theory.
- gamblor956 14y agoMonoGame is interchangeable with XNA for 2d graphics. The current beta of MonoGame is mostly interchangeable with XNA for 3d graphics.
- cheapsteak 14y agoIn the follow-up to the blog referenced in OP >There’s more content in today’s email regarding XNA which I don’t care to share, thanks to a stern NDA reminder. (Ironically, when MS finally gives us what they should be saying to the public all along, I can’t share it.) Could someone more informed make a guess on whether that's good or bad news?
- Encosia 14y agoMy guess would be that they're bringing the store apps in Windows 8 to the Xbox in the near future.
- pixie_ 14y agoThis is a big win for Mono and Xamarin.
- dinkumthinkum 14y agoI didn't think it would be around this long to be honest. I'm not anti-.NET at all but I think Microsoft tried to push .NET in all sorts of places and turn it into the one true platform -- even though they seem to only rarely use it themselves.
- mythz 14y ago"The Windows tech hegemony is a graveyard. XNA. Silverlight. WPF. DirectX. Managed C++. C++/CLI. Managed DirectX." -- http://ventspace.wordpress.com/2013/01/30/directxxna-phase-out-continues/ http://ventspace.wordpress.com/2013/01/30/directxxna-phase-o...
- omellet 14y agoWe use C++/CLI here at work quite extensively, and it's still alive and being developed. Managed C++ is just an earlier version of the same thing.
- adolfojp 14y agoWPF is neither dead nor dying. It will cease to exist when it is either replaced by a newer UI toolkit or when the desktop is completely replaced by Metro. And neither one of those two things are very likely to happen in the near future. And Microsoft hasn't stopped developing WPF. .NET 4.5 gave WPF a few additions and improvements. If you want to create Windows desktop applications WPF is still one of your best options.
- JonoW 14y agoWPF, DirectX? No...
- S128K 14y agoNote the date
- savethejets 14y agoCould one infer that indie games for the next xbox console are dead as well?
- RyanMcGreal 14y agoThe MSDN Magazine Camp strikes again. http://www.joelonsoftware.com/articles/APIWar.html http://www.joelonsoftware.com/articles/APIWar.html
- muyuu 14y ago"The company has now further explained the situation to Polygon, assuring developers that DirectX development will continue" Same thing they said about Silverlight or XNA just within months of discontinuing them.
- smurph 14y agoWith MS creating a new framework for Windows 8 Apps, this makes me wonder if .NET will die soon as well. I don't think there's anything to worry about for the next year or so, but if it's 2014 and there's been no talk of .Net 5.0...