5 Replies - 2492 Views - Last Post: 30 January 2014 - 08:09 AM

#1 WhiteWolf93  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 08-December 13

Question about running games made with XNA and development

Posted 08 December 2013 - 06:51 PM

Hello, I was these days worried about how far the XNA can work. I know that XNA is easy for begginers and that's why I started some months ago to try it out, but I saw many problems with games made with XNA.

For example, when I sent my demo to some people, only 2 of the 10 could run it, with .net and xna installed, and most of them have a good computer.

I'm a bit confused on how to work with this issue. I want to release my game for most people but if only a part of them can run it... So I'm here asking to you guys, that have much more experience than me with XNA.

Should I continue developing my game in XNA? Is it my game or xna? Should I move to another engine?

I'm using XNA 4.0 and VS 2010 for Windows Phone.

Thanks a lot.

Is This A Good Question/Topic? 0
  • +

Replies To: Question about running games made with XNA and development

#2 mostyfriedman  Icon User is offline

  • The Algorithmi
  • member icon

Reputation: 727
  • View blog
  • Posts: 4,473
  • Joined: 24-October 08

Re: Question about running games made with XNA and development

Posted 09 December 2013 - 05:24 AM

You should gather information from people who couldn't run your game first. What kind of errors did they get?, maybe they have older XNA versions?, maybe they were missing some libraries in their installation?. There's really no way to tell what was wrong unless you find out what kind of problems they were facing with your game.
Was This Post Helpful? 1
  • +
  • -

#3 BBeck  Icon User is offline

  • Here to help.
  • member icon


Reputation: 698
  • View blog
  • Posts: 1,631
  • Joined: 24-April 12

Re: Question about running games made with XNA and development

Posted 09 December 2013 - 07:47 AM

I think mostyfriedman has you on the right trail with working to figure out why they can't run your code. I haven't really tried to distribute any of my XNA code. I mostly see XNA as a learning platform, rather than a platform for producing games to sell or whatnot.

I think that if someone only wants to do 2D games, then maybe its time to branch out and find a replacement for XNA. 2D games are not that much more difficult to do in DirectX 9 than they are in XNA. There are a ton of choices out there for producing 2D games. And having a bit of XNA under your belt should help you get started no matter what direction you choose.

I should point out that DirectX 10 and 11 use HLSL even for the most simple 2D games and you probably want to have pretty much mastered, or at least understood, 3D game programming in XNA before trying 2D game programming in DX10 or DX11. They took out all the easy sprite based stuff that used to be in DX9 and made DX much more difficult to learn in the process.

And that's why I think XNA is the place to be if you're trying to up your skills to eventually do DirectX 11 or 3D game programming. I'm currently not aware of another platform that helps you learn 3D game programming as well as XNA does. It leads very nicely into DirectX 9 and might even allow you to jump straight into DX11. But personally, I'm about to go study DX9 for awhile since that seems to be the best way to approach DX11. The primary difference between the two is that DX11 requires HLSL for everything whereas DX9 had HLSL optional. So, with DX9 you can get into DX without having to immediately jump into HLSL. And 3D programming in DX is hard enough to learn without the additional hurdle of HLSL. I know Game Institute still to this very day teaches DX9 for that very reason. I don't think they even offer a DX11 class. But the big difference between the two is HLSL, which is kind of a subject unto itself and requires a pretty solid knowledge of vectors and matrices to do simple Blinn and Phong shading (post process shaders are easier and a good way to get started with HLSL without all the Linear Algebra).

Anyway, I'm not sure there really is a perfect solution for us XNA guys. I think XNA "was" the perfect solution for people who mainly wanted to do Windows games or learn 3D programming. But it looks like "the party's over" with XNA. For learning 3D, I would still suck all of the life you can out of XNA while it's still available and you can go through all the lessons in the XNA 3.0/3.1 books. There's some really good stuff in those XNA 3 books that you will use even in C++/DX11; it gets to the real core of what's going on in 3D game programming, without being quite as complicated as jumping straight into DX. When I started playing around with DX11, I found that I mostly understood things because of the knowledge I had gained from XNA.

If you go to something else, I would strongly recommend finding something where there are a ton of lessons available.

Speaking of that, I'm currently investigating Unity. I think it's a big step backwards from XNA, but I'm trying to get a deep understanding of it. I want to see how it might be used as a prototyping tool to develop an idea quickly and also how it might help beginners get started. Now for distribution, I think you still have some pretty big hurdles since you have to spend a ton of money to get the Pro version and then pay even more to support additional platforms. I'm not sure if you can get any sort of free version to do Android, for instance (in fact, it looks to me like it costs $3,000 to get it to work on Android at all).

So far, I'm seeing XNA like "DX9 with training wheels on" whereas I see Unity more like "a tricycle compared to DX9's bicycle." Unity is very different from XNA and largely a step backwards. But I think it still may be useful for some things and especially for getting started learning 3D game programming. But it's so different that I'm not sure it gets you even half way there. Seems like XNA is much closer to DX and that you really still need to learn XNA after Unity to get into DX.

After I brush up on Unity for awhile, I think I'm going to try and learn a few more things on XNA and get to working with DX9 and see if I can pretty much master that. I have a lot of lessons available to me on DX9 and very few for DX11. And I still think learning DX is the best path to learning OpenGL. There just seems to be a lot more books and lessons available for DX and OpenGL is largely the same thing.

This post has been edited by BBeck: 09 December 2013 - 08:19 AM

Was This Post Helpful? 0
  • +
  • -

#4 garryg68  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 7
  • Joined: 30-December 13

Re: Question about running games made with XNA and development

Posted 31 December 2013 - 08:03 AM

As a programming hobbyist/learning tool, I think reports of XNA’s demise have been greatly exaggerated. Ok M$ are no longer supporting it. But if what’s there works then why would that matter for a learning or prototyping environment?
Personally I think XNA is still a good tool for entry-level indie games programming, especially 3D games. I’ve used many development environments that are no longer supported over the years, both as a hobby and as part of my day-job.
There nothing to say you can’t prototype in DarkBasic if you want to, which is also still a good games programming platform to learn on. People will always tell you to use whatever’s in vogue, but things come and go out of vogue all the time. I still sometimes program in assemble language using notepad for goodness sake. Really it’s up to you.
If you write a good game using XNA then you have written a good game, at that point the means used to make that game is largely irrelevant. By the way thers nothing to stop you using the XNA libraries in conjunction with any other libraries you wish… Direct X for making primitives for example.
As has been said, if you use Direct X I would start with DX9. As well as being the easiest to make 2D games with, it probably also still has the widest user base.
Was This Post Helpful? 1
  • +
  • -

#5 jmccartan  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 6
  • Joined: 22-January 14

Re: Question about running games made with XNA and development

Posted 30 January 2014 - 05:22 AM

Even if XNA is a "Dead" framework by Microsoft that doesn't mean that everyone is gonna suddenly stop using it or learning it. I just started learning C#, XNA and a bit of MonoGame in September after a training course for web development in .NET. Before that I had only used TrueBasic (A fun language :D )

Of course, If you really are wanting to move on from XNA you could try OpenGL or Direct X. Or move to C++ as that is vastly more powerful. I suggest staying with XNA though as it is very easy to pick up and teaches the basics of programming methods that can help you with any language or project you choose to eventually move on to :D

As for users not being able to run your game, always try and get a crash report from the person. A good practice to do is to bundle your game with the necessary installers (C#, XNA etc...) so if there is a problem they can just run the necessary installers.
Was This Post Helpful? 0
  • +
  • -

#6 lordofduct  Icon User is offline

  • I'm a cheeseburger
  • member icon


Reputation: 2539
  • View blog
  • Posts: 4,641
  • Joined: 24-September 10

Re: Question about running games made with XNA and development

Posted 30 January 2014 - 08:09 AM

OP - did you distribute your game with an installer that checked for all required libraries? Does the installer check if the latest .Net and Xna are even installed?

This is a problem with nearly EVERY piece of software one distributes. You have to make sure your installer installs EVERYTHING necessary. That's what installers are... your program itself probably doesn't need anything complicated to run (you'd know if it does... say you put a bunch of entries in the registry, or modified the system folder), it probably can run just by dropping it in a folder and clicking on it. BUT, if your program needs other libraries to run (like an XNA game), you need to lay down those libraries as well in the installer, and that's what installers are for.

This goes for DirectX games as well. If your game is DirectX, the installer needs to see if the right version of DirectX is installed.

This goes for regular old software that just does work. For instance for work I write .Net business software, our installer needs to check which version of .Net is running, and lay down several 3rd party libraries.

Software ain't magic.



Also, XNA may be dead, but Monogame is NOT dead. It is being actively developed, is cross-platform, and is used by many people out there.
Was This Post Helpful? 1
  • +
  • -

Page 1 of 1