Linux and Games (Editorial)
When I talk to my friends and business associates about using Linux as a desktop OS at home, they invariably ask, "What sort of software runs on it?". A quick demonstration of KDE, Netscape, and StarOffice usually convinces them that it has potential, but they are put off by the lack of commercial games and multimedia software. I myself boot into Windows on an almost daily basis, and it's always for one of two reasons: to run Microsoft Money (hopefully this will soon be replaced by either KMoney or something from the GNOME project) or to play a game which isn't available for Linux (read: just about any of them that aren't published by id).
There is currently very little incentive for game developers to port to Linux. Our installed base is still comparatively small (the most aggressive estimates I have seen put us at about half of the Mac's installed base), and there is an all too common sentiment that those who don't buy into the Free Software Foundation's dogma in its entirety are vile heretics who should be erad icated (Please don't misunderstand me; I support the ideals of the FSF, but not to the point of believing that it is unethical to release closed software). This creates a classic chicken & egg dilemma wherein most developers don't want to support our beloved OS and most non-hacker types don't want to use it bc they can do more of what they want to do with Windows or MacOS. Ultimately, it is not our noble ideals that will bring converts to Linux; converts will come when they can run the programs they want to run on an OS that is stable, easy to use, and fun.
Towards that end, I suggest that the world needs a free (LGPLed) cross-p latform multimedia API. There are various projects in the works which are aimed at simplifying game development under Linux. Unfortunately, that is their greatest weakness. A Linux-only API will benefit hobbyist developers, but it won't offer the necessary incentive for commercial developers to make the product available for Linux.
Crack.com (of Abuse fame) is the only game developer that I am aware of which is planning on producing a fully supported Linux version of a new product: Golgotha, the first 3D action game in a long time that seems like more than a Quake clone. Crack.com p refers to call it an action/strategy game to emphasize the characteristics which differentiate it from the rest of the 3D genre. Since Dave Taylor is a member of the slashdot community, I asked for his thoughts regarding the current state of Linux development.
I was pleasantly surprised to hear that the code base was not all that different between the Win32 and Linux versions of Golgotha. Thanks to the Linux port of the Glide library, the 3D code is largely portable. The Windows version also supports Direct3D, for those of you who are into that sort of thing. They were able to provide equivalent functionality for DirectSound (except for 3D positional audio, which Linux still lacks) and DirectDraw.
When I asked Dave point blank whether or not a cross platform API would be beneficial, he replied: "Yes, it would make us happier, and hardware vendors would love it, too. But the main problem is Microsoft. They want to ma ke the standards. They do not dig on open standards, and they will basically force the hardware vendors to support their standard, leaving them little money or time to support the open standard." This is pretty obvious when you look at the number of graphics cards supporting OpenGL vs. the number supporting Direct3D.
So, what is the answer? Dave Taylor suggests going the opposite route a nd creating a GGI layer for Windows that would operate above DirectDraw and an OSS layer that would operate above DirectSound. This would certainly give Linux developers a path to the Windows world, but I'm not sure that it would give enough of an incentive to those who are already comfortable developing with DirectX.
My vote is for the more subversive and radical solution: create a free DirectX clone for Linux (maybe for Windows as well). Aside from Direct3D, I have heard very positive things ab out it from a developer standpoint. It would allow developers to create much more portable source code which would allow commercial developers to reach a larger p otential customer base without drastically increasing their development cost and which would give Linux developers the opportunity to reach the rest of the world.
So far, the best hope seems to be the Simple DirectMedia Layer, an API being developed by Sam Latinga (the fellow who did Maelstrom). It's still in early development, but he already has some real games coded with it (SDL versions of Maelstrom and Doom). Currently it supports Linux, Win32, and BeOS. One of his stated future goals is DirectX comp atibility. Sadly, I found out about the project too late to get any direct comment from Sam.
Lastly, I'll try to head off the flames before they start. Some will say that commercial development for Linux is bad. That's ridiculous. Any development is good. If you aren't comfortable with whatever restrictions a vendor puts on their product, don't use it. Either wait until a suitable free replacement comes along, or go without. The beauty of GNU/Linux is that it provides choice which can never be taken away. No matter how much commercial software is released, you always have the option of either modifying existing public source or creating your own.
Special thanks to Dave Taylor of crack.com for taking time out of his development schedule to answer my questions and help me form my opinions. If you would like to show your appreciation and prove that developers can make money on Linux soft ware, buy a copy of Golgotha when it's released.
Linux and Games (Editorial) More Login
Linux and Games (Editorial)
Related Links Top of the: day, week, month.
Slashdot Top Deals