Tuesday, October 4, 2011

The Sims 3 Teaser on Wine

When EA unveiled a Sims 3 demo that could run on your browser through the Gaikai service, I thought it was a great way to provide cross-platform Sims gaming. After all, the Sims Social facebook game was utter piece of crap. I figured I'd give this game a go to see how everything worked, but as it turns out Gaikai deemed my area too far from their data centers. I guess that was it as far as running it from a browser went. Time for plan B on playing Sims 3.

I checked out EA's online store Origin and discovered there that if you have Origin setup on your computer (please guys, read the Terms and Conditions for some nasty I surrender my PC to EA banter), you can add the game to your account and download the actual teaser. Sweet.

I did try to install Origin on Wine (version 1.3.11) but everytime I tried to log in, Origin would say 'Login Failed'. That did not work the way I had hoped for sure. The only sure fire way to get Origin to work was install it on my throwaway XP box and I managed to get the 2.5 GB download there. It was time to plan on how to transfer the game into Wine, so I started poking through the innards to figure out how it could be done.

Basically, the idea is to fool the game into thinking that it is installed with all the proper registry entries slipped in. To perform this surgical operation, I exported several registry entries out of my XP box. Look at "HKEY_LOCAL_MACHINE\Software" and grab the following keys:
  • EA Play
  • Electronic Arts
  • Origin Games
  • Origin
As far as I could tell, the rest are either miscellaneous or not related at all. Truth be told, I wasn't entirely sure that the registry entries are necessary, but I used them anyway. Aside from the registry entries, I also snagged these folders off my XP box and dropped them into my Wine virtual drive.
  • C:\Program Files\Origin Games\The Sims 3 Teaser
  • C:\Program Files\Common Files\EAInstaller
After putting these into the proper install paths, I tried to run the game on a 1024x768 virtual desktop and although the game didn't immediately complain about install corruption, it was complaining about msvcrt80. To fix this, I ran 'winetricks vcrun2005' to make wine install the proper libraries. I imagine that installing 'vcrun2005sp1' would be a better idea though.

The end result is that the game did run, albeit not perfectly. There's very apparent problems with the Z-buffering rendering causing the game to cull incorrectly. Several objects were de-rendered incorrectly causing Sims to turn temporarily invisible. Tweaking the OffScreenRenderingMode on Wine Direct3D settings to FBO did not help either. On the Wine console debug printing, I see plenty of Stencil Buffer errors and fixmes so this is definitely a Wine deficiency.

The next step I plan to do is to update my Wine libraries to 1.3.29 and hope for the best. I will post back results as soon as I have them.


No comments: