Is there more to it than TWIMTBP? (Personal commentary)

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

thilanliyan

Lifer
Jun 21, 2005
12,065
2,278
126
Here is another developer's point of view.

Use whatever works. Least cost possible. All help are welcome. Nvidia want to give me something for free? Thank you. ATI have a problem with that? Sorry.

Shouldn't a game running through DX be basically the same with either vendor's card (ie. it should be programmed like that from the beginning)? Isn't it the devs responsibility to ensure that's the case? It isn't like there's several "DX-like" standards you have to adhere to...there's only one (two if you count OGL)...and if the dev can't even do that without help from nV then they should not be making games.
 
Last edited:

Seero

Golden Member
Nov 4, 2009
1,456
0
0
B:AA AA (that's a lot of A's) works just fine on ATi hardware, as has been proven by countless people who simply overrode the Vendor_ID lockout. Nvidia blames the developer for the lockout. The developer says Nvidia legal team won't allow them to remove the lockout. One of the two isn't telling the truth.

Personally, I believe the developer. Why would a game developer purposely include code that would artificially make their game look worse on roughly 1/2 the systems out there? That is completely counter to their goal of selling as many copies of the game as possible.

The only company that's benefiting from this AA lockout is Nvidia.
No one is lying. Nvidia did not block the code, but they do own the code. Neither Rocksteady, Eidos or ATI can alter its code. This part of code make AA possible and has tested by Nvidia. It does not consist of any sort of blocking.

The game code however, has a video card ID check. If the ID belongs to Nvidia, then that setting enables. That is because no QA has been done on ATI's hardware. Yes, users claim it worked fine, but who is going to fix it when it isn't fine? ATI can't touch Nvidia's code, and Nvidia won't fix ATI's problem. So what now? That is why developers put this check in to avoid any issues, both technical and legal.

Explain how Nvidia is benefited by this. Is increase in sales you spoke of? I am not aware that anyone is buying a Nvidia card just for that. Is the title of making the game better being awarded to Nvidia? No, you are saying Nvidia is making it worst. What is the benefit? Some guys/gals made the game better by enabling AA through something that was thought impossible. As a result, this thread comes up over and over again. Zero credit was given to them and they probably got fired by now. You happy?
 

Schmide

Diamond Member
Mar 7, 2002
5,745
1,036
126
No one is lying. Nvidia did not block the code, but they do own the code. Neither Rocksteady, Eidos or ATI can alter its code. This part of code make AA possible and has tested by Nvidia. It does not consist of any sort of blocking.

The game code however, has a video card ID check. If the ID belongs to Nvidia, then that setting enables. That is because no QA has been done on ATI's hardware. Yes, users claim it worked fine, but who is going to fix it when it isn't fine? ATI can't touch Nvidia's code, and Nvidia won't fix ATI's problem. So what now? That is why developers put this check in to avoid any issues, both technical and legal.

Explain how Nvidia is benefited by this. Is increase in sales you spoke of? I am not aware that anyone is buying a Nvidia card just for that. Is the title of making the game better being awarded to Nvidia? No, you are saying Nvidia is making it worst. What is the benefit? Some guys/gals made the game better by enabling AA through something that was thought impossible. As a result, this thread comes up over and over again. Zero credit was given to them and they probably got fired by now. You happy?

You speak as if you have a copy of the contract. Please back up these statements or learn to speak in the hypothetical!
 

Schmide

Diamond Member
Mar 7, 2002
5,745
1,036
126
Prove me wrong if you can, or learn to read yourself.

WTF you're throwing out facts as if you know. BACK them up or retract them, the burden of proof is on you, not the reader!!!
 

SunnyD

Belgian Waffler
Jan 2, 2001
32,675
146
106
www.neftastic.com
Shouldn't a game running through DX be basically the same with either vendor's card (ie. it should be programmed like that from the beginning)? Isn't it the devs responsibility to ensure that's the case? It isn't like there's several "DX-like" standards you have to adhere to...there's only one (two if you count OGL)...and if the dev can't even do that without help from nV then they should not be making games.
For the most part, this is the exact stance that pretty much everybody should be taking on this issue.

I would agree with developer programs assisting with specific extensions, which appears may have been the case with Batman. But my point is that apparently there are certain facets of the topic which aren't covered by the overarching API, and thus leaves the wiggle room for these developer relations programs to get ugly.
 

dguy6789

Diamond Member
Dec 9, 2002
8,558
3
76
WTF you're throwing out facts as if you know. BACK them up or retract them, the burden of proof is on you, not the reader!!!

This.

Seero, you don't have a clue what you're talking about. If you did, you would have proven it by now.
 

Seero

Golden Member
Nov 4, 2009
1,456
0
0
This.

Seero, you don't have a clue what you're talking about. If you did, you would have proven it by now.
Not that I can't bring proof to the thread, but those quotes are all over the web, and I am sure Schmide had read it. Rather s/he is capable of understanding it is another story. As for you, since you don't seem to know how to use google, I will do it for you just to show you that I am actually a kind person.

AMD and NVIDIA in Batman Arkham Asylum AA fiasco - who's telling the truth? From Hexus.net

Batman AA is not our property. It is owned by Eidos. It is up to Eidos to decide the fate of a feature that AMD refused to contribute too and QA for their customers, not NVIDIA.

If it is relatively trivial, Mr. Huddy should have done it himself. The Unreal engine does not support in game AA, so we added it and QAed it for our customers. As Eidos confirmed (Not allowed to post links here, but check PCper for Eidos' statement) AMD refused the same opportunity to support gamers with AA on AMD GPUs. I'm sure Mr. Huddy knows how important QA is for game developers. I recommend AMD starts working with developers to make their HW work in a proper way. That's not our job. We added functionality for NVIDIA GPUs into the game. We did not lock anything out. AMD just did not do their work. This happened with previous UE3 engine titles before, where ATI owners had to rename the executable to make AA work on that title (Bioshock in example). It’s not NVIDIA to blame here.

...

Lars Weinand, NVIDIA
In case you have problem understanding what he said, basically he was saying that Batman is not Nvidia's property and Eidos, as a publisher has the right to determine what to release or not. Neither UE3 or Batman support MSAA by default. Nvidia added and QAed MSAA for game solely on their expense and resources. Think of it as a Mod to the game that was made by Nvidia, and was given to Eidos to publish it with the game. Eidos can say "Screw it, no bias code" and thus disabling it for everyone, or let it work the way it is. That is Eidos' decision, not Nvidia. And the game runs perfectly run without this mod.

Having said that, this statement does not mean Eidos have the right to alter nvidia's code, only to use it or not. Now ATI could have done what Nvidia have, by giving hardware and support to Rocksteady, and retrofit whatever Nvidia have done for Nvidia card to ATI card also. ATI even add stuff like tessellation, something that is off the standard without Dx11, to Batman if they want, but they didn't.
A Quote from PcPer.com
Another recent controversy around NVIDIA (they seem to find them frequently) has to do with the company's The Way It’s Meant to Be Played (TWIMTBP) program and the relationship between it and game developers. Recently a marketing rep from AMD claimed that some recently released titles were "proprietary" and NVIDIA's involvement in development caused those software teams to unfairly tweak their games for NVIDIA's hardware. The titles in question? Batman: Arkham Asylum, Resident Evil 5 and Need for Speed: Shift. Batman was especially controversial as it enabled in-game antialiasing support ONLY on NVIDIA hardware while AMD cards were required to use control panel based AA. The difference there is that there are definite performance advantages to letting the game engine itself decide how and where to apply the image quality feature rather than "brute forcing" the entire scene.

In reality, I think this claim from AMD is pretty much unfounded - NVIDIA has long been accused of doing things like this but AMD has similar relationships with developers - see games like Battle Forge, DiRT 2 and Tom Clancy's H.A.W.X. The truth is that both sides of the coin work as closely as possible with developers to make sure the latest titles work as well as possible on their own hardware. But without a doubt, NVIDIA's development efforts in this area are much more extensive. The developer relations team at NVIDIA is significantly larger, has a significantly larger budget and in general works with more developers than AMD's. In the case of Batman's AA support, NVIDIA essentially built the AA engine explicitly for Eidos - AA didn't exist in the game engine before that. NVIDIA knew that this title was going to be a big seller on the PC and spent the money/time to get it working on their hardware. Eidos told us in an email conversation that the offer was made to AMD for them to send engineers to their studios and do the same work NVIDIA did for its own hardware, but AMD declined.
Keep in mind that there is a huge difference between "You can't use stuff that belongs to someone else" and "You can't do what others have done". Clearly ATI's sales rep is the one who is making claims without backup, not me. No one is stopping ATI from spending resources to make MSAA into Batman for ATI's hardware. In fact, it was ATI who refused to do so. Yes, Nvidia have PhysX, but doesn't ATI have Bullet physics? So did Nvidia block that too?

As a side note, TWIMTBP featured near 400 games, if Nvidia wants to block ATI, why only block it on one game and not the rest? A piece of code can be licensed and patterned, but not an idea. Now it is hard to have 2 piece of code that is identical even if it based on the some idea, even harder than having 2 bullets hitting head on. That means it is impossible for Nvidia to stop ATI from retrofitting MSAA into the game if they are willing to. If ATI hands over a piece of code that allows MSAA without using Nvidia's code to Eidos, which is clear that they have not, then ATI user can enjoy MSAA in Batman too. Different vendor may execution a different set of code, with more or less the same result. Rocksteady should have coded MSAA themselves, but they were just a small development house and probably can't put everything into the plate. You don't need to play the game if you have a problem with that.

Furthermore, AA is available to batman to both vendors, it is as good as MSAA if not better. In fact, that is the AA developers used when developing the game. Now what else do you need from me?
 

Schmide

Diamond Member
Mar 7, 2002
5,745
1,036
126
Not that I can't bring proof to the thread, but those quotes are all over the web, and I am sure Schmide had read it. Rather s/he is capable of understanding it is another story. As for you, since you don't seem to know how to use google, I will do it for you just to show you that I am actually a kind person.

Please do not refer to me in the third person and my understanding is fine. I've read all that and more and from all that evidence would never make the direct statements like you made.

I.e. especially in bold.

No one is lying. Nvidia did not block the code, but they do own the code. Neither Rocksteady, Eidos or ATI can alter its code. This part of code make AA possible and has tested by Nvidia. It does not consist of any sort of blocking.

The game code however, has a video card ID check. If the ID belongs to Nvidia, then that setting enables. That is because no QA has been done on ATI's hardware.

I think this quot sums it up

Hexus said:
Suffice to say that HEXUS has been satisfied as to the existence and substance of the emails referred to by AMD and that, interpreting the email chain, it appears that the NVIDIA code optimisations and agreement with Eidos prevent AMD's cards from running in-game antialiasing.

In the end that saddest thing was in the Hexus thread Lars never made a final statement. So we will never know what happened behind closed doors and what contracts/deals were signed.

We can rehash this issue to death. If you want bring up the old thread. This thread however is not of this issue. Any further posts, at least by me, will only be made in the other thread, it is unfair put it in this topic.
 

Keysplayr

Elite Member
Jan 16, 2003
21,219
55
91
So we have two sides to the story. Which one you call "religion", is up to the reader.
Once someone has made up their mind, it is rare that the notions change.
 

Seero

Golden Member
Nov 4, 2009
1,456
0
0
Please do not refer to me in the third person and my understanding is fine. I've read all that and more and from all that evidence would never make the direct statements like you made.
I knew you have read them all, that is why asking me to back it up from you is trolling more than anything.

I think this quot sums it up
Again, prove me wrong. Creig believes Nvidia blame developer for the lockout where there is no lockout to begin with. All Lars Weinand said is Eidos can decide the fate of that piece of code. While sales rep of ATI grossly mis-understood this as "Nvidia gave permission to ATI to use their code" stated from some forum, which Eidos simply said "No, you can't use their code" in a nice way. By wrapping the words, Richard Huddy turn "Oh, so I can't use their code" to "Eidos allow Nvidia to block MSAA on batman". This is the exact quote from HEXUS.net

AMD received an email dated Sept 29th at 5:22pm from Mr. Lee Singleton General Manager at Eidos Game Studios who stated that Eidos’ legal department is preventing Eidos from allowing ATI cards to run in-game antialiasing in Batman Arkham Asylum due to NVIDIA IP ownership issues over the antialiasing code, and that they are not permitted to remove the vendor ID filter.
Hexus.net
Now read carefully, it is the legal department of Eidos, not Nvidia. Eidos has the ability to allow ATI card to run MSAA, but they are not doing it. As to why, Eidos said it is due to ownership. Now the piece of code that Nvidia summited is the code that makes MSAA possible. There is nothing preventing ATI to summit another piece of code that does the same thing. So where is the block you spoke of?

Think of it this way, Someone message to moderator and said s/he wants to post under Schmide's account, but there is a password check that is preventing him/her from doing so, please remove the password check. Now moderator will decline such request if they will reply at all, but then that someone goes into some other forums and said "Schmide is blocking me from posting in a public forum" and you may say "Well that forum is not my property it is own by Anandtech, let the Anandtech decide what to do. If it is trivial, make your own account and built up your own rep. I am not to be blamed here."

And than s/he comes back with this

"I received an email from moderator at Anandtech who stated that Anandtech’s legal department is preventing Anandtech from allowing s/he to post through that account due to account ownership issues, and that they are not permitted to remove the password.

Schmide has done the right thing in bowing to public pressure to renounce anti-competitive sponsorship practices and given Anandtech a clear mandate to remove the password that is unfairly preventing many of Anandtech users from posting, as per the moderator's comments. I would encourage moderator's at Anandtech to move quickly and decisively to remove Schmide's password."

Do you see how powerful words can be?

In the end that saddest thing was in the Hexus thread Lars never made a final statement. So we will never know what happened behind closed doors and what contracts/deals were signed.
Will you even bother making a final statment to that someone from above?

We can rehash this issue to death. If you want bring up the old thread. This thread however is not of this issue. Any further posts, at least by me, will only be made in the other thread, it is unfair put it in this topic.
You forced me to reply to you by saying that I have no back up... well played.
 

VooDooAddict

Golden Member
Jun 4, 2004
1,057
0
0
In the end, it's still the developers responsibility to ensure that their product works reliably on the greatest number of systems possible. If they don't, they only have themselves to blame.

As a tester, I'd say it's the QA team's responsibility to validate the above. Though ultimately it's the title's producer/product manager who will make the call on how many resources to provide for hardware/driver compatibility testing. If there's a time crunch and a 3rd party like nVidia offers to help validate you can bet your ass they will take the help.

As far as "breaking things" on ATI, I'd be willing to bet that this is more a result of nVidia optimization recommendations then the development team making an active choice to break/disable ATI. nVidia's support team isn't stupid, give out free dev assistance that improves your product with the side bonus of using methods that perform worse or not at all on ATI hardware.

For example there was a pretty rapid shift to games requiring DierctX 9.0c back when a fair number of ATI's installed base was still on 9.0 hardware. I'd be willing to bet that rapid shift was in large part to the help nVidia was able to give developers.

Not the Evil Game developer, just a smart nVidia. Offer much needed help that also happens to promote your product. Nothing wrong with that approach in my humble opinion. It happens with business systems all the time. Lots of free support from vendor x so that they can embed their program/api/or methodology into your organization. In the short run it's quite beneficial to both organizations. In the long run though it was a great move by the vendor to lock in the client while coming across as helpful.

Now if there's proof that some devs took $$ from nVidia to knowingly disable/block ATI this is an entirely different story.
 
Last edited:

Seero

Golden Member
Nov 4, 2009
1,456
0
0
As a tester, I'd say it's the QA team's responsibility to validate the above. Though ultimately it's the title's producer/product manager who will make the call on how many resources to provide for hardware/driver compatibility testing. If there's a time crunch and a 3rd party like nVidia offers to help validate you can bet your ass they will take the help.
+1

As far as "breaking things" on ATI, I'd be willing to bet that this is more a result of nVidia optimization recommendations then the development team making an active choice to break/disable ATI. nVidia's support team isn't stupid, give out free dev assistance that improves your product with the side bonus of using methods that perform worse or not at all on ATI hardware.
Not that I disagree, but I don't think "breaking things" is necessary as it creates negative towards TWIMTBP from developers. TWIMTBP will appears to be very biased if its featuring games will break when ATI card is used, thus suggestions and changes by TWIMTBP will likely to be turn down for this reason. Having said that, if the entire development is done and QAed on Nvidia's hardware, then the end product will end up favoring Nvidia's hardware as there are differences on how codes can being handled behind those APIs.

For example there was a pretty rapid shift to games requiring DierctX 9.0c back when a fair number of ATI's installed base was still on 9.0 hardware. I'd be willing to bet that rapid shift was in large part to the help nVidia was able to give developers.
+1

Not the Evil Game developer, just a smart nVidia. Offer much needed help that also happens to promote your product. Nothing wrong with that approach in my humble opinion. It happens with business systems all the time. Lots of free support from vendor x so that they can embed their program/api/or methodology into your organization. In the short run it's quite beneficial to both organizations. In the long run though it was a great move by the vendor to lock in the client while coming across as helpful.
+1
They give resources to developers for an opportunity to implement its own little tricks, like PhysX and 3D. As a result increasing its popularity. It is free to developer, and the cost is put on top of video cards. In other words, consumers of Nvdia is paying for TWIMTBP.

Now if there's proof that some devs took $$ from nVidia to knowingly disable/block ATI this is an entirely different story.
+10

very well said.
 

Seero

Golden Member
Nov 4, 2009
1,456
0
0
TWIMTBP has does only one thing, which is to provide aid to game development. Programmers are not god, there are new things in programming everyday. They are busy enough to put their own thoughts together. We know Dx11 exists. As users, all those post processing, SM5, and tessellation is what it is. To programmers, it is a bunch of new APIs. Yes there are technical specifications about what those API does and how to use them, but the only way to really know how to use them is by try them. Unfortunately, time is limited and those APIs behaves funky sometimes. It may work the way you think one day, and fail miserably any other. Only experienced programmer can show you the light, but where do you fine them?

Again, ideally, all API works, hardware will not malfunction, and all parts from all vendor behaves identically. But if you have an ATI and a Nvidia card, then you will know that there are differences playing the same game on those cards. That means there are different behaviors with different vendors. Now sometimes you can use a program from your vendor but it crashes on your PC and you need to wait for a new version to fix it. That means parts from the same vendor also may have different behaviors. Did I mention CPU, RAM, Motherboard, OS, game engine and the programming lanaguage?

To avoid bugs and save time, developers rarely build from ground up, they usually pick up an existing engine and build on top of it. The down side of using pre-existing engine is it misses those OMG new features. As I say, "Use what works. Least cost possible." That means forget about those fancy PhysX or tessellation, just put together the game and sale it. Why bother with those unique eye candy that are console specific and/or video card specific?Just pick eye candy that works for all consoles and PCs so it will work for game consoles (less bugs due to less variations) and later port to PC.

"But why am I buying a 500 bucks video card where I can by a game console with half of the price and play games on a TV that is twice the side of my monitor?"

Pick Devil May Cry series for example. It was big since Playstation. It was later ported to PC, which was as good as the console version, until DMC4. It actually out performs the console version due to a power video card. To top it off, it runs in 3D.

Pick another example, Dragon's Age. It released console version as well as the PC version at the same time and reviewers said the PC version is actually better than the console version. With or without 3D.

The point I am trying to make is there are needs for developers to use new technology and they won't use it unless help are given. Again bugs are bad, and starting something new means the creation of bugs. As the degree of new things used increases, the number of bugs also increases. Not linearly, but exponentially. So why program in Dx11? Yeah wait until 2020 when everyone actually use video cards that support it so the market is not limited because a large portion of the market is still using Dx 10 cards. For now lets start program in Dx10 as bugs within Dx10 have been cleaned up mostly and most people have the hardware to support it.

"So what now? what am I going to do with my 5890?" <- ATI fans
"Well at least yours is cheaper than my Fermi, which is not even out yet!" <- Nvidia fans

Yeah, Dx11 benchmark is the one thing people with Dx11 card do most, because there is nothing to do better than that. Bravo. I wonder what is more fun, Pac-Man, or that.

Those who said "if the dev can't even do that without help from nV then they should not be making games" can have fun with your benchmark of joy until 2020. I have no problem with that. I, however, want to see better games, even at a cost of better geared PC. I will buy a high-end card when I need to, and sorry my eyes can't see any difference between 100FPS and 3000FPS. Anything between 40-80 will do. So who is going make me happy?

It should be clear why developers need help, not so much as to complete what they start out with, but the use new stuffs that they won't use without the help, and TWIMTBP do just that. Keep in mind that ATI also have such team, just a lot smaller. Without them, we may as well go buy consoles.
 

Dribble

Platinum Member
Aug 9, 2005
2,076
611
136
Please get out of this thread. TWIMTBP isn't saving anything in terms of PC Gaming. PC Gaming developers are the ones responsible for doing that, NVidia is just along for the ride.

TWIMTBP isn't saving PC gaming, if anything I'd say steam is doing that.

However it is generally a good thing. For most games it's not there to block ati, but to fix bugs. It provides a large amount of additional testing of games (obviously on lots of different setups, but all with nvidia graphics) that the developer wouldn't otherwise do and experts to help fix the bugs. This means less bugs for everyone (as a lot of bugs that would also effect ati will get found) so is a good thing. Obviously ati specific bugs won't be found but you could still argue that ati gets a free ride as it's not having to do most of the testing - it lets nvidia do that then just fixes the remaining ati specific ones later.

I would have thought both microsoft and sony have similar qa programmes for anything released on their consoles so you could say nvidia does most of the non-developer qa for the PC, and has found lots of bugs that would otherwise have gone into released games and we would have had to put up with, so before having a go at TWIMTBP again remember it's probably saved you a lot of in game crashes.

Obviously what would be ideal is if ati could expand there programme to be the same size as the nvidia one and then even more bugs would be found and fixed, we'd have even less buggy released products, and ati users wouldn't have to wait 3 months for all the ati specific niggles to get ironed out of new releases.
 

Outrage

Senior member
Oct 9, 1999
217
1
0
So whats the reason to keep game devolopers around? Just let nvidia and atis' dev rels turn into gaming studios. If ppl think its perfectly fine to lock out code the dev rels put in to the games, aint this the path we will go down.

You wont buy a gaming pc anymore, you buy an intel nvidia or ati pc consol.