DX10 - How Far Have We Come?
MojoKid writes "When DirectX 10 was first introduced to the market by graphics
manufacturers and subsequently supported by Windows Vista, it was generally
understood that adoption by game developers was going to be more of a slow
migration than a quick flip of a switch. That said, nearly a year later, the
question is how far have we come? An article at the
HotHardware site showcases many of the most popular DX10-capable game
engines, like
Bioshock ,
World In Conflict , Call of Juarez, Lost Planet, and
Company of Heroes, and features current image quality comparisons versus DX9
modes with each. The article
also details
performance levels across many of the more popular graphics
cards, from both the mid-range and high-end." PC Perspective has a similar look at DX10 performance.
Am I the only one who find the DX9 version of the pictures more appealing? With the exception of the Bioshock fog examples (which had sharp boundaries in DX9) they just look more "natural" to me.
I wonder how many of these differences would be more apparently with some motion and several sequential frames. I know there are texture effects that look OK when the user isn't moving but terrible when he is, although DX9 already has enhancements for that.
Still, nothing there makes me want to jump out and buy a $600 graphics card. Someday I'll have to move to PCIe, SATA, and multi-core; perhaps that will be the time. If it's with a 64 bit OS, so much the better.
Ooh, a sarcasm detector. Oh, that's a real useful invention.
DirectX Will make just the advancements it needs to keep programmers from going SDL and OpenGL. Thats what it is for. The question is not how far has DirectX come, its how far does SDL and OpenGL have to go.
Then the answer is going to have to be "not very far". I can't see game developers getting that excited about something supported only on a version of the operating system that people are specifically NOT migrating to in droves.
I think that the "realism" isn't worth it. Go out and create DX7 games that are fun :P !! (or openGL games that don't require much extensions;)
.... um, hello?
Oh, come on, everyone will buy the PS3 because it has better graphics than the Wii
-- Tigger warning: This post may contain tiggers! --
I believe yes, it is.
"shadows in DX10 are crisper and more accurate than in DX9. In the image below, the shadow in DX9 has blurry edges while the same shadow in DX10 has sharp and crisp edges"
That's great, except for the fact that shadows don't have crisp edges in the real world. Unless it's illuminated by a point-source (which immediately excludes the sun, lamps, flashlights, and pretty much every other light source you're likely to encounter), there will be a penumbra. The DX9 image here: http://www.hothardware.com/articleimages/item1031/big_stateofdx10_wic_shad.jpg is more realistic.
Simple flash example: http://www.goalfinder.com/Downloads/Shadows.swf
G
Who cares about cool special effects to fake optical accuracy? Within a few years we'll have real-time ray tracing and everything using rasterized graphics will look so fake.
The real joke is that neither DX9 nor DX10 are inherently "better" any more than the original Glide API was inherently "better" than DirectX or OpenGL. Hardware has been changed constantly, to give "better" responses to this call or that call, but inevitably you have to write a driver that converts the OpenGL or DX9/DX10 or whatever into something your card understands.
In the really old days, you had people actually coding for the card on hand. This is why there's a gazillion different releases of Mechwarrior 2, each of which varies greatly in image quality and features - each had to be hand tuned to the card.
If Bioshock had been intended for DX9, it would probably look the same as that DX10 shot on DX9. They'd have figured out what they needed to do, perhaps coded a few "If ATI, do this, if NVidia, do this, if Intel Extreme fail 'your video card is too crappy to play this game'" decisions for specific hardware, and that would have been that. Since it was backported (and MS would have thrown a fit to have "no difference") they had to just do a more slappy job of it.
Then again, if not for the emphasis on ridiculous graphics, think about how many games would be able to use their processing power for some seriously wicked AI. Even Bioshock only has half-decent AI that can be twigged to and predicted fairly easily - you know that a wrench guy is going to rush you, you know that the spider slicers will hang from the ceiling and lob stuff all day till you burn or freeze them, you know where the houdinis are going to land long before the animation starts merely because you can figure out what the AI tree says for them to do in what radius... it's sad.
Hell, you can predict the precise spot on the health bar where they'll run for the health station, and if you're smart you trapped that thing half an hour ago. Now you get to watch as four of them all kill themselves on the same damn one, never paying attention to the 3 dead bodies on the floor that obviously just gassed themselve using a booby-trapped station.
But nevermind. I know the reason they want graphics over AI - the same fucking morons that could never defeat a decently programmed AI (hell, they have trouble getting through Halo on NORMAL), drool over thinking that they can see the shoelaces on Madden's boot.
As someone who writes AI for text-based games, let me clear you of some misconceptions.
First, the goal of "AI" isn't always to be as smart as possible. Often, the goal is to make something believable and/or of the appropriate difficulty level. It's possible that Bioshock missed the mark there, but I haven't played Bioshock yet, so I don't know.
I can write "AI" that will kick your ass every time, even without cheating. (Mobs have the advantage of being on home turf, and they outnumber you.) But that's not fun for the player, so I don't do it. Instead, I'll write something with a pattern you have to figure out. Once you learn one of the ways to beat it, the mob will be easy for you, and it's time to move on to the next area. Very few mobs get the full "try to survive at all cost" treatment, and even fewer are programmed to actually learn from your behavior.
You're describing the classic "I wish this mob would keep getting harder" remorse, but think about it: would it really make sense for those mobs to learn from your new tactics? Are they supposed to be smart, or are they just supposed to be an obstacle?
As for your dead bodies example: would you really prefer to have an infinite standoff as the mobs decide it's not worth getting killed, so they go hide somewhere with their own traps and wait for you to attack? Right... so get over it. If games were realistic, you would realdie on level 1.
> I can write "AI" that will kick your ass every time, even without cheating.
> (Mobs have the advantage of being on home turf, and they outnumber you.)
You are assuming that the mob would just sit there and wait for the player, like it usually does in pretty much every game. In reality, a "level" would not necessarily know that Gordon Freeman is on his way. Neither will they have the patience to sit in their assigned ambush places, waiting for him all day long. A better AI would actually "live" in the environment where it is placed, so that it would react to the player instead of waiting for him. It would also be fun to watch. In Half-Life I really enjoyed watching those occasional scenes where monsters are wondering around doing things; like when the bullsquids feed on the headcrabs. I wish there were more things like that, things worth watching.
> would it really make sense for those mobs to learn from your new tactics?
> Are they supposed to be smart, or are they just supposed to be an obstacle?
If the AI was smart, you wouldn't need a mob. You would only need a few individuals. It would be like a multiplayer deathmatch, and, judging from the popularity of those, would likely be more fun than the current mob situation.
> As for your dead bodies example: would you really prefer to have an infinite standoff
> as the mobs decide it's not worth getting killed, so they go hide somewhere with their
> own traps and wait for you to attack?
An infinite standoff will only happen if the game designer makes you kill off the entire mob before setting off some stupid trigger to open some stupid door. Don't program artificial obstacles and the player will be able to ignore the hiding mob and go on, just like in real life.