Jump to content

  • Log In with Google      Sign In   
  • Create Account

Is XNA dying and MS forcing to C++?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
124 replies to this topic

#1 Sooker   Members   -  Reputation: 299

Like
1Likes
Like

Posted 19 September 2012 - 07:16 AM

Hi GameDevs,
I started programming a year ago with Pascal (Lazarus) and moved then to C# to make some Windows Phone 7 apps.
I made some small apps for companys, but now that I got some experience I want to start coding my first small 2D games.
After some games I will try myself on a paid game-app.
With this as my clear and not to high goals I searched for the best Framework to choose and remembered XNA. It´s relativly easy to use and C# is my language of choice.
But how is the future of XNA? MS removed it from VS2012 and that makes me curious. I wouldn´t call it dead or nearly dead, but I don´t want to learn a "dead" Framework.

It seems like I´m forced to C++ and DirectX or other Engines /C++ and DX in case of apps)

Is XNA still worth learning?
Or do I have to switch to C++?
What other choices do I have?

Thanks.

-Sooker

Sponsor:

#2 Inuyashakagome16   Members   -  Reputation: 835

Like
0Likes
Like

Posted 19 September 2012 - 08:26 AM

As far as the XNA question goes, I wanna know this as well.

Do you have to switch to C++? I wouldn't say so. I mean, MC is in Java so you could go to Java. You could even go to C# still and find a different library besides XNA.

#3 CC Ricers   Members   -  Reputation: 738

Like
0Likes
Like

Posted 19 September 2012 - 08:44 AM

As long as people can freely distribute XNA games on PC, I do not think it will go away soon.

Also, you do not need to go with C++ to learn DirectX. SlimDX and SharpDX are well supported frameworks (and SharpDX let you make Metro-compatible apps for Windows 8).
My development blog: Electronic Meteor

#4 xexuxjy   Members   -  Reputation: 647

Like
4Likes
Like

Posted 19 September 2012 - 09:05 AM

Microsoft do seem to be trying to kill it off, they've recently split the creators section of their site into phone/indie games sections and in the process broken nearly every single google link to the data there. The general impression is that they're just trying to make it fade away without making any real announcments on it. All their current efforst seem to be on Windows Phone and Tablet work, and while XNA is valid on the phone for now I really get the impression they'll start pushing more forcibly to c++.
Having saiid all that XNA is still a pretty good framework and the with some of the replacements mentioned below you'll be able to get a lot of stuff done with it very easily.

#5 CC Ricers   Members   -  Reputation: 738

Like
1Likes
Like

Posted 19 September 2012 - 09:20 AM

Microsoft do seem to be trying to kill it off, they've recently split the creators section of their site into phone/indie games sections and in the process broken nearly every single google link to the data there.


That one is plainly just an oversight on Microsoft when they updated the sub-domains for each section, forgetting to handle re-directs properly and SEO integrity possibly going down the tubes as a result. You can still open the Google links, by replacing "forums" with "xboxforums" (if you're looking for Indie games topics). It's still a bit of a pain to do each time, though.
My development blog: Electronic Meteor

#6 Sooker   Members   -  Reputation: 299

Like
0Likes
Like

Posted 19 September 2012 - 09:41 AM

Do you have to switch to C++? I wouldn't say so. I mean, MC is in Java so you could go to Java. You could even go to C# still and find a different library besides XNA.


C++ seems to be a better option if I want to develop for Windows Phone.

Also, you do not need to go with C++ to learn DirectX. SlimDX and SharpDX are well supported frameworks (and SharpDX let you make Metro-compatible apps for Windows 8).


The first impressions by browsing their site are not bad. But the community seems to be small. This isn´t really good if you just started with game frameworks in my opinion. But I will keep it in mind.

they've recently split the creators section of their site into phone/indie games sections


Its a bit confusing. I liked the old style way more. The WP7 resources for your first app where much better imo.

-Sooker

#7 game of thought   Members   -  Reputation: 213

Like
0Likes
Like

Posted 19 September 2012 - 09:48 AM

i think they may be killing it. All you have to do is go on Xbox Live Indie Games section and you will find only maybe 5% of the games are worth the cash, and about 60% of the games last about 15 minutes. And people in the community (my friends) hate them because of this. I think it maybe that Microsoft is trying to forget it. I cannot say anything about windows phone 7 though. As for learning C++, i am quite new to programming so i can't really say.

#8 Sooker   Members   -  Reputation: 299

Like
0Likes
Like

Posted 19 September 2012 - 10:04 AM

I never thought they would kill it without delivering something new to compensate it.
But now im curious about getting into C++ or staying at C#
This rerolls/negates the old opionion about getting first into C# and XNA and maybe later to C++

Going from C# to C++ with DirectX could be to big as next step?
SlimDX/SharpDX seems to be the only way to go in my situation

#9 Ultrahead   Members   -  Reputation: 210

Like
1Likes
Like

Posted 19 September 2012 - 10:34 AM

There's a great deal of novelty around C++11 even inside MSFT. Plus XNA was never updated to support DX11 (even though it was ported to WP7 through DX10.1). This is the reason why C++ is strongly recommended these days by MSFT.

For what I can uderstand from what I see/read, XNA will still be there but tehre will be no more updates nor support to it. So, you will be still able to use it for the creation of games for supported platforms (including Win8 Desktop and WP8). Now, if you still want to use XNA-like coding, then you could then use Monogame or ANX (both offering support for Win8 on ARM and WP8, through SharpDX).

Now, if you prefer to directly use DirectX APIs but want to stick with C#, then my suggestion is SharpDX (I'm not sure whether SlimDX is been developed any longer), which is a 1-to-1 wrapper of DX, supporting versions 11.1, 11, 10.1 and 9c.

#10 Sooker   Members   -  Reputation: 299

Like
1Likes
Like

Posted 19 September 2012 - 10:44 AM

Thanks for all the answers.
I will go to C++ and take the SFML Route.
Learning something new is never bad ;)
Maybe i will give SharpDX or Unity a try, but C++ seems to be the way to go.

-Sooker

#11 ddn3   Members   -  Reputation: 1323

Like
0Likes
Like

Posted 19 September 2012 - 11:09 AM

This is really interesting, I was going to look into XNA again, but it seems Microsoft is deprecating it. Maybe they are moving all their focus to Windows Phone?

#12 6677   Members   -  Reputation: 1058

Like
1Likes
Like

Posted 19 September 2012 - 11:25 AM

AN alternative to XNA is monogame. Monogame is primarily intended to run on mono instead of .net (but for windows games it will run fine on .net) otherwise it is for all intents and purposes an OpenGL clone of XNA. If you haven't heard of mono just consider it to be .net but cross platform and open source. Monogame apps compiled to mono specifically (.net on windows can actually run mono applications already) will run on mac, windows and linux. They can also run on monodroid and monotouch (mono for android and iOS respectively) if you can afford the $400 each license (monotouch/droid are not open source or free). Monogame mobile games codewise are very much like their WP7 XNA counterparts and it is easy to port back and forth. Same goes for windows XNA games and desktop monogame apps. Bastion is an example of a game originally made using XNA but has since been ported to monogame. PS Vita support is also in the works and although its not officially supported mono can run on BSD and monogame should be able to aswell.

Edited by 6677, 19 September 2012 - 11:44 AM.


#13 Sooker   Members   -  Reputation: 299

Like
0Likes
Like

Posted 19 September 2012 - 11:27 AM

Windows Phone 7 used XNA for games.
Maybe they wanted just 1 way for making games (DirectX), like their Shared-Core. One for everything?

#14 kd7tck   Members   -  Reputation: 719

Like
0Likes
Like

Posted 19 September 2012 - 02:00 PM

I have heard rumors from the grapevine, some people I know who work at microsoft are saying there is a replacement for xna comming.

I personally feel they will be bundling it with the next version of directx, basicaly a metro version of xna.

#15 phantom   Moderators   -  Reputation: 7563

Like
4Likes
Like

Posted 19 September 2012 - 03:14 PM

This is the reason why C++ is strongly recommended these days by MSFT.


It is?

Huh... news to me; they have done a lot of work to improve their C++ support and include it in the WinRT work for Win8 to make it seemless but no where have I seen 'we recommend C++ over any other .Net language' - if anything everything I've seen has been along the lines of 'use whatever you are happy with using - the support is the same across the board'. If anything MS have been working to bring C++ development up to the .Net standard tools, library and API wise so that you can develop your "metro" apps with any language pretty seemlessly.

On XNA;
XNA's trouble was that it was really mired in DX9 style development with no real path forward to DX11 platforms and features so it 'going way' should be no surprise to anyone.

Nor is the 'death of XNA' a good reason to goto C++ - you'll quickly realise how much you've lost, support library wise, by doing that.

Note: I'm not saying 'dont learn c++' but as a reason that is a pretty poor one.

#16 Ultrahead   Members   -  Reputation: 210

Like
0Likes
Like

Posted 19 September 2012 - 06:09 PM

I have heard rumors from the grapevine, some people I know who work at microsoft are saying there is a replacement for xna comming.


I've heard that some of the games that Msft Game Studios have created for Win8 marketplace have been developed with SharpDX, so maybe the replacement is being built upon it.

Edited by Ultrahead, 19 September 2012 - 06:10 PM.


#17 xoofx   Members   -  Reputation: 888

Like
7Likes
Like

Posted 19 September 2012 - 07:00 PM

The main reason why MSFT was encouraging developer to use C++ on Win8 to make games, is simply that they didn't have any other alternative.

All Win8 games provided in their SDK samples were developed in C++ and this was the official supported way to go with Win8 game development. I say 'was', because SharpDX filled the gap quite quickly last year, bringing the new DirectX11.1 API accessible to C# and support for the new Win8 "Modern App" platform restrictions as well. In the mean time, lots of companies that were developing games in XNA were absolutely against going back to C++ to publish simple games, and these companies have been using SharpDX quite successfully to develop Win8 Modern App. As Pete mention, several legacy popular games - minesweep...etc.- from Microsoft Game Studios were developed by a partner called 'Arkadium' which uses SharpDX. When I talked to Arkadium folks several months ago, they told me that it was quite difficult for them at the beginning to bring MSFT to accept that games could be developed in C# with SharpDX. In MSFT mind, only C++ was viable and supported, but Arkadium was able to produce their games, and MSFT got finally convinced that C# games are possible on Win8. They even talked about SharpDX as an alternative API at GDC last March.

So about your orginal question @Sooker, you are not forced to go to C++ to develop DirectX11.1 games, but as I have said many times, an API like SharpDX is low level (though there is a Toolkit on the way) and requires as much as native knowledge about the DirectX C++ API as you would go with C++, but the benefits are that you can leverage on the .NET ecosystem and C# languages to make things a lot more friendly to use than pure C++ (things like C# async/await are blowing away any kind of non-fluent game scripting for example).

Concerning the rumor of a XNA revival, if MSFT is working on a revamp of their graphics API, It will certainly not be XNA. The only work that is currently relevant would be to repackage the whole DirectX API into a WinRT like api, as they want to get rid of any legacy Win32/COM API. This revamp under WinRT is not entirely simple, as they would like probably to keep the same graphics level API for the next gen XBOX, and WinRT is currently not really designed to support optimized scenarios used on consoles (for example, the Direct3D9 API in XBOX 360 is not a pure COM API but a set of inlineable methods that are directly talking to the GPU command buffers, without going through the layers of Windows desktop WDDM/GPU-Scheduler).

Edited by xoofx, 19 September 2012 - 07:10 PM.


#18 Ultrahead   Members   -  Reputation: 210

Like
0Likes
Like

Posted 19 September 2012 - 08:12 PM

@xoofx: thanks a lot for the explanation! (edit: btw, for those who still don't know him, he's the dev of SharpDX)

Edited by Ultrahead, 19 September 2012 - 08:12 PM.


#19 3Ddreamer   Crossbones+   -  Reputation: 3169

Like
0Likes
Like

Posted 19 September 2012 - 09:05 PM

Hi,

I feel that the many C# programmers combined with the programmer friendly nature of C# is a mass of energy which will demand that many games be made from the language, regardless of corporate executive desires. The C++ game development will also stay strong because so many like it.

The .NET framework power and flexibility is also hard to beat. This will likely grow in popularity, in my opinion.

The scripting language used for game creation when two languages are used in the game system as a whole is the preference of the game developer and all major ones will be supported for a long time, including XNA.

Given these things, chose what you want and rest confidently it them.


Clinton

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#20 jefferytitan   Crossbones+   -  Reputation: 2242

Like
1Likes
Like

Posted 19 September 2012 - 09:20 PM

I have to say that as a primarily C# developer I feel that we're getting a raw deal lately, e.g. XNA, Silverlight, WPF. I wonder whether it's better to focus on 3rd party game engines (e.g. Unity) rather than specific Windows .NET APIs because the people who produce those tools have the motivation to keep the transition smooth whereas Microsoft obviously does not.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS