Linux Containers Authors: Elizabeth White, Carmen Gonzalez, Yeshim Deniz, Sematext Blog, Liz McMillan

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
Codete accelerates their clients growth through technological expertise and experience. Codite team works with organizations to meet the challenges that digitalization presents. Their clients include digital start-ups as well as established enterprises in the IT industry. To stay competitive in a highly innovative IT industry, strong R&D departments and bold spin-off initiatives is a must. Codete Data Science and Software Architects teams help corporate clients to stay up to date with the mod...
Tapping into blockchain revolution early enough translates into a substantial business competitiveness advantage. Codete comprehensively develops custom, blockchain-based business solutions, founded on the most advanced cryptographic innovations, and striking a balance point between complexity of the technologies used in quickly-changing stack building, business impact, and cost-effectiveness. Codete researches and provides business consultancy in the field of single most thrilling innovative te...
Atmosera delivers modern cloud services that maximize the advantages of cloud-based infrastructures. Offering private, hybrid, and public cloud solutions, Atmosera works closely with customers to engineer, deploy, and operate cloud architectures with advanced services that deliver strategic business outcomes. Atmosera's expertise simplifies the process of cloud transformation and our 20+ years of experience managing complex IT environments provides our customers with the confidence and trust tha...
With the introduction of IoT and Smart Living in every aspect of our lives, one question has become relevant: What are the security implications? To answer this, first we have to look and explore the security models of the technologies that IoT is founded upon. In his session at @ThingsExpo, Nevi Kaja, a Research Engineer at Ford Motor Company, discussed some of the security challenges of the IoT infrastructure and related how these aspects impact Smart Living. The material was delivered interac...
Intel is an American multinational corporation and technology company headquartered in Santa Clara, California, in the Silicon Valley. It is the world's second largest and second highest valued semiconductor chip maker based on revenue after being overtaken by Samsung, and is the inventor of the x86 series of microprocessors, the processors found in most personal computers (PCs). Intel supplies processors for computer system manufacturers such as Apple, Lenovo, HP, and Dell. Intel also manufactu...
Darktrace is the world's leading AI company for cyber security. Created by mathematicians from the University of Cambridge, Darktrace's Enterprise Immune System is the first non-consumer application of machine learning to work at scale, across all network types, from physical, virtualized, and cloud, through to IoT and industrial control systems. Installed as a self-configuring cyber defense platform, Darktrace continuously learns what is ‘normal' for all devices and users, updating its understa...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
OpsRamp is an enterprise IT operation platform provided by US-based OpsRamp, Inc. It provides SaaS services through support for increasingly complex cloud and hybrid computing environments from system operation to service management. The OpsRamp platform is a SaaS-based, multi-tenant solution that enables enterprise IT organizations and cloud service providers like JBS the flexibility and control they need to manage and monitor today's hybrid, multi-cloud infrastructure, applications, and wor...
Apptio fuels digital business transformation. Technology leaders use Apptio's machine learning to analyze and plan their technology spend so they can invest in products that increase the speed of business and deliver innovation. With Apptio, they translate raw costs, utilization, and billing data into business-centric views that help their organization optimize spending, plan strategically, and drive digital strategy that funds growth of the business. Technology leaders can gather instant recomm...
The Master of Science in Artificial Intelligence (MSAI) provides a comprehensive framework of theory and practice in the emerging field of AI. The program delivers the foundational knowledge needed to explore both key contextual areas and complex technical applications of AI systems. Curriculum incorporates elements of data science, robotics, and machine learning-enabling you to pursue a holistic and interdisciplinary course of study while preparing for a position in AI research, operations, ...