9/21/08

Ati is dead in the Demoscene

There are a precious few groups (the best groups) who are able to write shaders for both Nvidia and ATi cards. Weaker coders just code until it works on their cards and release, not knowing they are writing bad code. The worst of these will then blame bad drivers for their poor coding but the truth is they probably didn't even read the specification.

This situation was ok(ish) at the beginning of this year, before Nvidia demo boxes were sent out. However, now Nvidia dominates the demoscene (well done, it was great marketing by the way). Of the 4k teams out there, only TBC, RGBA and Fairlight are sure fire to work across many platforms. Notice how each group has a star programmer in there? ATi owners are left in the cold - few 4ks now running on their hardware.

Whilst 2008 seems to have been a good year for the quality and variation in 4ks, there is a darker side too. PC 4ks have become dramatically less compatible. Precious few run on ATi cards, PS4.0 has been used but runs on very few cards out there and, the winning 4k at NVScene doesn't even run on the XP operating system.

If you are new at this you probably don't know that being compatible costs bytes. It means your sound engine cannot use tracks available in one OS. It means shaders become slightly bigger, maybe even with multiple versions. It is not a level competition between the compatible and "works on one machine" 4ks. Not just this but producing compatible 4ks is harder - it requires more work. I spent a day recently debugging my shaders on Nvidia after size reducing them on ATi. Simply put, compatible 4ks should be given more credit. In a world where 100 bytes makes all the difference, exploiting OS specific advantages is a huge advantage.

Non-compatible 4ks usually claim to work on the "compo" machine. After all they wouldn't be released otherwise. This is fine except the bigger parties are now providing very high end machines (full HD, quad core, >2Gig of RAM, ps4.0 new graphics cards). Most people do not have access to this technology, creating an elite who do. Thank goodness for smaller parties with more modest machines for competition, yet even they this year got their hands on Nvidia demo boxes, temporarily (I hope) exaggerating the problem.

How far will we go with the non-compatibility? I suspect we will go all the way. The competition system is set up to reward those who do produce something that works on one machine. Nothing else matters.

What if it changed? What if competitions DID NOT announce the hardware or OS? Imagine a 4k intro competition with these rules:
*...
* OS will be XP or Vista
* Card will be ATi or Nvidia but will support PS3.0
* Organisers will run entries on compo machine and report results to competitors but no information about the compo machine will be released even at the party
*...

Isn't that the problem solved? If nobody knows the machine, it forces competitors to try to be compatible, not use too much CPU, be conservative on memory use. 4ks will run no a wider range of platforms and within one year we will all know how to write shaders properly.

I saw once someone suggesting we have a standard competition machine. I think this is unworkable. How will, say Riverwash, be able to access the same tech as Breakpoint? Its unlikely. In addition it doesn't solve the real issue. It just means every 4k will run on that platform (much like the Nvidia demobox problem of 2008) and no other.

Another possibility is to allow remote voting. Provide the entries live at the party for download. We at home can try them and vote. If they dont run we can give bad votes. The problem with this is (I suspect) it is open to abuse too much. It would be a brave party organiser who tried this.

No, the real solution is to make the target platform anonymous. Though, wait! If the platform is anonymous, some people will fail to get their precious 4k working. This will reduce the number of entries shown at parties. The smaller parties in 2008 struggled anyway to compete with the bigger ones for number of entries. So there is a downside.

Well, it seems the solution is simple then. Buy nvidia, upgrade to vista, replace that 2 year old PC with a new one and add lots of memory.

I know a good bank manager...