PDA

View Full Version : Directx 9.0c = BAD for casual games?


Basvas
08-03-2006, 09:01 AM
We are doing a game based on an engine that requires directx 9.0c.. now i can guess it's not optimal for the casual gaming market since many potential customers may have older dx versions and just throw the demo in the trash can if it doesn't instantly works ..

Anyone here have some insight how bad its actually is to have such a 'high' directx requirment?

ggambett
08-03-2006, 10:10 AM
No hard data that I know of but the general consensus is "stick to DX7 if you can". It's what we do. Requiring DX8 is slightly worse, and requiring DX9.0c is suicide IMO. What DX9 features are you using? Do you have a really good reason not to stick with DX7?

bignobody
08-03-2006, 10:16 AM
I think DX8 is OK. Microsoft has officially abandoned Win98/Me. I'm pretty sure XP supports DX8 by default.

LilGames
08-03-2006, 10:22 AM
I think DX8 is OK. Microsoft has officially abandoned Win98/Me. I'm pretty sure XP supports DX8 by default.

Just because MS has, doesn't mean the users have.

bignobody
08-03-2006, 11:42 AM
Just because MS has, doesn't mean the users have.

That's true. But they have also more or less said you'd be crazy in this day and age to run one of these OS on a system that's connected to the internet. Sounds like a support nightmare to me. Anyway, just my 2 cents...

Roman Budzowski
08-03-2006, 12:14 PM
That's true. But they have also more or less said you'd be crazy in this day and age to run one of these OS on a system that's connected to the internet.

So they want to say I am crazy running WinMe on Duron800mhz laptop without the feel I need to upgrade OS. I know Me sucks, but I don't use laptop for work purpose.

all the best
Roman

bignobody
08-03-2006, 01:19 PM
So they want to say I am crazy running WinMe on Duron800mhz laptop without the feel I need to upgrade OS. I know Me sucks, but I don't use laptop for work purpose.

all the best
Roman

No, they want to say that you are vulnerable to a growing number of exploits that they can't fix ;)

vjvj
08-03-2006, 05:38 PM
The most important question is: What features are you using that require DX9?

Unless you need robust render to texture, HLSL, or SM 3.0, I can't think of a reason to not use DX8. Even the HLSL argument is kind of weak, since the ASM interfaces are simple and don't require hand tuning.

Beyond that, just because you want to use something doesn't mean you have to require it. You can always code a fallback path that uses simple/fixed function shaders.

arcadetown
08-03-2006, 08:50 PM
If helps any with decision making, Windows OS report hot off the presses for yesterday from ArcadeTown....

: 1747223: 1726472: Windows
: 1587229: 1571701: Windows XP
: 77828: 74261: Windows 2000
: 52892: 51449: Windows 98
: 22150: 22008: Windows ME
: 1946: 1936: Windows NT
: 473: 466: Windows 95

And from HeavyGames....

: 603753: 602138: Windows
: 547571: 546067: Windows XP
: 30645: 30591: Windows 2000
: 14578: 14565: Windows 98
: 7783: 7781: Windows ME
: 1607: 1579: Windows NT

vjvj
08-03-2006, 10:37 PM
Who the heck are all these casual gamers running 2k/NT 5.0?!?! :confused:

oNyx
08-04-2006, 12:38 AM
Well, 2k is alright. There isnt much of a reason to upgrade to XP. Memory management is better over there, but you wont see much of a difference with <= 1 gb of ram. But other than that... well, its stable and runs all kinds of software just fine.

Its used in a bunch of offices and private users (those casual ones) wont upgrade the OS seperately. Keep in mind that most machines are used for 6 years, which is also the reason why 500mhz are still a popular target.

vjvj
08-04-2006, 01:06 AM
Well, 2k is alright. There isnt much of a reason to upgrade to XP. Memory management is better over there, but you wont see much of a difference with <= 1 gb of ram. But other than that... well, its stable and runs all kinds of software just fine.

Its used in a bunch of offices and private users (those casual ones) wont upgrade the OS seperately. Keep in mind that most machines are used for 6 years, which is also the reason why 500mhz are still a popular target.

I'm not knocking 2k... If anything, I'd praise it; it was much more stable than the consumer OS offerings MS had at the time.

My reply was one of surprise. I didn't know so many casual users were running a corporate server-targeted OS.

Basvas
08-04-2006, 02:21 AM
Hey guys
thank you for your responses - i think we are doomed..
yes we do need 9.0c since the engine version we use only works with 9.0c
and we are to far progressed - porting to blitz basic 3d for example would be equal to starting a new game its just not worth it. The game is basically an old arkanoid clone we are 'recycling' that was done by the coder alone and all 100 levels were already done - just no powerups art etc.

see this thread: http://forums.indiegamer.com/showthread.php?t=7618

I had no luck finding anything higher than dx8.0 on the portals too so tha indicates me that we are screwed and should have known better from the start :)...

@arcadetown interresting report , can you confirm that we are doomed by using dx9.0c ? :)

vjvj
08-04-2006, 09:33 AM
Hey guys
thank you for your responses - i think we are doomed..
yes we do need 9.0c since the engine version we use only works with 9.0c

Ah, that's too bad.

Well, you can still finish it for the experience, and use the lessons learned for your next game... This will also look good on your resume if you decide to look for a full time job.

LilGames
08-04-2006, 10:17 AM
Win2k is in use in alot of offices as the regular desktop OS. It had the advantages of user policies, and I would imagine many companies have never seen the need to upgrade to XP.

arcadetown
08-04-2006, 10:26 AM
My reply was one of surprise. I didn't know so many casual users were running a corporate server-targeted OS.
4% win2k doesn't seem like a whole lot to me, and it's declining fast. A couple years ago win2k was very popular according to our site usage stats. I ran win2k for a very long time until 6 months ago when I bought a laptop that came with xp pre-installed. Anyhow user support wise xp versus win2k makes little difference.

98/me is most interesting part with just 4% combined, and dropping fast also. NT & 95 look almost irrelevent now.

Still best to support as much as possible as just a 4% failure rate would be a lot of pissed off users on a large traffic site and easily cause you to be rejected by a site such as Real for example. Plus it's all win32 so a proper casual game (i.e. works on old machines) shouldn't really care.

vjvj
08-04-2006, 11:20 AM
4% win2k doesn't seem like a whole lot to me, and it's declining fast. A couple years ago win2k was very popular according to our site usage stats. I ran win2k for a very long time until 6 months ago when I bought a laptop that came with xp pre-installed. Anyhow user support wise xp versus win2k makes little difference.

98/me is most interesting part with just 4% combined, and dropping fast also. NT & 95 look almost irrelevent now.

Still best to support as much as possible as just a 4% failure rate would be a lot of pissed off users on a large traffic site and easily cause you to be rejected by a site such as Real for example. Plus it's all win32 so a proper casual game (i.e. works on old machines) shouldn't really care.

True, it's not a lot in comparison to XP. I was still surprised to see it that high, though. That said, I agree there really isn't much excuse to not support 2k if you are supporting XP.

Thanks for sharing, that was very interesting and useful information.

techbear
08-04-2006, 12:59 PM
: 1747223: 1726472: Windows
: 1587229: 1571701: Windows XP
: 77828: 74261: Windows 2000
: 52892: 51449: Windows 98
: 22150: 22008: Windows ME
: 1946: 1936: Windows NT
: 473: 466: Windows 95

And from HeavyGames....

: 603753: 602138: Windows
: 547571: 546067: Windows XP
: 30645: 30591: Windows 2000
: 14578: 14565: Windows 98
: 7783: 7781: Windows ME
: 1607: 1579: Windows NT


I'm sorry. Am I missing something? 'Cause this data seems to shut the argument down. I mean, shouldn't we all just be coding for XP?

I'm genuinly confused. Doesn't this data show conclusively that the vast majority of casual gamers use XP?

vjvj
08-04-2006, 01:32 PM
I'm sorry. Am I missing something? 'Cause this data seems to shut the argument down. I mean, shouldn't we all just be coding for XP?

I'm genuinly confused. Doesn't this data show conclusively that the vast majority of casual gamers use XP?

For the most part, yes (arcadetown said something to the same effect above).

However the original post is about DX9... I don't believe XP ships with DX9 by default, although I could be pulling a major brain fart right now.

arcadetown
08-04-2006, 02:01 PM
Thought I was making the opposite point. 4% Win2k and another 4% 98/me is 8% total. An 8% failure rate would be terrible PR for any site, particuarly large sites with a lot of users. So best to still support them if possible. It's all win32 so shouldn't be that hard unless you truely must require some high end thing like dx9 (as noted in case above).

vjvj
08-04-2006, 04:24 PM
Thought I was making the opposite point. 4% Win2k and another 4% 98/me is 8% total. An 8% failure rate would be terrible PR for any site, particuarly large sites with a lot of users. So best to still support them if possible. It's all win32 so shouldn't be that hard unless you truely must require some high end thing like dx9 (as noted in case above).

Ah, my misunderstanding. I think I need to gracefully bow out now before I do any more damage, hahaha :D

Applewood
08-05-2006, 12:30 AM
You can always wait and be part of the leading edge with Vista.

I know absolutely nothing about it, but I keep hearing that there will be an integrated "xbox live arcade" like service right there on the desktop. Not only will it be a killer portal in a few years time, it will hopefully support the same cash=credits system for micro payments, content pack sales and all the rest. And it will support DX9 out of the box too.

DX9 is wicked. The DX10 feature set to me is not at all relevant to casual games or even most hardcore ones, so DX9 should be enough for anybody for a very long time imo. Your match-3 game may not *need* shaders, but soon as you start using them you'd be amazed how much simpler your renderer starts to become and how many gratuitous eye-candy effects you can slot in with little/no effort which, when the support is there, has to be a good thing.

We're just not there yet sadly :(

Just to nip this in the bud, you'd be amazed how old a card can be and still offer sm 2.0 and practically anything that hasn't already rusted away will support 1.1. which is still worth having. Hardware compatibility is not a big issue. The reason people shy away from DX9 now is not one of hardware capabilites per se, more tech support and the fact that the DX redist install is about 40 meg. DX7 is already on everything so it's simply one less thing to go wrong. I find it sad that this matters, but apparently it does

U-Brothers
08-07-2006, 08:47 AM
If more than 90% of windows users has WinXP then there is not much to talk about - then more than 90 % of users and customers must have at least dx8, right?

Nowadays, DX7 is just not enough to make something really pretty :p (or maybe it is, but I would like to see it..:D )

since today.. let's use DX8 all together, what do you say? ;)

Applewood
08-07-2006, 09:33 AM
Way ahead of you - I'm all fully shadered up on DX9.

If I ever do a downloadable game for PC, it ain't gonna run on no soccer moms 486. Mind, I couldn't be bothered writing those sorts of games anyway, so it's all good :)

I must add that there's little in DX8 that's not in DX7. It was in the main part just a tidying up where they made things a lot easier to get stuff working. Vertex shaders are pretty lame with no pixel shaders to pass into imo. (You can do a lot still on the CPU). Render to texture was one of the things they finally fixed but that won't get you a lot on its own either. I'd personally stick with DX7 for compatibility or say bollocks to it and go to shaders on DX9. They'll still run on a very old card like my laptop radeon mobility 9600 (with sm2.0 no less). This tech is prety damned old now - I reckon a lot of the detractors are those that can't be arsed to learn it, like I once was with C++.

dxgame
08-07-2006, 11:23 AM
"The game is basically an old arkanoid clone."

It better be the best Arkanoid clone ever to require DX9. ;)

undersan
08-07-2006, 12:57 PM
I must add that there's little in DX8 that's not in DX7. It was in the main part just a tidying up where they made things a lot easier to get stuff working. Vertex shaders are pretty lame with no pixel shaders to pass into imo.
"No pixel shaders"... can you clarify? DX8.0a supports ps1.0-1.3, which are pretty crappy. DX8.1 supports ps1.4, which is fairly flexible and similar to ps2.0.

Unless you need robust render to texture, HLSL, or SM 3.0, I can't think of a reason to not use DX8. Even the HLSL argument is kind of weak, since the ASM interfaces are simple and don't require hand tuning.
For anyone like me who is using DX8, I wanted to mention HLSL and effect files. ps1.4 assembly is fairly difficult to write, due to the bizarre "phase" instruction, so HLSL really helps me. However, the DX8 effect file loader/compiler doesn't support HLSL. So, basically, I write HLSL in a "high-level" effect file, then I use the DX9 effect compiler to generate vs1.1 and ps1.4 shader assembly. I cut-and-paste this assembly into a "low-level" effect file that my game actually uses.

Applewood
08-07-2006, 01:39 PM
"No pixel shaders"... can you clarify? DX8.0a supports ps1.0-1.3, which are pretty crappy. DX8.1 supports ps1.4, which is fairly flexible and similar to ps2.0.Actually, you're right! :eek:

This was such a long time ago, I forgot that 1.4 was DX8.1 tbh. Prior to that, PS weren't good enough. Not just limited instructions but limited performance too - you were usually better off with the FFP. I was "out" during the 1.4 phase(sic) and came seriously back into the party with sm2.0 on DX9 and never looked back.

Being of a certain age, I preferred writing asm to HLSL as it felt more natural, but I gradually succumbed to the common wisdom that HLSL compilers create smaller and faster code in 90% of cases, and equal in the other 10%.

<General comment>
I've never understood why a lot of devs write these things off though. HLSL is *way* easier to write than some convoluted FFP equivalent, even assuming there is one. It also needs less things to be correct in the driver for them to work properly, and that has to be a good thing.

I understand that the indie space isn't driven so much by fancy visuals as our bigger brothers, but there's more to it than that. Writing HLSL is easier than FFP authoring, less buggy in the hardware layer and generally better all round. If you don't want mega-shaders to do fifteen per-pixel soft-shadowed velvet spotlights then fine, use them because they're better at what you do need even if its just framebuffer*=texture

undersan
08-07-2006, 02:15 PM
Hey, Paul, I definitely agree about HLSL... but now, I'm going to pick apart another post of yours! :)

Just to nip this in the bud, you'd be amazed how old a card can be and still offer sm 2.0 and practically anything that hasn't already rusted away will support 1.1. which is still worth having. Hardware compatibility is not a big issue.
Ah, you're forgetting those horrible Intel "extreme" (and "extreme 2") integrated graphics chips! Intel is the market share leader in PC graphics chips, beating both Nvidia and ATI. The extreme 2 chip is about equivalent to a Geforce4 MX and has no shader support. Isn't it sad that you can buy a used Radeon 9600 for $10, and yet every new entry-level Dell PC still comes with this integrated garbage?!?

Anyway, back to the topic of "what DX version should I use?"...

Win95 only supports up to DX8.0a
Win98+ supports DX9
2000 shipped with DX7
XP shipped with DX8.1

If you want DX shaders, but you also want compatibility with old systems and users who are too lazy/clueless to update their DX version, then these are the reasonable choices that I see:

1. DX9 with DX7 fallback. I don't think you can link a Windows app with both DX9 and DX7 libraries, so this would involve some trickery with multiple exe's or dll's.
2. DX8.1 (or 8.0). For every situation where you use shaders, you should also have a fixed-pipe fallback.

Applewood
08-07-2006, 02:51 PM
I'm not forgetting them, I'm ignoring them. I said above that I don't go in for this whole soccer mom casual game thing - there's enough match-3 games about to sink an armada. For anyone who is targetting that market, surely this whole thing is moot and you shouldn't be using DX anything ? Why risk a sale on a bad driver when you don't need what's being driven!

If I were doing a game that required no fancy effects at all, other than maybe an additive blend mode, I'd write the lot with my pocket-pc software engine and blit the final result into a dib at the end. You can move a shitload of sprites about in 800x600 doing that on a reasonable cpu and it has zero dependencies on anything. It can't fail to work.

On the flipside, I just can't see how a game that relies on plenty of fancy visual shit, that needs accelerating, would appeal to someone who hasn't been arsed to get a video card and install the driver for it at some point in the last few years.


Is all this "DX9 is bad" actually based on evidence ? It takes about 5-10 minutes to download once. Make your game look good enough that he doesn't mind a download of the redist. Surfers download shit all day - they're used to it.

To sum up my feelings:
If yours is a fast-paced visual action game and "he" has an intel extreme, "he" won't be trialing your game in the first place. OTOH, if your game doesn't need millions of sprites or shader effects etc, don't use DirectX at all.

vjvj
08-07-2006, 07:09 PM
Ah, you're forgetting those horrible Intel "extreme" (and "extreme 2") integrated graphics chips! Intel is the market share leader in PC graphics chips, beating both Nvidia and ATI. The extreme 2 chip is about equivalent to a Geforce4 MX and has no shader support. Isn't it sad that you can buy a used Radeon 9600 for $10, and yet every new entry-level Dell PC still comes with this integrated garbage?!?

A lot of us have been there already, man :D The Intel Extreme 8xx chips are officially unsupported in Meridian 59, and I didn't even use shaders (it's DX 8.1c fixed function). It's been a while, but the problem had something to do with dynamic vertex buffers not working under certain conditions. After banging my head over it for a while, I finally said screw it and gave up.

This comes with one caveat however, which was the fact that we retained the option to use the old software renderer as a fallback. So anyone who had an 8xx could still play despite the lack of D3D support.

That said, Meridian was a weird case because it actually had steeper requirements than you'd expect due to all the weird 2D rendering tricks that had to be emulated. The plan for my next project is to allow falling back to simple pass-through shaders on pre-DX8 hardware. It'll look like ass, but it will still be playable.

exploreRPG
08-08-2006, 11:01 AM
Actually.. I love Windows2000.. I'd never use WindowsXP for anything. XP had over 400 security holes the 1st year. :rolleyes:

I haven't upgraded any of my machines. (I have 5 of them.) 800Mhz-1.6Ghz Atholons. The most I'd do is upgrade my VideoCard. If a game has requirements higher than 1.6Ghz, it means its poorly written in my book.

Tye

Brian A. Knudsen
08-19-2006, 10:02 AM
I think direcx9 is fine as long as it doenst require hardware support it. My relative new (bought it last year) didnt hav hardware gfx card and not hw dx9 ... sadly.