#1 Members - Reputation: 289
Posted 19 September 2012 - 07:16 AM
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
#3 Members - Reputation: 623
Posted 19 September 2012 - 08:44 AM
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).
#4 Members - Reputation: 225
Posted 19 September 2012 - 09:05 AM
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 Members - Reputation: 623
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.
#6 Members - Reputation: 289
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 Members - Reputation: 196
Posted 19 September 2012 - 09:48 AM
#8 Members - Reputation: 289
Posted 19 September 2012 - 10:04 AM
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 Members - Reputation: 154
Posted 19 September 2012 - 10:34 AM
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.
#12 Members - Reputation: 1050
Posted 19 September 2012 - 11:25 AM
Edited by 6677, 19 September 2012 - 11:44 AM.
#14 Members - Reputation: 603
Posted 19 September 2012 - 02:00 PM
I personally feel they will be bundling it with the next version of directx, basicaly a metro version of xna.
#15 Moderators - Reputation: 3967
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 Members - Reputation: 154
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 Members - Reputation: 518
Posted 19 September 2012 - 07:00 PM
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.
#19 Members - Reputation: 1413
Posted 19 September 2012 - 09:05 PM
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
#20 Members - Reputation: 1006
Posted 19 September 2012 - 09:20 PM






