Linux Containers Authors: Zakia Bouachraoui, Elizabeth White, Yeshim Deniz, Liz McMillan, Pat Romanski

Related Topics: Linux Containers

Linux Containers: Article

Gaming Roundtable Highlights

Getting games for Linux - cross-platform issues and more

For this month's Gaming Industry focus, editor Dee-Ann LeBlanc had a roundtable discussion with some of the leaders in this space. This article covers a recurring theme with the participants - cross-platform game programming and design. Read on for Dee-Ann's insight and comments from the gaming industry pros who shared their expertise in the discussion.

One issue heavily discussed among the crew of Linux gaming experts listed on page 10 is that of cross-platform game programming and design. I feel that cross-platform programming of all kinds is going to become more and more a requirement in this increasingly heterogeneous world, and that as more programmers learn techniques such as adding abstraction layers between the program function and the underlying operating-specific code, it will become easier and cheaper to implement - not to mention that better tools will likely become available.

However, I'm not a programmer, so it's easy for me to make such sweeping pronouncements. It seems that since we're in a computing age in which multiple viable platforms are gaining ground, ultimately keeping things tidy without having to completely reinvent a program for each OS makes sense.

So, having gotten my own heavy bias out of the way, let's look at a number of the issues brought up during the roundtable discussion that bear on this issue of getting games for Linux and cross-platform gaming in general.

Pros and Cons

According to Timothee "TTimo" Besset of id Software, the gaming company that has championed the cross-platform game approach for years, coding your games for multiple platforms, "make[s] your code more robust. Your source [has] to be cleaner, and you'll have to avoid ugly OS-specific hacks. Some bugs are easier to track down on one system or the other. Releasing your game on several platforms is a proof of technical expertise."

In addition, many may not be aware that new game companies often license the underlying engine from another (middleware) company so that they don't have to write the entire package from scratch. After all, according to Chris DiBona of Damage Studios, "Developing a good engine can take more than three years." That's a long time to go without any form of income, and it's the rare investor who is willing to wait that long for a brand-new company to complete just the underlying technology for a game. Keep in mind that the engine only gives you the "under the surface" stuff. You still have to write a game to ride on top of it!

Many young game companies license engines. Some of these are written only for DirectX. Others, from companies such as id Software, stick to OpenGL. According to Besset, "if you license id technology, you get all platforms (including consoles) in the same package. We use a single OpenGL rendering back end, so that's easy. Some engines use a D3D back end on Windows and a GL back end otherwise." These other engines might have been written primarily for DirectX or OpenGL, with support for the other wedged in after the fact when need suddenly arises, or in some cases were written to easily switch between DirectX and OpenGL from the start.

The problem here is that when you license a game engine from many game and middleware-only companies, you end up having to pay for individual licenses for each platform you want to release your game on - though this charge is not actually (usually) related to the multiple library issue. According to DiBona, "If your platform costs aren't covered by those users on those platforms, you're unlikely to pay that fee and thus support that platform. Accommodating cross-platform compatibility costs money....That doesn't mean that Linux doesn't get served, but it might mean that it is subsidized by sales on other platforms. For instance, we really want to support Linux because that's where we're from, but we don't fool ourselves and we know where the primary market is for our product."

After all, according to DiBona - after reading the id site - id Software's cost of $250,000 and 5% of income per platform for its engine, paying fees for many platforms "isn't an option for all but the most well-funded or established companies. The cost of getting every platform via id [in particular] ends up being more than buying the platforms you need from other engine manufacturers." Especially since, as he aptly points out, people are not going to buy the same game twice just so they can play it on different platforms - at least not to play it on multiple computer platforms.

More Reasons to Go Cross-Platform

Aside from wanting to offer games to people on many platforms, there are actual QA reasons to keep game programming a cross-platform endeavor. According to Ryan "Icculus" Gordon, the porting machine behind many of the mainstream games that people enjoy today under Linux, "there are good technical reasons for remaining portable, even if you never intend to ship on anything but Windows. You run Valgrind on Linux and Shark on Mac OS X. You find memory corruptions and leaks and bugs faster, your code is cleaner, and your developers are kept more honest. Better code and less development overhead (you heard that right) are a certainty...if this methodology was employed from day one.

"Anyone who has used this strategy, either for games or any other software, will attest to this in a heartbeat. Those who haven't used this strategy lack foresight, vision, or management. Sadly, most software, games or otherwise, falls into the latter category."

Fighting the FUD

There is also the issue of misinformation and confusion among existing game publishers about Linux. Gordon points out that the most common misconceptions that he hears are:
  • Linux is hard to use.
  • Linux has a million incompatible versions we can't support.
  • Linux users don't buy software.
  • Linux users are all pirates.
  • Linux users are immature pains in the butt.
He continues with: "To be honest, nine-tenths of the Linux FUD applies to Windows, and Windows-based gamers...put in the right terms, I don't think any gaming house would disagree. There's just a large enough financial incentive to put up with the Windows gamers' grief."

Then there is the problem mentioned in the "Mainstream Games on the Linux Desktop" roundtable discussion, which I'll paraphrase here. Many game publishers don't want to have to provide technical support for Linux users. As Gordon points out, most Linux users are so happy to have the game on their platform at all that simply saying, "We don't support this product" is a bit of a "Get Out of Support Free" card for now. Linux isn't the only platform with this problem, though. In a way, the FUD around games for the Mac is worse.

According to Gordon, "It's assumed that Mac gamers are willing to put down money, if you can find enough of them, but they are frequently considered to be barely literate. I find this to be fairly insulting; I've heard numbers that suggest the majority of Mac users have a college degree, higher IQ, etc., but people think that they can't follow a README that says 'download these files, drag these things here...'. On Linux, you can get away with that; people will jump through complex hoops and Google for any tidbit of information that gets them closer to playing the game. On the Mac, publishers assume that if it's not polished, packaged, and installed and running with two clicks of the mouse, the Mac gamer will curl up in a ball and weep at the sheer technical challenge of it."

Another Side of the Coin

Then there's TransGaming Technologies, the company that stepped forward to fill the existing gap between Linux users (who want to play games) and the publishers that so far haven't shown the desire to seriously cater to the Linux market. While there are arguments over whether TransGaming's WineX is healthy for the Linux gaming industry, some companies do actually hand over their source code to the company in order to let TransGaming make Linux-specific tweaks for better performance. This seems like a good starting point.

Gavriel State refers to the "hybrid" approach used for those games for which the source code is available. With this approach, "the executables are built on Windows using Microsoft Visual C++ (with its higher-quality code generation), and they run on Linux using the WineX loader technology, but they also have Linux-specific optimizations in them.

"For example, both games have minor changes to the way in which a backbuffer is finally drawn to the screen. This allows us to bypass some of the overhead that we would have to tolerate on a pure Windows title. That specific optimization is only really relevant for 2D games, but other optimizations are possible in 3D titles as well when we work with source code.

"TransGaming's versions of [The Sims and Kohan] also have various Linux-specific features in them. For example, The Sims on Linux replaces the use of a proprietary MP3 codec with Ogg Vorbis, and when doing an HTML export of an 'album' will produce better HTML than the Windows version does (on Windows, only IE can display the albums). Kohan on Linux also uses Ogg Vorbis audio, and the resulting size savings made it much easier to distribute the game online."

Also, in an amusing display of how to approach the issue of fighting game piracy, State continues: "TransGaming's Kohan on Linux also incorporates a Linux-specific copy protection mechanism. If the game appears to have been pirated, it will put up a message saying so, and ask the user to contact TransGaming. Then, the game will become subtly impossible to win, and every five minutes fire will rain from the sky onto your troops. This is accomplished in part through calls from the application to various bits of Linux-specific code."

TransGaming also handles porting games to OS X as well as Linux, and this actually adds some new challenges rather than being a straightforward issue of "you're porting to Linux so OS X should be easy." Some of these problems will also occur in those cases where people are running Linux on the PowerPC platform.

ATI, Are You Listening?

One common refrain in the roundtable discussion was, "NVIDIA's drivers for Linux are good, ATI's aren't." According to Icculus, "ATI's drivers suffer from 'it runs Quake 3 Arena' syndrome. Q3A has been, for years, the de facto standard for benchmarks and driver testing, but it's a radically different codepath from, say, UT2003 usage patterns.

"UT2003, and licensee games based on this engine, have been broken on ATI drivers (both DRI and closed-source solutions) for over a year. Everyone who writes me to complain inevitably notes, 'Quake 3 runs fine here. This is a bug in your game!' Obviously, I'm biased, though."

Besset adds, "We're pretty much in the same situation for id's next game. Doom III runs fine on Linux with NVIDIA hardware; I tried running on an ATI card a few months ago and there were several issues. It's likely Doom III will be NVIDIA-only on Linux, at least until drivers for ATI cards get better. Putting out games with higher OpenGL requirements is still a good way to give some incentive for better drivers. I remember the state of the Linux OpenGL drivers wasn't that good to run Quake 3 Arena when the game first came out."

State shines a slight ray of hope onto the proceedings, at least, with, "ATI support is certainly improving, but it isn't yet up to the same level as NVIDIA. We're working hard with developers at ATI to change that, and hope to see continued improvement throughout 2004. TransGaming's technology is allowing ATI to test their drivers against a broader suite of games, which should, in the end, result in more robust drivers...[in fact] TransGaming works with developers at both ATI and NVIDIA, reporting bugs, discussing issues, and ensuring that they test their drivers regularly with WineX."

On a Positive Note

When it comes to client/server games, Linux is quite heavily in the picture. Rumor has it that many MMORPGs (Massive Multiplayer Online Role-Playing Games) are running Linux on the back end. Serious gamers are also no doubt aware that many of the team-based, first-person shooters that allow groups to run their own servers tend to provide both Windows and Linux servers to choose from. In fact, according to Gordon, "Epic has a financial interest in keeping Unreal [Tournament and subsequent versions] portable to Linux, in both client and server. Our licensees request (in some cases, demand) it. I wouldn't be surprised to find that id has similar situations."

In the case of this second class of games, an entire industry has sprung up with companies renting out game servers to groups who for whatever reason can't or don't want to run their own. According to Gordon, "These server rental companies are frequently the ones reporting bugs and performance bottlenecks and aggressively aiding in their resolution. They do way more to help than people who sit on their hands until a Linux client materializes, and I wouldn't trade them for the world."

Where to Find Games

To end on a fun note, I asked the fellows who's actually putting out commercial games for Linux these days, aside from the big kids like id, Epic, TransGaming, and so on. If you want to see what else is happening on the commercial Linux and cross-platform game front - since most of these companies put out games that run on Windows, OS X, and Linux - check out Pompom (www.pompom.org.uk), Pyrogon (www.pyrogon.com), and GarageGames (www.garagegames.com), and keep your eye on Linux Game Publishing (www.linuxgamepublishing.com).

More Stories By Dee-Ann LeBlanc

Dee-Ann LeBlanc has been involved with Linux since 1994. She is the author of 12 books, 130 articles, and has more of both coming. She is a trainer, a course developer - including the official Red Hat online courseware at DigitalThink - a founding member of the AnswerSquad, and a consultant.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

IoT & Smart Cities Stories
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments t...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...