Slashdot Mirror


Promises And Pitfalls In Linux Game Development

Mark 'Nurgle' Collins contributes the piece below on some of the factors which undeniably influence the state of Linux games, espcially for developers hoping to make money by selling them. I haven't been there in a few months (been hooked on various Free games instead), but I know I bought Quake III Arena from dedicated shelf space at EB -- so Mark's optimism can't be that far off the mark.

As a follow up to an article that appeared on GameDev.Net GameDev.Net last year, I've decided to update it and note some of the changes in the industry that have occured, from the news of several developers forming in-house porting teams to Microsoft's stance on opening parts of DirectX. In the original article, I explained the lack of developers interested in developing Linux titles -- their disinterest left the task to a few companies that were established for the sole reason of porting Windows titles to Linux (namely Loki). Since then however, several larger developers have formed in-house teams to port their titles to Linux. That means companies such as Creature Labs, (currently porting Creatures 3 to Linux, should be out very soon), which probably once considered Linux to be so niche that only a group of complete idiots would try and make money out of developing games for it.

Of course, there is always a group of idiots, and those idiots were Loki. By convincing larger developers to outsource the porting, they demonstrated that there is a market on Linux, albeit not a very large one. But how large is the market? According to John Carmack (For cave dwellers: John Carmack is the "big guy" at id software), sales of the Linux version of Quake III Arena were worse than bad, but is that a suitable example?

Like many examples of the poor sellers blamed for the lack of new Linux games, the Linux version of the product was released after the Windows release, but the datafiles were compatible with various other operating systems. With patches and downloads for the other platforms freely available on the Internet, why would should people wait a few months to get the latest gore-fest when they can buy the Windows version, reboot, and play on another platform until the binaries for Linux become available?

The sales figures that the skeptics quote should never be considered of any merit until a few games are released for Linux and Windows simultaneously.

Many people seem to be under the delusion that publishers wouldn't be interested in Linux games, but this isn't the case. Granted, many of the publishers who are prepared to venture into the world of Linux are usually associated with budget titles and/or long dead platforms, they seem to have faith, and with shops such as TuxGames offering a wide range of Linux title, it seems there is a market after all.

But what about the developers? Well, it seems that many of the larger developers aren't prepared to take a chance on Linux, with companies stating that there are too many complications when developing with Linux, such as the lack of DirectX-like APIs.

Sure, we have OpenGL, but with the release of DirectX 8, the cross-platform API just doesn't cut it anymore. Lacking universal support for vertex and pixel shaders, developers are forced into the situation where they can either reduce the quality of their titles by ignoring the improved features that the newer releases of DirectX offer, or by ignoring Linux.

Unfortunately, many developers choose the latter option, instead of thinking about writing clean code which allows the operating system to be accessed only through an abstraction layer, reducing development times for ports as well as allowing the programmers to change the lower-level code without breaking anything.

In a recent discussions with Tony Cox, head engineer of Microsoft Gaming Relations, he informed me that Microsoft is currently looking at ways of opening up parts of DirectX, with the aim of getting the technology onto non-Windows platforms.

When we originally discussed the issue, he was refering to getting DirectPlay support for the PlayStation 2, but in later discussions he mentioned that they may allow 3rd party developers to do the work for them, including Linux support.

With the ever increasing commercial interest in Linux, from both publishers and the developer studios themselves, it is only a matter of time till shelf space in your local EB is dedicated to Linux.

8 of 118 comments (clear)

  1. Re:It's not about timing by demon · · Score: 4

    Making a DirectX equivalent for Linux is a good idea too. Duh.

    Hmm. Has no one here heard of SDL? http://www.libsdl.org/ - go check it out. It's the library set that Loki uses as a base for porting its titles (developed by Sam Lantinga, an employee of Loki). It even works on top of Solaris, BeOS, MacOS, MacOS X, Win32, etc.

    Or no, maybe we should just develop yet another completely incompatible API, that's specific to one platform. What a great idea. (Not.)
    _____

    --

    Sam: "That was needlessly cryptic."
    Max: "I'd be peeing my pants if I wore any!"
  2. OpenGL comment off the mark by Sludge · · Score: 5
    Sure, we have OpenGL, but with the release of DirectX 8, the cross-platform API just doesn't cut it anymore. Lacking universal support for vertex and pixel shaders, developers are forced into the situation where they can either reduce the quality of their titles by ignoring the improved features that the newer releases of DirectX offer, or by ignoring Linux.

    OpenGL extensions ARE a viable way to access the pixel shaders. For game programming, a lot of the OpenGL API is obsolete. Using glLight* calls to light a scene is just not done. People commonly prefer to use GL_ARB_MULTITEXTURE and blend another texture pass with lighting.

    Likewise, the GL calls for the new pixel shaders are reputedly supported by the Nvidia drivers under Linux already. John Carmack stated that when Doom 3 comes out, it's going to only work with all it's features under Nvidia's drivers. However, he's going to lend some code to get the other drivers for the operating system up to speed.

    OpenGL is not a lost cause. Dx8 is getting a lot of hype right now. Lots of developers are preferring it because, imo, Microsoft has very timely, large and helpful responses to game develpers, whereas OpenGL has to also cater to those CAD guys.

    For a list and description of all the OpenGL extensions, see this URL.

  3. Not done his homework... by Tord · · Score: 4

    Unfortunatelly I find Mark's article quite substance-less and quite a number of erros. Since I've investigated the situation of gaming on Linux quite extensively for the last few months I think I should correct/add some things:

    1. I don't know any game developer who have formed inhouse Linux teams. The Creatures port is done by one or more of the original coders, mostly or completely on their sparetime since some of them are Linux fans. The company just decided to take a shot to test the waters and make their developers happy when they practically gets the port for free anyway. This was quite obvious from an interview that I *think* was headlined here on Slashdot.

    2. If I remember correctly Carmack said that Linux sales "were a disappointment, but covered the costs". Of course, it's up to anyone to interprete that but I wouldn't translate it to worse than bad.

    3. There are already games that have been released for Windows and Linux simultaneously, but most of them have been distributed on the same CD so it's hard to separate sales according to platform. No bestseller has done that so far though.

    4. He forget what I see as the main reason for low Linux sales of Q3A: The terrible state of 3D support back then, making it almost impossible for people to run even the demo. Would you buy a game that you can't run? With XFree 4.0x the situation has improved drastically. Note that Loki didn't port any 3D games until later, when 3D acceleration was a little bit more in order, a wise decision I would say...

    5. See some earlier posts regarding the state of Vertex Shaders in OpenGL.

    6. Microsoft has Direct X, we have OpenGL/OpenAL/SDL which works great in combination and provides us with a very nice, cross-platform API that I (professional game developer for more than 5 years) and many with me clearly prefer instead of Direct X since the API is so much easier and straight forward. Granted, Direct X has a lead, but OpenGL/OpenAL/SDL keeps up quite nicely in the development.

    7. He forgot to mention that we now have at least 3 porting houses. Loki, Tribsoft (www.tribsoft.com) and Hyperion Software (www.hyperion-software.com). Which I think is very promising.

    However, I do agree with his analysis that things keep getting better. The technology (especially 3D acceleration) has taken a big step forward, more games are coming from more developers/porting houses and total game sales are increasing.

    I also know some more good news, but unfortunatelly I can't tell you about it... ;)

  4. Jeez by Hermanetta · · Score: 5

    This is not a troll or a stab at any Linux OS or the Linux community, but some of these excuses for why Linux is where it is for gaming are sad.

    "If they would have come out at the same time..."
    "If the price wasnt different..."
    "DirectX 8 is better now, noone will use OpenGL..."
    "People who run linux arent hardcore gamers..."
    "Why dont they just release a free or near free Linux version, when the PC version stops selling..."
    etc...
    and my favorite "going to say something bad, forgive me" line:
    "Linux is great for games, don't get me wrong..."

    I love the last one because it is so far from reality. I think this is the reality:

    - The non-comercial Linux users do not like to buy software, ever. No one will make money becuase you dont buy. Hint, they know this. If the brunt of Linux development is people doing it in there spare time, i.e. people who have to make money and eat, then programs that are hard to make like games, will always come slow.

    - This is true wether the price was higher, the same, or lower. Without commercial incentive, you are screwed. Having a Linux dev house make a game just to please the hardcore set that never really makes money, will never get you there. Carmack said, go buy it and show us there is a market. Did you do that? Why? Even just to prove that you care, you could have. You didnt. It was a test case, and you helped people see it as more of a money loser.

    - DX8 has nothing to do with anything. Several developers have been busting their ass for years to use OpenGL which has always been a uphill fight for PC games. There were no drivers, there were no cards, there was no to little support from Microsoft. I mean just think about the drivers issue, Carmack had to pay a guy to build a big diver bundle because if he didnt, the game would not have worked for anyone. Anyone does not mean us or any of the upper 10% who can go get our own stuff, but the masses. I mean he was commited, and knew he wasnt going to make any money as far as Linux was concerned, but wanted to do the right thing.

    - I think lots of the same people who are hard core gamers are Linux friendly. But that still has nothing to do with comercial viability, which is the mass of people who would like to buy a game who do use Linux.

    - This one kills me. The one about giving away a game when its done selling to the PC or other platform. Most companies cant afford to go back and rework what is basically an end of life product for a platform that they precieve as never making money. Especially if they are going to have to support it. No that doesnt always mean tech suport, but worse programming sources at maintainance.

    - The plumming in Linux is cool, but not the best for making and selling a game. Examples: - xFree86 - dll hell in latest distros which compounds the problem of releasing binaries for all the distros - better, but not great, essential API and hardware support - etc... Dont think so? Ask someone who has to try to make games.

    - Im sure if you go back and read all of these posts and think about what Linux has to offer from a business and technical stanpoint, and really think about it, then you might see where im comming from.

    So flame me if you must.

    I think Linux and the community that surrounds it are a great idea. But if you dont do a reality check every once in a while, linux will never climb out of the hole. Isnt that what you want?

    Just dont say late product, microsofts fault, wrong price, greedy corporate whores, etc... And if your really desparate, you could try buying a game for linux. That way the people at the game companies who bothered to make the software for you winey asses can feel like they might be able to make a living from Linux software one day.

    Then maybe they can drop windows. :)

  5. Linux games cost more than the Windows version by Mikepekim · · Score: 5

    The Linux versions of games are often priced much higher than the corresponding Windows version. It's tough for me to justify buying the Linux version when I can get the Windows version for a much lower price.

    For example, Quake 3 Arena for Windows is available for $29.99 from Amazon and the Linux version is $44.99 from Amazon. (or $44 at Tuxgames).

    Alpha Centauri is $9.99 at Amazon, and the coming soon Linux release is priced at $49.99 on amazon and $46 on tuxgames (yeah, the Linux version comes with an add-on pack - the corresponding Windows version is $39.99 on amazon).

    Simcity 3000 Unlimited is $46 on tuxgames, and $49.99 on amazon for the Linux version. The Windows version is $39.99 on Amazon, while regular Simcity 3000 is $19.99 on Amazon.

  6. Well, the way I see it... by Chester+K · · Score: 4

    As a designer at a company with a title about to be released on the Windows platform (see our ads in the May issue of PCGamer and CGW), I've brought up a couple times in our meetings that we should at least try to see if we can easily compile our code under Linux with Winelib.

    Unfortunately, it's far from trivial to do. On top of that, our market studies show a very, very minimal market for Linux games. Most Linux installations are running on servers, not "desktop" systems, and there's such variation between different Linux distributions that shipping binaries for Linux-as-a-whole makes shipping a binary that runs on Win95, 98, ME, and 2000 look easy.

    In short, we haven't been able to justify spending a disproportional amount of time on Linux users compared to Windows users.

    It reminds me a little bit of a webpage I put up (this one, if you're curious), which relies on some Javascript for the user interface. Unfortunately I had to make the page IE only because I couldn't find any decent documentation for Mozilla's object model, nothing nearly as nice as Microsoft's documentation for IE, so I had to end up dropping support for Mozilla. IE makes up 80% of my readership, and I had already spent well over half the time I spent developing the page just trying to get it to run with Mozilla. I had passed the point of diminishing returns.

    So I can understand my company's stance on not being interested in putting the effort in to get the code to work with Linux, but I'm still rather interested in doing it myself. Which brings me to a question: If I'm able to get the game running stable under Wine, can we ship a copy of Wine and a Linux installer on the CD and advertise we're a game that runs on Linux, or is that cheaping out?

    --

    NO CARRIER
  7. It's not about timing by Apreche · · Score: 5

    The reason that Quake 3 Arena for linu didn't sell well is not just because it was release well after the windows version. There are numerous other factors that aren't even mentioned here.

    The first thing is that the are selling a game for linux, that can already be played with wine quite easily. Anyone who wants to play games and uses linux, probably is already doing this. They should release a game like counterstrike which is difficult to get to run under wine. Or a game that is impossible to run under wine like Tribes 2 (I tried, maybe someone else succeeded).

    Why should they pay money? Let's take it for granted that you aren't a software pirate. When new software comes out for windows you run out and pay 50$ for it. When new software comes out for linux you go to freshmeat and download it for free. Linux people don't like to pay for software. Linux is a high quality operating system for free, and windows is a low quality operating system for lots of money. That's what keeps linux alive is that it costs 0$. People don't want to pay money for linux software.

    I propose that game companies release FREE linux versions of their games. Not their newest games, but games that are just old enough so that they aren't selling any more copies. Basically everything from abandonware up to the tomb raider series, final fantasy 7 + 8, Mechwarrior 1 - 3, etc. Every games from that time back should be made available free for linux. All the gamers would RUSH out to download mandrake and red hat so they could take advantage of the situation. Then Start releasing the new games for Linux and charge money. Claim that the game runs faster in linux and is more stable (it's true). Charge only 40$ instead of 50$. Watch the money fly in.

    Making a DirectX equivalent for Linux is a good idea too. Duh.

    --
    The GeekNights podcast is going strong. Listen!
  8. OpenGL and pixel/vertex shaders by ryants · · Score: 5
    Sure, we have OpenGL, but with the release of DirectX 8, the cross-platform API just doesn't cut it anymore. Lacking universal support for vertex and pixel shaders, developers are forced into the situation where they can either reduce the quality of their titles by ignoring the improved features that the newer releases of DirectX offer, or by ignoring Linux.
    What a crock. With OpenGL extensions, you can use the latest bang-whiz features of nearly any card out there, often even before it is available in DirectX.

    Take a look here for all the extensions available to you (including shaders) right now.

    Take a look here for NVidia's OpenGL SDK which includes, yup, vertex shaders.

    In the DX8 world developer's will also need to cripple their software if the card doesn't support the shaders in hardware. So I really fail to see what the argument is here.

    Ryan T. Sammartino

    --

    Ryan T. Sammartino
    "Ancora imparo"