|
|
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.
-
08-28-2007, 5:24 PM |
-
tmegz
-
-
-
Joined on 06-28-2007
-
-
Posts 74
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
Zenfar:Thanks for the news about IE7 strings, do you have an example of this or web like, sound useful.
It's called browser agent and is something all browsers send every time they request a webpage from a server.
In PHP you can access it through the global variable $_SERVER["HTTP_USER_AGENT"]; I guess it's just as easy with asp.
On my computer IE7 will send this string as useragent: "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2)"
Parsing that to find .NET 2.0 wouldn't be too hard ;)
This method is however not very reliable, Firefox 2.0 will on my computer send this string: "Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
No indication of .NET whatsoever. Firefox even has a plugin that allows you to specify any useragent you want so you can fake that you'r googles crawler and lot's of other stuff.
To check how your agent looks you you can visit http://www.pliner.net/mypc/ They got alot of other spooky stuff aswell, they can even see what version of java, flash and acrobat reader you have - in both IE and Firefox. Isn't this possible with .NET?
|
|
-
08-29-2007, 3:56 AM |
-
PatrickB3rd
-
-
-
Joined on 03-08-2007
-
-
Posts 30
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
The easiest way is to just make a little app like "AreYouRedayForXNA.exe" that checks their system and sends them to the appropiate pages for downloads. This is pretty safe as I've been doing it for years with DirectX. I send them to http://www.microsoft.com/directx". I even open the broweser for them. That link for DirectX hasn't been active for years but Microsoft still auto forwards them to the correct page to this day.
I have found that in my experience Windows users don't really care about the extra download under certain conditions:
A> Don't make them download stuff they already have.
B> Don't make a game that they spend more time downloading and installing than they do playing.
|
|
-
08-29-2007, 10:05 AM |
-
The ZMan
-
-
-
Joined on 03-19-2007
-
WA, USA
-
Posts 3,190
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
The easiest way is to just make a little app like "AreYouRedayForXNA.exe" that checks their system...
This is commonly done but unfortunatly there is no officially documented way to check a system for DirectX... Microsoft choose not to document that so however you do it you could potentially have problems at some point.
send them to http://www.microsoft.com/directx". I even open the broweser for them.
When you have spent a little more time in these forums you will see the problem with that... people think 'I already have DirectX becuase I can run half life 2 - I don't need to run that' so they don't. Problem is they don't have all of directX - probably not the October 2006 bits that XNA needs. It happens at least once a week in here that we have to tell people 'yes you really need to rerun the directx installer even if you think you already have directx'. I've worked on a commercial app that took the same approach as you and we still get support calls where people say 'yes I installed directx' but when we say 'did you actually follow that link we sent you to' they say 'no - I already did it last year'....these days we don't actually direct them to the installer page but to a page where we explain that even if they think they have directx that they should follow the link and reinstall it.
Is it a major problem - no - but its common enough that it could do with some tidying up IMO.
The ZBuffer - News and information for XNA and Managed DirectX
|
|
-
08-31-2007, 12:28 AM |
-
nullsmind
-
-
-
Joined on 03-12-2007
-
-
Posts 26
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
This thread wouldn't feel right without me hehe. I waited for it since the MDX days, nothing happened. I did not stick around for XNA and went back to native code. You see, the more abstractions with managed code, the more runtimes. They can't make it easier. It's just something one has to accept. All they can do is make a installer that downloads the runtimes for the consumer, and don't forget if they have SP2 or not. Now what? Another download?
It may be great for the developer but it will hurt later when they are ready to sell their product, or even release a trial! You give a trial or demo but it requires so many additional downloads. Chances are someone else bought the next demo on the list because they got to try it out in less time. You loose a sale. Customers are very impatient. Go to any grocery store and see potential buyers have a fit after three minutes in line. They will start looking at the next line to see if it is shorter. Use XNA if you don't rely on sales, or just make sure you have really damn good game or trial/demo that can make up the download time.
Worst case senario: ----------------------- XNA Runtime: 1.9mb DirectX Runtime: 44.0mb .NET Framework 2.0: 22.4mb WinXP SP2: 266.0 MB
That's what you get for giving into the whole developer productivty advertisement campaign :) Most indie folks use C++/DX7/DX8. There's also OpenGL which is already installed on the computer. XNA is really a homebrew kit in order to be the first homebrewing kit this console generation. Remember the PS3 did scare Microsoft. If it didn't, they wouldn't have started saying their own homebrew product on the PS1 was not comparable. It's a campaign and they don't give a damn about independent developers and their troubles, to begin with. It's the big companies. When they demand better runtimes, then you'll see Microsoft do something.
Look above you, it reads "XNA Creators Club." Nothing else.
Anyway, I dealt with this for some years and have not seen much done with distribution on the PC. I looked for other solutions because Microsoft wasn't doing much about the issue. They knew about it, but they can't do much with managed code. Each runtime relies on the other. The good news is there are other "clubs" out there and you just have to find the one that fits your products.
|
|
-
09-01-2007, 12:02 AM |
-
ShawMishrak
-
-
-
Joined on 05-08-2007
-
Columbus, OH (Ohio State University)
-
Posts 750
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
To be fair, native games will also need to require the DirectX runtime for the same reasons XNA Game Studio games do. (excluding OpenGL, just comparing Direct3D games here) Also, the Visual C++ runtime is comparable in size to the XNA runtime. Even if you just distribute the CRT DLLs with your game, or statically link to the CRT, you still have that size cost in there somewhere.
However, that still leaves the .NET 2.0 Framework, which is less likely to be installed than a semi-recent DirectX runtime.
I definitely agree with a lot of your argument, nullsmind. I dabble in C#/XNA and have fun with it, but the vast majority of my coding is still in native C++ and Direct3D9/10. There are many reasons for this, but one of them is the distribution issue. If I choose to let some of my friends try out a game I'm writing, they will be much more willing to try it if I can just send them a .zip file without telling them to go download A, B, and C first.
I'm going to stop now. :)
|
|
-
09-04-2007, 4:06 PM |
-
Zenfar
-
-
-
Joined on 03-09-2007
-
-
Posts 20
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
nullsmind would a compact framework for XNA like Silverlight has change your mind? Glen Zenfar
|
|
-
09-05-2007, 6:25 PM |
-
nullsmind
-
-
-
Joined on 03-12-2007
-
-
Posts 26
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
I think so, yes. Microsoft surely had the right idea with Silverlight. However, it isn't a real 3d graphics API someone can just immediately use and compete with online games like Runescape which uses OpenGL, but it proves fine for simple 2d games. But if they did come out with one download that had XNA with the necessary d3d/d3dx files it needs for that particular version, and perhaps a smaller subset of the .net framework, I don't see why it wouldn't reduce the download size.
But then again, XNA is targeting the desktop while Silverlight targets the internet. Silverlight is based on vector graphics while Java applets have full access to OpenGL and DirectX without causing exceptions (there's some cool examples at http://www.javagameplay.com). But what Microsoft accomplished to make Silverlight small in download size means they too are sharing their interest in making runtimes smaller with a subset of the .net framework. I would assume they have something in mind for XNA but only time can tell.
|
|
-
09-06-2007, 1:29 PM |
-
mike 3DEVOLUTIN
-
-
-
Joined on 03-06-2007
-
Denmark
-
Posts 160
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
the problem is the first game comes out spring 2008 microsoft must solve the problem before that time
? why not make a "games and entertatimemt" update on windows update that fix all the problems
if if the private user whant to play games and hear music then download the "games and entertatimemt" update
then if the framework change then it cood be updated normaly ever 3 month
try this microsoft
Mike
|
|
-
09-06-2007, 3:02 PM |
-
Jim Perry
-
-
-
Joined on 03-05-2007
-
Abingdon, MD
-
Posts 1,086
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
It's not that easy. You don't just throw a Windows update together like that. There's a lot of pieces to consider.
Jim Perry Here's what I'm up to.
|
|
-
09-06-2007, 4:48 PM |
-
mike 3DEVOLUTIN
-
-
-
Joined on 03-06-2007
-
Denmark
-
Posts 160
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
i now i was just a ?
but it will do the trick
Mike
|
|
-
09-07-2007, 1:27 AM |
-
Paziggie
-
-
-
Joined on 08-24-2007
-
-
Posts 9
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
While it may do the trick, and I agree that Windows Update is probably the best place for this kind of update, I think Jim's point was that it's not as easy as it seems. If it was so easy then why would Microsoft every now and then put together a Windows update that has a nasty habit of destroying your Windows install (a couple of patches back in the old days for XP had a tendency to corrupt a critical system file and upon restarting the PC blue screens and doesn't work again afterwards).
|
|
-
09-10-2007, 10:07 AM |
-
Zenfar
-
-
-
Joined on 03-09-2007
-
-
Posts 20
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
A "Games and Entertainment" update is a great name. You could even include a couple of free games to get people started wanting the download. It would help deployment of the .net infrastructure which would help us all. I like the idea, it may not be easy but anything get .net onto user's PC is worth the resources.
Glen
Zenfar
|
|
-
09-18-2007, 9:53 PM |
-
Scionwest
-
-
-
Joined on 05-05-2007
-
-
Posts 22
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
Okay, so this might be a stupid question, but why can't I just include the libraries that my project referances only? If my project is only using the default .Net libraries (mscorlib.dll and System.dll) then why can't I just include those libraries with my project along with the Microsoft.XNA.Framework.dll and Microsoft.XNA.Framework.Game.dll libraries. Does the mscorlib and System libraries rely on other .Net libraries?
Airhead Gaming: A new game development community Airhead Gaming Blog
|
|
-
09-18-2007, 10:03 PM |
-
09-18-2007, 10:19 PM |
-
Nick Gravelyn
-
-
-
Joined on 03-05-2007
-
Seattle, WA, USA
-
Posts 2,970
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
Bill Reiss - XNA MVP:I'm pretty sure that's against the EULA
It definitely is for the XNA runtimes. That's why they have the redist installer.
Nick Gravelyn -- Microsoft XNA MVP XNA Wiki | Zune Games
|
|
-
09-18-2007, 11:19 PM |
-
The ZMan
-
-
-
Joined on 03-19-2007
-
WA, USA
-
Posts 3,190
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
Scionwest:Okay, so this might be a stupid question, but why can't I just include the libraries that my project referances only? If my project is only using the default .Net libraries (mscorlib.dll and System.dll) then why can't I just include those libraries with my project along with the Microsoft.XNA.Framework.dll and Microsoft.XNA.Framework.Game.dll libraries. Does the mscorlib and System libraries rely on other .Net libraries?
Imagine if everybody did this. Every single .Net application would have their own copy of the runtime files, every single XNA game would have their own copy of the XNA runtimes and the DirectX runtimes. Every single game you play would have its own copy of DirectX and/or OpenGL.... the list goes on and on. Hard drives are pretty big but this would get out of hand pretty quickly.
Now imagine that Microsoft find a security issue in one of them, something really serious that needs to be fixed everywhere. Now windows update has to search every hard drive on your system to find and update the DLLs.
The flip side is that deployment is easier - xcopy deployment as its often called because everything you need is in one place. Its easy to install and easy to uninstall - delete the folder.
But that's not the direction windows has taken. It has a central registry, a central place for native system files (system32) and a central place for shared .Net files (the GAC).
There is technically no way for Microsoft to enforce this so they do it through recommendations and the EULA. I have no idea if anyone has every been sued for not following the EULA but no commercial application would every get one of the 'made for windows' type stickers if it didn't and most corporations would not want to buy something that blatantly breaks the rules. But in general that doesn't apply to small games. So could you do it - Yes, Should you - No.
The ZBuffer - News and information for XNA and Managed DirectX
|
|
-
09-19-2007, 12:01 AM |
-
Stephen Styrchak
-
-
-
Joined on 03-04-2007
-
Microsoft (Redmond, USA)
-
Posts 588
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
The ZMan:
Scionwest:Okay, so this might be a stupid question, but why can't I just include the libraries that my project referances only? If my project is only using the default .Net libraries (mscorlib.dll and System.dll) then why can't I just include those libraries with my project along with the Microsoft.XNA.Framework.dll and Microsoft.XNA.Framework.Game.dll libraries. Does the mscorlib and System libraries rely on other .Net libraries?
[snip]
So could you do it - Yes, Should you - No.
Actually, no, you can't do that. The .NET Framework is way more than just DLLs. Managed assemblies aren't even executable code! They are data files that get compiled into executable code at runtime. What will compile these files into executable code if you don't install the .NET Framework runtime? Nothing. Your app will just fail.
You can't just decide that the .NET Framework is too much overhead and pretend all those assemblies are the same as native DLLs. About the only thing they have in common is their file extensions. The CLR is a lot like an operating system for managed code. Without it, it'd be like trying to run an application without first installing an OS.
Stephen Styrchak | XNA Game Studio Developer
|
|
-
09-19-2007, 12:28 AM |
-
The ZMan
-
-
-
Joined on 03-19-2007
-
WA, USA
-
Posts 3,190
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
Jolly good point Stephen... I was really just thinking about satellite assemblies
Could you do it [with the XNA framework DLLs] - Yes, Should you - No
Better?
The ZBuffer - News and information for XNA and Managed DirectX
|
|
-
09-19-2007, 12:51 AM |
-
Stephen Styrchak
-
-
-
Joined on 03-04-2007
-
Microsoft (Redmond, USA)
-
Posts 588
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
Yeah, I meant that to be more of a comment on the original question than your answer. Sorry for the confusion, your points were well taken about EULAs and redistributable benefits.
The question seemed to have more .NET Framework context (mscorlib, system.dll, etc), while your reply had more general library context (you mentioned DirectX, etc).
If the original question is about not installing the .NET Framework, but still using its assemblies, it is technically impossible. I just wanted to clarify that.
Stephen Styrchak | XNA Game Studio Developer
|
|
-
09-19-2007, 1:04 PM |
-
coolieShagohod
-
-
-
Joined on 04-25-2007
-
-
Posts 8
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
Completely Agree!!, that sounds like the best soulution, XBLA for pc, where the market place is bigger and more diverse. and the download will take care of all the issues with runtimes and compatibility issues. Add some intergration for people who dished out the cash for a creators club membership, some space for promoting your game and it sounds like a success!
|
|
-
09-20-2007, 3:35 PM |
-
Scionwest
-
-
-
Joined on 05-05-2007
-
-
Posts 22
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
Actually I had forgotten about the way .Net runs. You're right on that it wouldn't run the program without the framework being fully installed. As for the XNA libraries, I wasn't aware that it was agaisnt the EULA. I haven't had to distribute anything yet so I haven't really spent time reading it. You guys both made great points, thanks for clearing that up for me!
Airhead Gaming: A new game development community Airhead Gaming Blog
|
|
-
09-21-2007, 10:38 AM |
-
ArcticMatta
-
-
-
Joined on 07-19-2007
-
-
Posts 3
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
I definately agree with this. Even recruitting your nerdy/techie friends to do testing is hassle because of all the installs and "I already have DX9.0c"-issue.
PatrickB3rd:The easiest way is to just make a little app like "AreYouRedayForXNA.exe" that checks their system and sends them to the appropiate pages for downloads.
This might be a decent short term solution if it were integrated to the XNA-installer. I.e. instead of just terminating with "you need .NET 2.0", it could check both .NET & DX and give easy instructions to the user ("you need a newer DirectX, which you can get _here_"). This shouldn't also break the installation process, but would allow the user to continue after installing (rechecking the requirements).
...But the long term solution should be an automatic incremental installer...
|
|
-
09-21-2007, 9:42 PM |
-
Scionwest
-
-
-
Joined on 05-05-2007
-
-
Posts 22
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
Like somebody posted prior to this, a simple *CheckIfInstalled* application could be wrote. The application would simply use the System.Version namespace to check what version of the CLR is installed, if it's 2.0 then we are good to go, if not then it can inform the user it needs to download and install .net 2.0 before the install can be done. A webpage directing the user to the download link can be supplied. This is what Microsoft does with some of it's applications requiring SP2(Internet Explorer 7 & Media Player). You could employ the same technique but with .Net instead. Of course your installer would need to be wrote in native code, otherwise it will give the generic "failed to find .net 2.0" message and report it to Microsoft if .net is not on the users machine to begin with.
As far as XNA framework goes, just include the re-dist files (as I understand it, including the re-dist installer does not violate the EULA?), and install the redist prior to installing the game, the re-dist is small in size, and installs quickly. I believe if the framework is already installed then it won't install over it, of course maybe someone could confirm this as I'm not positive. Once your installer has ran and installed the framework, install the rest of your game.
Something along these lines should work I would assume.
Airhead Gaming: A new game development community Airhead Gaming Blog
|
|
-
09-21-2007, 11:32 PM |
-
The ZMan
-
-
-
Joined on 03-19-2007
-
WA, USA
-
Posts 3,190
-
-
|
Re: XNA and PC Gaming - When is MS going to address the problems?
The application would simply use the System.Version namespace to check what version of the CLR is installed
How can you use System.Version if there is no .Net framework installed at all? Windows XP does not | | |
|