Rykin Poe

I am wanting to start messing around with the XNA Game Studio Express to try and learn how to make Xbox 360 games. I am getting a Dell from my sister that is a couple of years old to use for this. It has an Intel 82865G graphics chip so I figure I will need to get a video card for it but I really don't keep very up-to-date when it comes to PC hardware. The system is a Dell Dimension 3000 P4 2.8GHz which doesn't have PCIe or AGP so I will need a plain-jane PCI graphics card. I don't plan to join the Creators Club until I have something worth deploying to the Xbox 360 so the PC will be the main thing I will be running any games on for the time being. I know it would be better to get a system with PCIe (or even AGP) but I basically want to invest as little money as possible in this. I figure free computer, free tools, the cost of some RAM, the cost of a video card, the cost of a Visual Basic C# book, maybe the cost of a class or two at the local community college or technical school (where my mom can get me a discount because she is faculty), and maybe the cost of an OEM copy of Windows XP if my sister can't figure out what she did with the disc the Dell came with.

I figure that since the 360 uses an ATI developed GPU that it would be the best to get an ATI card but other than that I don't know what specs or which specific card would be best. After doing a bit of searching I found the Diamond Stealth S9250PCI256 and the ATI Radeon 9250. Both are Radeon 9250 based cards but the thing is the product page for the Diamond card doesn't say exactly what Shader Model it supports. The first page I linked to says that it supports DirectX 9.0 but on ATI's page for the 9200 series (they don't have a specs page for the 9250 specifically) GPU's they list it as supporting DirectX 8.1. From what I have found the Radeon 9250 based products appear to be the top of the line PCI based solution available from ATI. Anyone out there know for sure if this card supports the minimum requirements for XNA Game Studio Express or better yet if it supports the recommended requirements (Shader Model 2.0) Or is there a better PCI card available that supports Shader Model 2.0 from another vendor


Re: XNA Game Studio Express Graphic Card Questions

Bill Reiss

I found this list on Wikipedia:

http://en.wikipedia.org/wiki/List_of_computer_games_that_require_Pixel_Shaders#Version_2.0_.28DirectX_9.0.29

According to this list, the Radeon 9250 supports Pixel Shader 1.4.

Here is a PCI card with Pixel Shader 2.0 for $55: http://www.tigerdirect.com/applications/SearchTools/item-details.asp EdpNo=1641739&CatId=319

Another option with VGA output: http://www.tigerdirect.com/applications/SearchTools/item-details.asp EdpNo=2148789&CatId=319

And here is some of the list from Wikipedia:

Version 2.0 (DirectX 9.0)

Version 2.0x (DirectX 9.0b)

Version 2.0x comprises two versions - version 2.0a (for nVidia GeForce FX series) and version 2.0b (for ATI Radeon X700/X800/X850 series). These versions expose additional features over version 2.0 and are usually used for increased performance with the target hardware (GeForce FX or Radeon X700/X800/X850).

Version 3.0 (DirectX 9.0c)

Version 4.0 (DirectX 10.0)






Re: XNA Game Studio Express Graphic Card Questions

Rykin Poe

Reading up on the cards on Wikipedia lead me to the VisionTek Radeon X1300 PCI. It appears to be the best ATI based PCI card on the market currently. The reviews I checked out rated it as pretty mediocre when running modern games but I think it may be just about perfect for what I am wanting it for. Anything I make isn't going to be on par with Oblivion or Half-Life 2: Episode 1 for instance. ATI has a nice upgrade helper thing on their site (which is what I found the 9250 based cards with) but for some reason this card isn't listed.

Oh one thing that was causing me a bit of confusion that other people might get confused about. In the XNA Creators Club video from the Xbox Live Marketplace the guy states that it requires a DirectX 9.0c compatible card yet the web site just says DirectX 9.0 with Shader Model 1.1 support as minimum with Shader Model 2.0 support recommended. Not sure which one is correct but I think I will get this card that supports Shader Model 3.0 just to be on the safe side. Probably overkill for me but I will be able to render the best looking tic-tac-toe game ever ;)

Thanks for pointing me to those Wikipedia articles.




Re: XNA Game Studio Express Graphic Card Questions

Bill Reiss

Well if your main goal is to develop Xbox games, then it's probably not a bad idea to have Pixel Shader 3 support in your video card since the Xbox runs pretty much a Shader Model 3+.

So if you want to take full advantage of the graphics capabilities of the Xbox and still be able to test on Windows, you'll need that. Of course you could just do all of your testing on the Xbox and then it wouldn't matter what video card the PC has but it's probably more productive to be able to test on Windows.

For a Windows game, you probably wouldn't want to require Shader Model 3 since a fairly large percentage of systems wouldn't be able to play it. With a Windows game it's probably a good idea to be able to scale back to a 2.0 shader or even a 1.4 shader if the system can't support shader 3.0






Re: XNA Game Studio Express Graphic Card Questions

Rykin Poe

I want to be able to test on Windows mainly because I don't want to pay the Creators Club fee until I actually have something worth running on the 360 (which probably won't be for a few years if ever). I figure that since the 360 is easily going to best the PC in terms of power that if I can get any games running good on the PC they should run perfectly fine on the 360 (minus any 360 specific bugs that might pop up). Not sure if I will be using any shaders at all. The games I want to make are mostly old school 2D style games. Heck I will be lucky to have a game running on the 360 before the third-gen Xbox comes out.

I am really interested in seeing what the future holds for Creators Club members in the realm of releasing their creations to Xbox users in general. I am willing to bet that NewGrounds and PopCap and some other publishers are closely watching so they can snap up any promising titles but with Microsoft's strict quality control (oh man did I just say that without laughing ) I wonder if there is ever going to be a way for any and all projects to be shared without having to distribute the source code and be a member of the Creators Club to run them Opening up the 360 even just this much was a risky move (and a brilliant one) and I don't want to have to worry about malware on my game console but at the same time I would love to have access independently produced shareware and freeware style titles on my 360. I think that there will eventually be a way to share 360 binaries with other Creators Club members but I could see us never being able to share games with regular Xbox users unless the game happens to be picked up by a publisher.

The strange thing is that this is actually more of a concern to me as an end-user than as a hopeful developer. Perhaps Microsoft could create some type of peer review system for Creators Club members similar to the way the tee-shirt site threadless.com works. Games that get a high enough peer rating will be released to the general public. With a system like that in place I would actually be willing to pay for the Creators Club membership even if I never intended to write a single line of code.




Re: XNA Game Studio Express Graphic Card Questions

Bill Reiss

Interestingly, even if you are doing 2D games, you may very well end up using shaders. It may make sense to actually create the games as 2.5D games, using 3D graphics in an orthographic view to look like 2D, or using Pixel Shaders with SpriteBatch to do effects on your 2D elements. I have a game that I wrote originally as a straight 2D game but now I'm working on moving it to Xbox and as part of that I'm replacing some of my 2D game pieces with 3D animated models with shaders.

The 2.0 Shader effects (even 1.1 or 1.4 in some cases) would probably be good enough for most of what you would need for a 2D or 2.5D game on Xbox but you never know...






Re: XNA Game Studio Express Graphic Card Questions

Rykin Poe

One of the many things I need to learn is what exactly shaders are I guess. They sort of sounds like Photoshop filters that are applied to 3D objects in real-time.

I figured it would be faster and easier to just whip up some simple 2D graphics in Photoshop to use so that I wouldn't have to learn 3D modeling at the same time I was trying to learn the rest. The 2.5D approach (I have more often heard it called the 3D For 2D approach) is one that I have thought about as well so I may end up trying to use some primitives or free models as placeholders until I have something worth releasing at which point I will try to find a 3D artist to team up with. Going 2.5D would probably make it much easier to scale to the various display resolutions. And I guess some real-time lighting and particle effects would add a nice graphic flair to the shoot-em-up game I would like to make as my first real project.

Anyway all that is way far off most likely. I will be happy enough to get a 2D square moving around inside of a 2D maze.




Re: XNA Game Studio Express Graphic Card Questions

Shawn Hargreaves - MSFT

For 2D games, thinking about shaders as realtime Photoshop filters isn't actually a bad analogy.

You don't even need to be using 3D models to get benefits from writing your own pixel shaders. In XNA, everything is really 3D behind the scenes, so even when you use SpriteBatch that is actually just drawing textured polygons, giving you loads of opportunity to add custom shadering to the process.

A few things you could do using custom pixel shaders with sprites:
  • Change the color of specific parts of a sprite, to get more variety. Rather than just tinting the whole thing like you can with SpriteBatch, in a pixel shader you could for instance change the color of a characters clothes to one thing, and their skin to something else, letting you reuse the same character sprite loads of times to make different looking people.
  • Fancy ways to make an object fade in or out. For instance you could have the inside disappear first, then the outline linger a bit longer, rather than it all fading out at once.
  • All sorts of interesting magic spell effects, or for taking damage from a weapon. Add electrical sparks over the top of a sprite, or do that nuclear-blast thing they use in movies where it temporarily switches to an X-ray style view where you can see the skeleton, or add a glowing animated power shield around your character: your imagination is the limit, really!
  • You could do realtime lighting effects, using a normalmap to add shadows in different places depending on where the light is positioned.
  • You can do all sorts of crazy pop-video-style transitions when going from one screen to another.






Re: XNA Game Studio Express Graphic Card Questions

Rykin Poe

Thanks for the help guys but doesn't look like I am going to be getting that computer after all. My sister changed her mind about giving it to me. I am going to offer her a couple hundred bucks for it but if she refuses I will just have to hold off until I can afford a new computer. I could probably swing a lower end one but I would rather put the money towards a decent computer instead since the laptop I am using now is starting to show its age.