Choosing Linux Development

Let's face it: Developers have many choices. Linux Gaming World would love to have your next program be developed for Linux, but who are we to tell you what to do? What are your choices? Why choose Linux?

As a developer of entertainment software, you have make a decision to program entertainment code rather than sit at some bank writing financial software. Why? You can be pulling a decent wage working 8-5 with a couple days of crunch time. Sure, most of the time you will be patching up some failed implementation of PeopleSoft or working with cruddy hardware and getting your project budget cut, but the salary is good, right? Well, if that was you, then you would not be reading this right now. For reasons beyond simple rationally-economic decisions, you decided to make programs to entertain other people.

Clearly the focus of your goals is not simply financial. In my opinion, so-called "video games" are the art of computing. Anyone interested in computing is almost necessarily interested in gaming. Games have propelled the model of entertainment forward, and they are the fastest growing entertainment market way more-so than home-movies and theater-movies. So, you will get no question from me why you have chose programming games for a living. You are an artist of cutting-edge technology.

Let us continue to explore your options. Right now, development houses are working on the "next big thing". Well, no they are not... they are working on duplicating what was the "last big thing", but I digress. The "big things", the big money-makers, right now are consoles and one specific MMORPG. Most game publishing companies are farming their work force to produce console content or duplicate World of Warcraft. If you are still going to get pulled away by the money, then I suppose you will stop reading at this time to join those ventures.

Still with me? Good... you only missed out on sweat-shop like conditions for low-per-hour wages anyway. So what now? You are interested in programming for the Personal Computer, specifically for x86 architectures. Those have the largest community base, the architecture offers flexibility, and a great amount of resources exist, like books and websites. Great! We're still on the same page.

Now for my challenge... Convincing you to develop for the Linux environment. While you enjoy programming entertainment, you also consider obtaining revenue for your invested time worthwhile. Why choose Linux over Microsoft Windows?

As a thought experiment, think back before Windows... back, back before Windows 2003/2000/1998... back, back before Windows ME... back, back before Windows NT, and still further back before Windows 3.11... Is the vision of the Microsoft DOS prompt coming into focus upon a field of jet-black? Think hard and you'll remember loading an entertainment software package onto your computer. Was it Commander Keen, Castle Wolfenstein 3D, Command and Conquer I, Warcraft I, or Wing Commander? Game development did exist before Windows, and there were many successful titles produced. These titles made today's great powerhouses of ID Software, Westwood Studios, Blizzard Entertainment, and Origin Systems. These small development houses had nothing to support them: No video libraries, no pre-published engines, hell... not even a simple memory manager. Yet, these groups broke new ground and succeeded. These indie development houses went on to become multi-zillion-aires (not that you care about the money, of course). Linux is breaking similar ground today.

The dirty secret of Windows games is Microsoft subsidizes game development by developing the hardware libraries for developers. They are seemingly building more and more of your code, offloading the cost to those who buy their operating systems. But, it is a Faustian bargain. What drawbacks are you pulled into by using this free-of-cost development environment? Not only are you locked into a Microsoft-OS-only format, but your code now only runs on environments supporting that specific Microsoft development library. That may sound like the same thing, but actually, think back to the games that worked on DOS and Windows 3.11 and Windows 95 and Windows 98 and Windows ME. These games simply do not work any longer in modern Windows operating systems. These are operating systems that were supported just 5 years ago! With a new operating system environment every few years, one might as well program for console environments.

In contrast, the open Linux environment can be packaged and replicated and reproduced, as needed. There are more supported architectures all the time, such as PPC computers, Playstation 3, cell-phones, tablets, and even airplane entertainment consoles. Your software need never be tossed into the "abandonware" pile because it is no longer supportable. While the operating system libraries may change, and some say critically they change too much, the libraries are always accessible to you through open availability of the code, and they are accessible to others making supporting the environment much easier. Further, Linux distro developers can make changes to libraries, should you need new features in place. Or you can modify the library yourself and distribute your work for others. Compare this with the off-limits Microsoft libraries that you will never see without NDA nightmares and financial contributions.

Lastly, I'll re-emphasize a point I had made in earlier articles. On Windows, your software is competing head-to-head with well established entertainment titles that already own shelf-space in Walmart, Electronics Boutique, and the bargain bin at K-Mart. Will your Windows title sell well against the $5 copy of UnrealLeisuresuitQuakeMod XXIV ? On Linux, the market is wide open... There are so few commercial titles that you could very well profit making very simple, casual games. Make titles exactly comparable to Windows titles, make them for Linux, and sell them for less. The tools and libraries you need are already there, so, as you break the new ground like those DOS pioneers before you, you will have the support that they did not have and a market that is just beginning to show itself.

Comments

Anonymous | Tue, 2010-03-09 17:37
Anonymous | Mon, 2010-03-08 14:50
Anonymous | Sun, 2010-03-07 12:59
Anonymous | Fri, 2010-03-05 16:41
Anonymous | Thu, 2010-03-04 15:31
Anonymous | Wed, 2010-03-03 14:22
Anonymous | Mon, 2010-03-01 16:16
Anonymous | Sun, 2010-02-28 18:47
Anonymous | Sat, 2010-02-27 13:45
Anonymous | Fri, 2010-02-26 14:44