In my nightly travels across the internet tonight i stumbled upon to an article about EA Games praying for one day just one platform to develop games for. The article goes on to point out how Sony and Microsoft would never allow such a thing to happen etc. insert boring mumbojumbo here.
I’ve also been pondering a similar issue recently. I got the itch to play Elder Scrolls IV: Oblivion the other day, so I go into my closet, dust out the dvd throw it into linux and try and WINE it; why I would try this before checking online to see if its compatible I don’t know. Needless to say it didn’t work the first time, I do some research online and eventually get the game to load up.
Two issues. 1) It was annoying to get the game to work. Despite the fairly simple and thorough walkthrough I had little quirks causing this problem or that problem which were unforseen and took time.
2) Even once the game loaded, I had bad sound-static problems and visual artifacts in the menus and no HDR.
I rebooted into windows (which i hate doing), game played perfectly the first time; of course.
So… (and to my purpose in this post) we’re left with a conundrum. There are a couple ways to play games on Linux
1: The game creators released a linux version which most likely installs with no issues and works well.
Pros: It works!!!
Cons: It cost the developers extra time; very few games have this option
Pros: Pseudo-works for many many games.
Cons: Almost never works the first time, almost never works flawlessly. Theres always some glitch you either have to ‘just live with’ or find a workaround.
3: Reboot to windows. Not a good option as it doesn’t satisfy ‘gaming on linux’.
Pros: It works
Cons: Rebooting sucks, hard core.
So we’re obviously stuck between a rock and a hard place: native games are hard to find, and implementations on windows, while making great progress, are far from perfect and rightly so; developers make games FOR WINDOWS and its thus ridiculous to assume we can be clever enough to make them work perfectly on an entirely different OS, that they work at all is simply outstanding.
What would be a better solution?
Virtualization. I think that if some company produced a _fully_ accelerated X86 emulator that could run games even at 80 or 90% native speed virtualized, this problem would be solved. Yes, if the world were perfect for consumers developers would have infinite time and resources and release every game natively for every platform and operating system. The world isn’t; in fact its far from it.
So my prayer to the world: Lets bite the bullet so to speak, and accept what would be a fully working solution (if not the most ‘proper’). So, if you’re listening oh mightly philanthropist looking to throw lots of money at a project (or somebody like vmware already): please make a virtualizer (preferably free/open source) that allows for quality opengl/direct X accelerating. Developers could then focus their time on making games work well on windows, and Linux(solaris bsd etc.) users could be happy and simply virtualize windows to play the games.
Yes this requires buying windows, but it doesn’t require rebooting; which is my principle problem with the typical dual boot system. Its a price i’de pay to not have to reboot to play games. Booting a suspended OS in vmware takes about 3 seconds at the moment; meaning playing games is just one or two clicks away; perfectly reasonable considering they would be on their native environment and work 100% with no ifs ands or buts.
Update: Turns out im a fool and was using an old version of wine in working with Oblivion recently. With the most recent version the game runs nearly perfectly (with very very few of those ‘just live with it’ bugs). So many many kudos to the wine folks; as my frustration with wine has subsided a lot as of today.