XNA's Future

Started by
23 comments, last by Xanather 11 years, 6 months ago

[quote name='Tasaq' timestamp='1351796216' post='4996268']
In my case I used XNA as a 'toy' to gain some knowledge, and then I moved to a 'naked' API. I chose openGL. I really don't care right now what will happen to XNA, but if something new appears I will definitely check it out. I would suggest as people above, if you want to stay with C# go SharpDX, MonoGames or SlimDX.


I'm currently in this position, using XNA to gain sufficient knowledge before moving on to something else.

I wanted to ask about Monogame... its libraries have same structure as XNA? Meaning that I can freely convert my projects to Monogame once content pipeline arrives without modifying too much to become compatible?
[/quote]
That is correct. As long as your game does not go down and access any of the windows OS functions then it should be easily portable. I think in the new MonoGame 3.0 99% of the XNA framework has been reconstructed. I ported a older game I made to Mac OS X with MonoGame 2.5 and it worked well smile.png.
Advertisement
Why use a API that is 30% of an abandoned API, and missing the only feature that gave it a leg up in the first place? Might as well use bindings for a mature framework like SDL or something similar. The allure of XNA was the Zune/360/Windows compatibility. Any framework can set video modes, and draw graphics.

Actually Mike, XNA 4 did remove XBox 360 features, such as point sprites. It was bullshit reasoning to do so, because the 360 hardware was static. But they abandoned that, because they were busy looking forward to their next half baked idea, WP7.

but as most of the game development world can't or won't move away from a core of C++, anyone who really wants to get into the industry will need to learn C++ and DirectX/OpenGL eventually anyway[/quote] Engine and system level development is in C++. 'Most' of the game world programming game logic in scripting languages for their engines or doing other tasks. There are many tasks in game development.
My opinion: XNA is a great API, very well-designed (especially XNA 4.0), and apparently very popular. XNA 4.0 did mess some things up by removing some functionality (though I would argue the lack of point sprites isn't a big deal). But it also fixed a lot of the design flaws in the framework, and it's good at making you fall into the pit of success. It caught on for a reason (other than because it was cross-platform).

But yes, it pretty much appears completely abandoned by MS. I used to work at MS too, and I agree with what saintgimp said.

I haven't yet used monogame, but I would hope it is the future of XNA. People have invested so much "energy" in XNA, it's got to go somewhere.

Actually Mike, XNA 4 did remove XBox 360 features, such as point sprites. It was bullshit reasoning to do so, because the 360 hardware was static. But they abandoned that, because they were busy looking forward to their next half baked idea, WP7.


I remember when I was first told about XNA, one of the developers told me that in all of their profiling just drawing quads was faster than using point sprites on the 360. Not that I'm defending the removal of any features in the name of cross-platform support. PC was the platform that *really* got the shaft in when it came to cross-platform stuff, between the eDRAM emulation, lack of proper depth buffer support, and forcing floating-point textures to use point filtering just because the 360 didn't support it. It was also pretty weird that HiDef essentially required DX10-capable hardware, but couldn't support any DX10-level features.

Engine and system level development is in C++. 'Most' of the game world programming game logic in scripting languages for their engines or doing other tasks. There are many tasks in game development.
I forgot about point sprites. But they could easily be replicated with quads (even improved upon) so it's hard to argue that anything was lost through their removal. And I saw their removal as one of many steps preparatory to moving the code base to DX10/11 (even though that ultimately hasn't happened). I do agree with PC being the least-loved platform for XNA. Anyway, I quoted that snippet because yeah I know there are other aspects of game development. But if you are planning to work in the programming aspects at all, you need only look through the job postings to see that (for the most part) people without C++ knowledge need not apply (even if you ultimately end up in a sub-discipline where you never end up writing any C++). Indeed, things like Lua interpreters written in C++ are some of the many things in the "libraries, tool chains" groups that made it impossible for most shops to consider going to C#. The expense of writing a Lua interpreter in C# likely wouldn't be too high as a stand-alone task, but add in physics, content ingestion, other ad-hoc interpreters and parsers, and everything else, (not to mention 3rd party middleware that you have little to no control over) and the costs can quickly become prohibitive. It's the same reason that people like my father are paid well to write new COBOL code (and maintain and update existing code); the existing millions upon millions of lines of COBOL code that his company has represent an astronomical sum of time and money when looked at from a replacement cost point of view but a relatively minor sum when looked at from a maintenance and update cost point of view. The same is true with C++ and game development, and that was my point.
I'm guessing by your wall of text posts, that you must be the infamous bob taco? :)

[quote name='Aurioch' timestamp='1351814060' post='4996366']
[quote name='Tasaq' timestamp='1351796216' post='4996268']
In my case I used XNA as a 'toy' to gain some knowledge, and then I moved to a 'naked' API. I chose openGL. I really don't care right now what will happen to XNA, but if something new appears I will definitely check it out. I would suggest as people above, if you want to stay with C# go SharpDX, MonoGames or SlimDX.


I'm currently in this position, using XNA to gain sufficient knowledge before moving on to something else.

I wanted to ask about Monogame... its libraries have same structure as XNA? Meaning that I can freely convert my projects to Monogame once content pipeline arrives without modifying too much to become compatible?
[/quote]
That is correct. As long as your game does not go down and access any of the windows OS functions then it should be easily portable. I think in the new MonoGame 3.0 99% of the XNA framework has been reconstructed. I ported a older game I made to Mac OS X with MonoGame 2.5 and it worked well smile.png.
[/quote]

Thanks. I'll then stick with XNA for few years until I gain sufficient knowledge about everything I need... and then switch to Monogame, and after Monogame to C++ and DirectX/OpenGL.

I'm just saddened XNA is coming to the end like this... it was API that enabled me to enter this "world" without having to study for multiple years in addition to faculty studies and studies for what I currently know. And, it was one of (rare?) Microsoft products that actually worked, regardless of background behind it XD
Thanks. I'll then stick with XNA for few years until I gain sufficient knowledge about everything I need... and then switch to Monogame, and after Monogame to C++ and DirectX/OpenGL.[/quote]

Seriously ? A few years. I gave up on XNA last year and switched to SlimDX which kicks XNA all around the park. Don't waste any more time on XNA. It hasn't changed for 6 years now. Direct X has moved on .. 10, 11, 11.1. You can still keep learning, but learn in a more recent environment, where it's actually going to be useful. If you want to learn C++, then you absolutely should start now, coz it hasn't got the same curves that you're used to with C#. And also remember that C++ is more popular with the AAA titles, but it's not the same equation for a whole range of independant games that just don't need to squeeze out that much performance. That's why Unity is thriving. Managed code is good for independant games, I would even say preferable. If you're not sure, just take a look at something else. It took me about two weeks before I realized that SlimDX was just like XNA but better. Once you get over the hurdle of learning something new and it's particular difficulties, you start having fun with it.

You don't want to be still using XNA in 2014, from where I'm standing now, 11 months or so into using SlimDX that sounds like some kind of personal hell. Set yourself free buddy, you don't have to be tied to that ball and chain.
Thanks for Your advice, Gavin.

I'll consider switching earlier, but I'm not even comfortable with XNA - not in the actual game logic (for now I'm capable of replicating mechanics of existing games fairly good) but in the technical field (like InputHandler), not to mention I'm far from going into 3D. I'm not sure if I'll be able, considering I have faculty studies (which don't have connections to gamedev at all, at least for now), to invest much time into learning about new API in depth. It took me some time to learn (with understanding ofc) just the pure basics with XNA. OK, crappy argument which will be ripped apart in 1 sentence but I hope you understand what I wanted to say XD

I'm currently working on Battle City clone (1985 Namco game for NES) - I finished prototype (with one bug I'm too lazy to remove) and now I'm redoing it from scratch in order to implement Game State machine and proper Input handler. And ofc, I'm stuck for now - only material to study from is Microsoft's GSM example :/

Anyway, I downloaded Unity and will check it out. Maybe it's easier than I'm imagining.
@Aurioch - That looks like a good project. If you've already got a game mostly written in XNA, then you could keep working on it to finish it certainly. But there is also Monogame which is based upon XNA, so that would be your best bet if you wanted to easily plug into a new framework without too much of a learning curve. It has active development and quite a following. Then you can keep working with the language that you have learnt so far. See what you think of Unity and then look at Monogame. I think they both look really interesting. Just give yourself some time to get used to them, and don't be put off by difficulties.

I love re-writing code from sratch, it always turns out a lot better. Maybe that's because I'm not such a great coder in the first place ;) And don't forget to tackle that bug this time round.

This topic is closed to new replies.

Advertisement