Ryan C. Gordon and Michael Simms
Introduction
Gaming on Linux has always been a big debate. Why are developers not making more games for Linux? Is there money to be made? Isn't it extremely difficult to port games to Linux?
In order to successfully answer these questions, we at Hardware had a talk with two professionals: Ryan C. Gordon and Michael Simms.
Denne artikkelen er også tilgjengelig på norsk.
Ryan C. Gordon
First, could you please present yourself and what you do?
My name is Ryan, and I port video games to Linux, Mac OS X, etc.
When I'm not doing that, I run icculus.org, an open-source incubator. I also spend a lot of time developing open source tools to make game development on Unix suck less.
You have an amazing resume, consisting of making Linux-ports of the Unreal Tournament series to the recently released Linux-port of Prey. How did you get into this buisness?
I entered a contest.
Loki Software did something at the Atlanta Linux Showcase in 1999, called Loki Hack. I drove about four hours, and didn't sleep for 2 days to play around with the source code to Civilization II: Call to Power.
Loki liked my work, and gave me a job. I got to touch a lot of code for a lot of triple-A games.
When Loki fell apart, I had to find something to do. I was working the counter at a friend's cybercafe and lived with my parents. I hated it.
I found I loved playing Serious Sam (it really captured the feel of the original Doom!), and hated working a cash register, so I wrote to the only email address I could find for Croteam (one of their artists!), and talked them into letting me do a Linux port. From there, I had some luck and started collecting other work... Medal of Honor, Unreal Tournment 2003, Battlefield 1942 etc.
Now I do this sort of thing full time. I've touched pretty much every major game engine of the last decade, and worked with a lot of games.
Has the demand for Linux-ports and Mac-ports increased over the years? Do you think the demand will rise in the foreseeable future?
Absolutely. The Mac is really at a tipping point for consumers... when some functionality is Windows-only, people notice and companies lose business because of it, now. The last wall to fall here seems to be games; people are still somewhat forgiving about this in ways they wouldn't be if, say, a website needed an ActiveX control to work. I suppose that's because we're in the part of the cycle where "PC games are dying" and consoles rule. Wait two more years, when all the console hardware feels really ancient, and that will solve itself.
Linux is somewhat harder to predict. It has definitely gotten better in some regards, but not so much in others. It's not unreasonable to think that friends and family of those making big-name games will have Macs, but it's not likely that there are Linux gamers talking into their ears. Linux is either going to have to increase market share - like Mac OS X has - or it's going to have to find a market in unlikely places.
It goes to show that there are big markets that aren't being tapped well, even on Windows. Imagine what we could be picking up outside America and Western Europe if we were selling Linux software directly. These are markets Apple can't penetrate nearly as well as an Ubuntu.iso could, for instance.
In your experience, is the Linux and Mac market for games worth making a port for? Do the companies make or lose money on the extra development?
The short answer is "make money" but it's not such a simple question:
- Windows-only titles still need a Linux server to thrive in many cases, even if they don't offer a Linux client.
- Linux titles can sell well where Windows titles don't, since the market isn't flooded with cheap product.
- Porting to new platforms finds bugs before you ship, which translates into happier customers.
- Porting to Mac OS X gets you Shark, porting to Linux gets you Valgrind. Using both tools gets you a better product.
- Producing a Linux port from an unported codebase will take one developer a reasonably short time: depending on the project, it may be three months, it may be 24 hours. This is nothing to modern games with multi-million dollar budgets and three year timetables, and this developer can still be contributing to the main programming effort in addition to the porting work. Maintaining it thereafter is trivial. Just paying this developer's salary and doing zero marketing can still turn a profit. Being smart – porting early and piggybacking on the Windows marketing – can be a huge win.
I can find lots of examples where a game won't make you rich, but I can't find a reasonable case where a Linux port doesn't have at least a small, positive return on investment. The problem is frequently that small profit isn't worthwhile to big companies.
Then again, go ask Blizzard how the Mac sales are going: every Blizzard title ships with both Mac and Windows versions on the same disc, and all are supported on all platforms years after release. I think you'll find they've been happy with the results.
We will probably move out of an era where we ship games on discs before Linux game penetration has a chance of being significant... but if you look at Steam and iTunes, you can't help but think that era is ending soon.
Ryan C. Gordon - Part II
Linux-ports usually comes out after the Windows release heck, we're still waiting for the Linux-client of UT3. Of course, the extra development takes time, but is this the main reason for the delay?
Nope. I'm sorry, but I really can't comment on this at the moment.
I have to ask, can we expect a Linux-version of UT3 to be released or has all development ceased in that department?
It will be released.
What operating system do you use and why?
Ubuntu, Mac OS X, Windows.
Ubuntu has really nailed it. It's the Linux distribution we've been waiting for. Having come from Slackware to Gentoo to Ubuntu, if I'm willing to cheer for something that doesn't make me compile my own programs, you know I must mean it.
Seriously, it feels like all the important work is happening in Ubuntu right now. My experience has been that the "hot" distribution changes every two years, but right now I'm extremely pleased with it.
Mac OS X and Windows are pretty much what they are. Leopard is great, and 64-bit WinXP is basically all I want from Microsoft. I tried the Windows 7 Beta and turned up my nose. It wasn't broken, they shouldn't have fixed it.
If the Linux-market get enough attention, do you think game developers will use Wine in their development like Google did for Google Earth and Picasa? What's your thought on Wine in this department?
I think what bothers me most about Wine is that, since Picasa uses Wine, everyone thinks Google Earth does, too.
Google Earth uses Qt, OpenGL, libcurl. It's an ELF binary: no Wine or winelib.
One program made good development choices, choosing portable APIs and clean abstractions. The other did not. One of them runs on three desktop platforms, the iPhone, and god knows what else. The other runs on Windows, and a Windows emulator.
The other thing that bothers me about Wine is that, despite the acronym, it's an emulator. Any one that tells you otherwise is just being pedantic. It's an acceptable stop-gap measure, but it's almost certainly a sub-par experience.
Are you working on a exiting Linux-port now that you're allowed to talk about?
I've gotten into the habit of not talking about projects until the moment they ship... I've had more than one fall apart after announcing it.
But I will say: as UT3 is wrapping up, we've got a portable version of UnrealEngine3, so my next move will be to aggressively court Epic's licensees. Several of them have expressed interest in Mac and Linux support, and it'll will be nice to start getting them running on the latest codebase.
There are so many projects I'd love to do in 2009. Everything seems possible this year.
What's the greatest challenge about porting a game to alternative operating systems?
Middleware. Game developers: don't license software libraries for your projects if you don't get the source code! Even those that provide Linux versions tend to introduce problems that you could trivially fix with source code.
When we first built UT2003 for amd64 platforms, we had to disassemble the physics libraries to remove a compiler bug, because we didn't have source code access, and the original developer's prototype hardware had burnt out. The only option we had was to patch out a misbehaving function in the existing compiled binaries.
I could tell you horror stories, I swear.
In your opinion, what is the best operating system to play native games on?
I think you're asking me about performance or functionality, but that's not really important. For example, the PlayStation 2 sucks for lots of reasons, and the framerate during the final boss fight is terrible, but if you didn't play Shadow of the Colossus, you still missed out on something genuinely beautiful, despite the platform limitations.
The important thing is that your games work on the best operating system for all your other needs. More or less, all the major operating systems have reached parity on the important things, and compete on small but significant differences. They all have things that are better and worse than all the others, and an informed user will select what works best for them.
What does NOT work best for anyone, though, is being forced to keep a Windows partition around just to play video games. The best operating system for playing games is the one that lets you keep your word processor, instant messenger, email, and music player open in the background while you play. The worst is the one that will force you to shut all that down just to screw around for a few minutes.
That's all I got. Have anything to say about Linux as a gaming platform that was not covered in these questions?
I could rant about the state of audio APIs on Linux for a few pages, but I'll spare you the boredom.
We thank Ryan for his time and patience and wish him best of luck on future endeavors.
Michael Simms
Could you please introduce yourself and Linux Game Publishing?
Michael Simms, CEO and founder of Linux Game Publishing (LGP).
LGP was founded in 2001 when Loki was about to go under, and I was just running Tux Games, a Loki reseller. We saw that if Loki died, we would have nothing left to sell, so we started making games as well as selling them. Right now we have 3 devteams of 3-4 people, and additional support staff like customer service people, part time artists, proofreaders, shipping staff, accounts people.
I've recently asked developers behind Darwinia (Introversion) and Penumbra (Frictional Games) some questions, in which I discovered that the Linux-port of their games only stood for about 2-3% of the total sales... Surviving solely on Linux-games, hows business?
Business is always tough in the Linux games market. We get by, but nobody is driving a Ferrari. The fact is that right now, we're in it for the long term, not the short term. The devteam gets paid, and we make a loss each year that I cover with personal funds. The losses were getting smaller before people started looking at their wallets in the last 12 months, but now its not looking as good. Thats understandable though, in a crunch the first thing that goes is entertainment products, however, we are perfectly able to weather the storm for a good while, and while this happens, we keep on making games.
Has the sales of Linux-games increased over the years, and do you think they will continue to do so?
Actually when Loki collapsed, sales went down. Loki was producing high profile titles, but without a sustainable business model. Their sales were higher, but their costs were too high. The titles produced by LGP, while all extremely high quality, tend to have lower turnover because less people have heard of them. This has lead to an overall shrinkage in the market. We do not feel this is because of the Linux desktop userbase shrinking, it is simply a matter of marketing and brand awareness for the products.
So LGP port games to Linux as well as selling them. How does this work? Do you personally contact the developer or is it the other way around. What challenges do you face when porting a game to Linux?
It varies, sometimes we are approached, sometimes we approach others.
The biggest challenges, technically, are 3D graphics and Networking. Network interoperability between Linux and Windows will rarely happen, because companies often use the proprietary Directplay library which cannot be ported over to Linux. We have created a multiplatform alternative, called Grapple, and we hope that over time, some Windows developers may pick this up to use in their titles, allowing cross platform multiplayer.
Graphics is always a challenge, especially 3D graphics. DirectX and OpenGL have pretty much the same feature set, but when converting to OpenGL, the conversion is rarely straightforwards.
According to Ryan C. Gordon. a game port is not all that difficult and a single developer can spend anywhere from 24 hours to 3 months making a port. Could you confirm this? What then is it that takes such a long time getting a Linux-port out of the door?
Ryans estimate is based on the fact that a) a lot of the games he ports are already using OpenGL so the hardest part of a port doesn't exist, b) most of the games he ports have a custom or non-existent network stack, and so the second hardest part of a port is a whole lot simpler, and c) he is a coding machine, better than most at what he does, and he has 10 years experience doing it. Not everyone has his skill level.
Why would someone make Linux clients of their games today? Do they even make profit from these clients, considering the porting costs?
If they come to us, we do all of the work and take all of the risk. They have no financial exposure. Making the client themselves is always risky. However you cannot look at it in terms of money only. When a game is ported to a second platform, it almost always exposes bugs and problems that would otherwise have been missed, as the developers have to re-work portions of the game. This will mean that creating a Linux version will increase the stability of the Windows version, and increase the quality of their core product, a fact that in itself may justify the cost of a Linux port.
Some developers, like CCP (developer of Eve Online), use Transgamings Cider to make a Linux-client. What do you think of making Linux-clients through use of Wine or Cider?
CCP made the decision to port EVE using an emulation layer against our advice. We are strongly against emulation. There are many reasons for this, but the core ones are:
1. When you use an emulation layer you double the number of bugs in your application. You have to deal with the emulation layer which imperfectly copies an undocumented system (windows) and actually has to have the same bugs in it that the original does, to ensure it behaves in the same way.
2. Emulation will only last as long as Microsoft lets it. All emulation layers, Wine, Cedega, etc, are implementing Microsoft's patented technology. If they chose, Microsoft can stamp very hard on them, and then, every product that relies on this emulation will be gone.
3. It is a case of pride in our platform. Linux is a mature, stable, and powerful operating system. Why on earth do we want to use the crutch of emulating a less stable operating system. We can stand on our own two feet!
In your knowledge, are there more developers making Linux-clients of their games today compared to some years back? Do you think more games will be Linux compatible in the future?
That is a hard question, I think that right now, a lot of companies are just focusing on the bottom line, and are focusing on survival rather than expanding their platforms.
I think in time it will be inevitable that Linux is a must-have platform, but that time has not come yet.
Do you have any interesting games in development at the moment?
Yes we do. In fact, by the time you release this article we will just have announced that we are preparing a version of 'Shadowgrounds: Survivor' for Linux. This is a top notch game produced by Finland's Igios LTD.
We thank Michael for his time and patience, and wish him and Linux Game Publishing the best of luck on future endeavors.
Looking for Linux games? Check out the demoes at Linux Game Publishing!
The bottom line
Currently it seems that Linux-distributions needs a much bigger audience – to become a serious alternative for game developers – than the sales of netbooks have given them. This might be acquired by focusing on markets like Russia or Africa.
Mac OS X, on the other hand, seems to be much closer to become a serious competition in the gaming market. Luckily, porting games to Mac OS X, makes it much easier to port games to Linux, so hopefully as the market for Mac-games grow, games for Linux will follow.
If we are to believe Ryan and Michael, there should be no downsides with porting a game to Linux or Mac OS X. The only thing we Linux users can hope for, is that Apple keep stealing users from Microsoft, and that Linux keeps increasing their market-share, one user at a time.
It's not outside our grasp, but can it be done? Only time will tell...