Tuesday, October 14, 2008

Black Textures on BioShock

So BioShock ROCKS. Ok, we know that.

Now for the issues...

I tried the demo back on my 6600GT AGP card a while ago, and figured it couldn't run (or look nice enough) with that card. So I uninstalled it.

Then I bought the retail version on my last upgrade, and had some issues with it.

I did some WinDbg debugging, some cleanup, chkdsks, etc and now the PC stopped crashing.

After a while, 30% of the game started showing with black textures, as if the lighting was messed up. Even worse, some characters (and bots/turrets) showed invisible textures, which made it very, VERY frustrating to play (I am walking happily, then suddenly I start getting my health all drained up. Guess what? Invisible enemy).

So I looked in forums all over, found nobody with my exact problem. Tweaked the hell of all the available .INI files in the games. Until I found a solution buried under a forum:

* Uninstall BioShock Retail
* Install BioShock Demo
* Uninstall BioShock Demo
* Install BioShock Retail

All's good now.

It's really perplexing since I did a full Windows Install after I first installed, so no traces of the BioShock demo would be there...


Crowbar said...

It really makes you wonder how in heck such a bug could even happen. What in the world could possibly be going on under the hood that this repro path would make a difference?

R Caloca said...

Yes, that seems like a very, very strange bug. My theory is that the SecuROM system made some changes somewhere in the filesys which was corrupted (since SecuROM seems to mess up the NTFS system pretty nice in order to 'copy protect').

Edmundo. said...

But for the SecuROM to mess around with ntfs, wouldn't it create a "file not found" problem instead of a "corrupted content file" one? I don't have even a tiny idea of how does all those texture files work (the only way I'm related with game companies is that I buy games...) but, shouldn't they be checked with some sort of checksum by the game engine to avoid someone to try to put something else there? :$ :$ or is this in some (or a lot) way out of what it really happens with files loaded by the game engines? :$ :$ :$

For what you say on installing / deinstalling a demo version, it sound more like the demo uninstalls in a "dirty" way leaving behind files or configs (I would check for .DLL / .INI files or changes on registry).

R Caloca said...

No, the SecuROM is actually a rootkit in that it installs a service that (I think) hooks into the ntfs services and checks for that particular folder, 'fixing' it, so you can't 'easily' crack it...