After several talks with a few of my friends on what operating system we should use for the A.R.E.S. project we finally decided to go with a Linux distribution (I get my Linux from Linuxiso.org ). Now picking the right one for us has been a bit of a challenge but we have narrowed the field down to two. At this point we are either going to use Mandrake or Slackware. All this reading I have done about Linux has prompted me to write a little article about gaming on Linux. Recently (this week) TransGaming released a new version of WineX now named Cedega. For those of you who have no idea what I am talking about I will go into a little history of Linux gaming and why we have such problems getting games created for Windows to work on Linux.
Linux has always had some basic games available but the first company to actually port Windows games to Linux was Loki Software. Loki Software has since closed (circa 2001) but they left a mark on Linux gaming and deserve to be mentioned. Since the Loki days several games have chosen to actually support Linux with a boxed version available (Most recently Unreal Tournament 2004 ). However, there is still no wide spread publishing of Linux games. That is where programs like WineX come in to play.
There are many problems with porting a game written for Windows into Linux. The basic problem is that most Windows games are written for DirectX . DirectX is a technology that allows for better quality video and sounds along with some other features like input device controlling and some networking technology. DirectX is not available to anyone outside of Mircosoft, so Linux developed its own game optimization technology, the best known and most widely used is OpenGL . With this in mind you need to understand top quality cutting-edge games require pretty intense hardware. The best video cards available may not have drivers compatible with OpenGL and if they do have these drivers they may not be very polished (As a rule of thumb, if you are going to play games on your Linux machine you should use an Nvidia graphics card, I have found that they have better Linux support than ATI ). So with these concerns in mind you have to understand that Linux can not run windows executable files. Now to bridge the gap some technologies have been made to fix this problem; most notably WineX.
WineX is an interesting bit of technology that simulates the Win32 API on Linux. TransGaming explains the WineX (Cedega) technology on their website; “In simplified terms, Cedega loads a game's binary into memory on a Linux system and then dynamically links to code that provides an implementation of the Win32 APIs that the program is using. The APIs that Windows games are mostly built on top of are primarily based on Microsoft's DirectX system. These APIs include facilities for handling 3D graphics (Direct3D), mouse and keyboard input (DirectInput), audio (DirectSound), and so on. TransGaming works to create Linux compatible versions of these APIs that work on top of the Linux equivalents such as OpenGL, X11, and the OSS and ALSA sound APIs. An important attribute of Cedega is the complete support for third party engines and SDKs such as Bink, Lithtech, Miles, Havok, Renderware, etc.” While it sounds great and supports a good amount of top quality games Cedega will cost you $5 a month.
So now you are wondering what about native games created for Linux? Is anyone out there writing games specifically for Linux? The quick answer is yes, but the long answer is a bit more complicated. Linux is used by a fraction of the population of all computer users. Essentially most companies can't afford to put in the effort of creating games for such a small audience (just look at the list of games available for Macs). However, this is changing. A few books have been published on writing games for Linux (Find them here) as well as some innovative tools for writing games in OpenGL (Blender). The reality is that no Linux only games will be created anytime soon. The demand is just not available yet. But there is a few projects that have been created to help spur the Linux gaming movement. If you want more info on Linux gaming check out these sites:
-Seth (25-Jun-2004)
Talk about this in the Forum |