XNA and PC Gaming - When is MS going to address the problems?

Last post 03-12-2008, 11:53 AM by The ZMan. 81 replies.
Page 3 of 4 (82 items)   < Previous 1 2 3 4 Next >
Sort Posts: Previous Next
  •  09-24-2007, 11:22 AM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    If you use XNA then you use DX - its one of the documented requirements for XNA...

    All of these things are possible - its absolutely a solvable problem but its too hard for most people and its something that every single use of XNA GS (and managed DirectX back in the day) wants to do so it makes sense for MS to make it as easy as possible.



    The ZBuffer - News and information for XNA and Managed DirectX
  •  09-24-2007, 6:24 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    Be nice if Microsoft would just start bundling the latest version of the .Net framework and DirectX together. It would be a good solution I think. Then we can just simply include the XNA framework, install it and inform the user to "ensure you have installed the latest Windows Updates available from Microsoft.".


    Airhead Gaming: A new game development community


    Airhead Gaming Blog

  •  09-24-2007, 6:49 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    Scionwest:

    Be nice if Microsoft would just start bundling the latest version of the .Net framework and DirectX together. It would be a good solution I think. Then we can just simply include the XNA framework, install it and inform the user to "ensure you have installed the latest Windows Updates available from Microsoft.".

    Not a good idea. They're two totally separate technologies. You don't bundle them together just so we can have it easier. A better solution would be to have some kind of script that can download and install the necessary pieces silently as part of a game installation. All the player needs to see if the game installing, not the pieces. It would be great to see Windows Update allow this though.


    Jim Perry
    Here's what I'm up to.
  •  10-01-2007, 10:27 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    Hi, I was a little bored over the weekend, and took a shot at this. File available here: http://xnamatrix.com/xnareq.php

    First of all, I needed to check whether or not people had .NET 2.0 installed. I search around and came up with this unique directory: C:\Windows\Microsoft.NET\Framework\v2.0.50727\

    So I used NSIS to create an installer which checks for this directory's existence. If the directory does not exist, I use wget to download the file, and NSIS to subsequently execute it. Then, I combine it with my previous xna requirements checker app that I wrote a few months ago (http://xnamatrix.com/xnareq.php) to check for DX/XNA.

    First, I check the graphics card for pixel shader 1.1 or above. I also give a warning if it's below 2.0 (since a lot of xna stuff requires 2.0), but it will return as a success anyway.

    For the DX portion, I queried a webpage (http://www.xnamatrix.com/xnari/dx_required.txt) for a list that I can update at any time, such as when a new version is released. Similarly, I did the XNA portion using another web file (http://www.xnamatrix.com/xnari/xna_required.txt), and I also did a check for version number of the assemblies. In this case, it's checking for 1.1 and above (i'm assuming that 1.1 means 1.0 refresh, since my current assemblies are at 1.1.x).

    Once I determine which technologies I need to update, I download the redistributables and execute and install them. Finally, everything is locally stored on the client's computer until he or she uninstalls my program (XNARI). The client can always re-run my program to check for any new updates.

    The final size of this program is about 400k (the bulk of which is wget.exe), and it will only download what is necessary to install all the prereqs.

    Please try it out at let me know if anything breaks. Also, I'm wondering about the legalities of all this. I included the xna license agreement in my installer, but i'm a coder, not a lawyer, so i'm not sure what i should do. And if anybody has any better methods/ideas, i'd love to hear them.

    http://xnamatrix.com
  •  10-01-2007, 10:33 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    Looks good for DirectX and XNA, but checking for that folder for .NET is probably going to break. That folder appears to use a version for the name so as soon as they update it, there's a chance the folder will change names. Beyond that, are you checking in the drive where Windows is installed? A user may have installed Windows into a different drive than C (or installed .NET into another drive if that's possible). But otherwise it seems to work.

    Everything seems legal enough. You're just looking for some basic things and then bringing down the redistributables from the internet. But, like you, I'm no lawyer and my advice is worth what you paid for it.


    Nick Gravelyn -- Microsoft XNA MVP
    XNA Wiki | Zune Games
  •  10-01-2007, 10:37 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    Actually, if you go back a directory (C:\Windows\Microsoft.NET\Framework), you'll see that all of the previous versions are in there. For example, i have v1.0.3705, v1.1.4322, v2.0.50727, and v3.0 all there. I guess if needed to be safer, i can change that into a web-based updatable string too. As for the drive, I use whichever drive they installed my program into. So as long as they're executing the file where they are going to run xna, then it should be fine.

    http://xnamatrix.com
  •  10-01-2007, 10:53 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    As long as you do not ship or download files from inside the .Net, DirectX, or XNA redistributables (i.e. you only use the CAB files) then you are fine from a EULA point of view. I don't even think you need to include the license.

    However the real issue here is that you are using detection methods that Microsoft do not document and relying on files on a web server which may not exist at some point in the future or may not have 100% uptime etc. Also what happens if I choose not to install XNA in Program Files? On my 64 bit machine it goes in '/Program Files (x86)' by default

    So while it might be a great workaround at the moment it really doesn't have the stability that a proper solution from Microsoft would have.

    When you say 'firstly I check for the graphics card' - how are you doing that before you have checked for DirectX and/or XNA framework. A quick look at your app suggests to me that you are relying on Microsoft.DirectX.Direct3D to already exist so that you can check this... there is no guarentee of this existing. The managed DirectX assemblies are not considered a core part of Windows so that file could well be missing until after you have checked for DirectX.

    This might help with official ways to detect .Net http://blogs.msdn.com/astebner/archive/2004/09/18/231253.aspx

    However there is no official way to detect DirectX... you are on your own there.

    And finally - your checking app throws a bad image excpetion on 64 bit machines... drop me an email if you don't know how to fix that.

    The best way to test apps like yours is to use virtual PC/VMware. Install a totally clean windows XP and make a  snapshot then run your checker.. if it fails you can restore back to the snapshot and try again.

     



    The ZBuffer - News and information for XNA and Managed DirectX
  •  10-01-2007, 11:50 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    Thanks for the tips/suggestions! Using that link as a guide, I updated the code to use a registry key check instead of directory existence: HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\Install

    Along the same lines, I found a key for XNA: "HKLM\SOFTWARE\Microsoft\Framework\1.0\NativeLibraryPath". Do you think I should use that instead of checking for the actual file? I also switched the logic order to install directx before checking for a graphics card. I didn't want to install unnecessary things, but I didn't think about the case where the client doesn't have directx installed.

    Lastly, I don't know how to fix a bad image exception, or even what that is. Do I have to compile a specific x64 version of the application?

    http://xnamatrix.com
  •  10-02-2007, 12:02 AM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    You need to change your compilation to x86 instead of AnyCPU.

    If you compile to AnyCPU then a x64 app will JIT compile to x64 code, however XNA and ManagedDirectX only have x86 assemblies so when the x64 EXE tries to load the x86 assembly you get that error

    If you compile as x86 then it will run in x86 mode on x64 boxes and will load the x86 assemblies just fine.

    >Along the same lines, I found a key for XNA: "HKLM\SOFTWARE\Microsoft\Framework\1.0\NativeLibraryPath". Do
    >you think I should use that instead of checking for the actual file?

    Who knows... unless you can find it documented on an MS blog or in MSDN then its not likely you can always rely on it. However are you sure that is for the XNA framework - seems odd that it would be in a registry path without XNA in it somewhere.

     

     

     



    The ZBuffer - News and information for XNA and Managed DirectX
  •  10-02-2007, 12:10 AM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    Sorry, I made a typo. It should have been HKLM\SOFTWARE\Microsoft\Xna\Framework\1.0\NativeLibraryPath
    http://xnamatrix.com
  •  10-02-2007, 2:58 AM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    If your going to release a game for PC don't use XNA.. Use the other ton of tools available free such as Direct X 10 or OpenGL.  You can also buy or download a pretty good Game engine very easily...

    I use XNA strictly for XBOX 360 prototyping.    And  it works quite well..

    Just my two cents...

  •  10-02-2007, 8:11 AM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    splitline:
    If your going to release a game for PC don't use XNA.. Use the other ton of tools available free such as Direct X 10 or OpenGL. 

    Why? Why would I use something that makes game development take longer for no real benefit that restricts me to the PC?


    Jim Perry
    Here's what I'm up to.
  •  10-04-2007, 1:00 AM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    Yes, I agree with you totally. Many of the tools avaliable can have a long learning curve like C, and C++, openGL, etc. But there are many free game engines that are totally cross plateform. Many run on Wii, XBOX360, PC, linux, MAC OS X.Torque or Torque X for x360. In my opinion if your going to publish a game on the PC plateform then you should take advatage of technologies available for Linux,MAC OSX, and VISTA. Although, XNA creates a more user friendly evironment to game development, costs almost nothing, and has unlimited reasorces, which is one of reasons why I have installed it on my computer. XNA has some great tutorials, which is why I'm here....
  •  10-04-2007, 1:06 AM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    I think your right. It does take longer, but the idea is you have more to work with. Of course most people that do use their own engine or someone elses like UNREAL usually has alot of money and or a big team. XNA is great for learning, which is why i'm here. CHeck out Torque X which is free and made for XNA and XBOX3..
  •  10-04-2007, 6:58 AM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    I was going to make a new thread... (as I feel this one isn't the white hot lance of focus it needs to be on this issue.).. but I have decided not to, as it is about this topic.

    I have recently been trying to help my friends try out my game, and for various reasons their have been problems. Quite a few have been to do with getting XNA going.

    Now I really do plan on releasing my game to the public at some point... I won't personally know these people and be able to hand hold them through the process.

    In this thread, the point has been made that the re-distributables are not suitable for distributing over the web with a small game.

    Could someone from MS comment on the possiblity of a single incremental XNA installer?

    For me it is by far and away the biggest downside of XNA (which I love in so many other ways)

    Thanks for all your effort, it's just a bit depressing the amount of time I have slung at this project, and any barrier to people playing it is an added chance they may not bother.

    JB

  •  10-04-2007, 10:50 AM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    After some nudging we finally got some kind of a reply from MS in this thread... http://forums.xna.com/thread/22297.aspx. SO we are keeping our fingers crossed for something to chage or be etter documented or something in 2.0

    The ZBuffer - News and information for XNA and Managed DirectX
  •  12-11-2007, 11:25 AM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    I only read the first page out of time constraints (about to take a final and needed a break) and I think that we, as a community, could make something like a steam environment. Where you must download that software environment in order to play the game. It does all the updates/downloads for you and then whenever you download an xna game, it puts it into the library and runs from that environment. It doesn't have to be like LIVE ARCADE but it could. Shoot, I might even do it. Heh.
  •  12-12-2007, 8:47 AM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    The Zedox:
    I only read the first page out of time constraints (about to take a final and needed a break) and I think that we, as a community, could make something like a steam environment. Where you must download that software environment in order to play the game. It does all the updates/downloads for you and then whenever you download an xna game, it puts it into the library and runs from that environment. It doesn't have to be like LIVE ARCADE but it could. Shoot, I might even do it. Heh.

    While I have a fairly decent amount of space and bandwidth with my hosting company I don't have that much. If you want to foot that bill go for it! :)


    Jim Perry
    Here's what I'm up to.
  •  12-12-2007, 2:29 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    I was reading this post and decided to give my $0.02

    I've been developing DirectX games for a long while now and recently decided to port my engine to XNA.

    What we have done, what ALL windows based games have done is package your dependancies with your installer.
    In our case, we package the .Net 2.0 redist, DirectX9.0c redist, XNA redist with our installer.

    Almost every game you purchase for windows does this unless it's a native C++ game where DX could be statically linked.  This has always been the issue with .Net programs, you need to package the .Net redist with your installer to make sure the end-user has the framework to even run your program.

    Now, most computers now-a-days have the .Net framework due to Windows Updates, but that still leaves DX/XNA redist's that need to be included in your installer.

    If your game is to be sold, then having a webhost capable of doing a web-installer is a must for downloads, and you can ship on CD/DVD for the full installer.  You could even have your full installer on a 3rd party software site like DigitalRiver and let them take the network burden.

    This is not an issue with XNA games needing to have XNA, this really is a software engineering thing that has plagued EVERY .Net program since .Net's inception.  I honestly believe Microsoft should push .Net and DX updates through windows update that way we would only have to include the XNA redists in our installers.
  •  12-12-2007, 4:59 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    So... Is everybody saying it is disreccomended to make a game with xna for PC? I mean just as a hobbyist. XNA is the only game development tool that I understand and I don't want to learn something else. (For some reason nothing else makes sense?) Anyways I thought that as long as I burned my game to a cd and then had the user say if he wanted to install the files I would be fine. Also is there any way to use the .net compact framework? Since that would make it significantly smaller.

    Check out my XNA Blog! http://firewater49.blogspot.com/
    "With Great Power Comes Great Responsibility"
  •  12-12-2007, 5:12 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    Firewater:
    So... Is everybody saying it is disreccomended to make a game with xna for PC? I mean just as a hobbyist. XNA is the only game development tool that I understand and I don't want to learn something else. (For some reason nothing else makes sense?) Anyways I thought that as long as I burned my game to a cd and then had the user say if he wanted to install the files I would be fine. Also is there any way to use the .net compact framework? Since that would make it significantly smaller.


    I definitely do recommend XNA for PC. Even more so as a hobbyist. What most of the thread is complaining about is having to give someone three redist installers to play XNA games. You have to give someone the .NET 2.0 redist, the DirectX 9.0c redist, and the XNA redist. The .NET and XNA redists aren't that large (a few MB each), but I believe the DirectX one can be sizey. If you were to burn all three to a CD along with your game, you would be just fine. It's mainly downloads that are affected by the size of the redist installers.

    So definitely continue using XNA. Get real good at it. And don't forget that the guys in Microsoft are working out the problems. I believe someone said that they would look into the installer issue and redists, and we also have the future plans for redistributing XNA games to the masses that Microsoft is working on. So the issue will become less and less important in the future.


    Nick Gravelyn -- Microsoft XNA MVP
    XNA Wiki | Zune Games
  •  12-12-2007, 5:24 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    This thread is really saying 2 things:

    1. Its not staightforward to package up an XNA game with all its dependencies and get it right. Its totally possible though if you are carfeul and do your research.

    2. If you do get it done then your installer may be qutie large since there is no official way to optionally include the runtimes and have them download at install time. So if pacakge size is an important part of your game sale strategy then you may have issues.



    The ZBuffer - News and information for XNA and Managed DirectX
  •  12-12-2007, 6:54 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    I'm currently using the torque engine for an MMo project to kind of get something prototyped, then I plan on moving to XNA. For the mmo project I have apache running on my server with SVN. I commit my changes to SVN and the client automatically downloads the updates, patches the game and starts playing. Most mmo's do this. Why couldn't you do something similar to this with your downloaded games? Have a small little 2-5mb setup file, that then just goes online and downloads each redist, and installs them if needed, then installs the game. Granted you wouldn't use SVN for this purpose, but you're installer could check you system for what version of the framework, xna and directx you have, and then just download it and install it.

     

    isn't that how the .net framework is installed? It's downloaded during installation I'm pretty sure.


    Airhead Gaming: A new game development community


    Airhead Gaming Blog

  •  12-12-2007, 8:47 PM

    Re: XNA and PC Gaming - When is MS going to address the problems?

    Because Microsoft do not officially document how to detect the missing SDKs. There are several ways to do it but