Quake, Meet GPL; GPL, Meet Quake
Back in the summer of 2005, id Software released the Quake 3 engine to the public under the GPL license. For open-source enthusiasts, it was amazing news, but to the general public, it seemed like mostly marketing nonsense. Releasing the Quake 3 engine, unfortunately, wasn't the same as releasing the game, so the average gamer didn't gain anything—at least, not at first. In this article, I introduce some great new games that use the Quake 3 engine. They're all free, and they all run natively under Linux.
First, let's talk about what id Software really did when it released the engine under the GPL. As Linux users, we're familiar with terms like, “Free as in speech and free as in beer”. For the record, I have never understood the latter part of that motto. Beer is rarely free. Nonetheless, the Quake 3 engine is indeed free in several ways:
The program is free to download. You don't have to pay for it, and it's not crippled in any way whatsoever. You can give it to your friends, for free, and you won't be a pirate. (This is the “free as in beer” part.)
The program is free to modify, change, repackage and even sell—provided you include your source code. (This is the “free as in speech” part.)
The engine is not the whole game. You can't install the program and expect to frag your little brother in the next room. The graphics, models, maps and such are not free. If you distribute those things (from the retail Quake 3 CD), you, in fact, will be a pirate. That part is not free.
I tried to explain the significance of releasing the engine to non-techie friends of mine, but, alas, they had no idea what I was talking about. So, for those of you who have never really understood the whole game engine versus actual game thing, check out the “Grandma's GPL Cookie Recipe” sidebar.
Grandma's GPL Cookie Recipe
When id Software released the Quake 3 engine in the summer of 2005, it wasn't the same as releasing the entire game for free. It was more like Grandma giving you her cookie recipe. Let's say Grandma had an incredible cookie recipe, and she sold cookies like crazy for five years. After five years, Grandma decided to give away her recipe. Sure, you could make your own cookies based on Grandma's recipe, but Grandma didn't actually send you any cookies in the mail. In fact, Grandma still sold her cookies, and people bought them.
The great part is that not only can you take Grandma's recipe, you can add to it. You can make your own cookies and base the recipe on what Grandma gave you. That's pretty much what happened with the Quake 3 engine. The only caveat with releasing a new cookie recipe is that you need to include your recipe for free as well. And, that's just how Grandma wants it.
Before I begin talking about the games, I have a few confessions to make. First, I'm not a gamer. I am the player you want on the opposite team in pretty much any gaming situation. I'm horrible. Second, my computer is just about as adept at gaming as I am. Here are the specs:
Pentium 4 2.4GHz
Onboard Intel 915 graphics (shared 8MB memory)
20GB IDE hard drive
512MB of RAM
Ubuntu Linux 7.04
I chose Ubuntu because it's very common and easy to use. It doesn't really matter what distribution you have; they'll all work, but some of my examples might not look exactly the same. I'll try to be as generic as possible.
One key issue with getting any 3-D game working is to make sure you're using an accelerated driver in the X Window System. It's possible your computer already has this. A simple way to check is to open a terminal window and type:
# glxinfo | grep endering <enter>
(I purposefully left off the r in the grep statement, in case the word Rendering happened to be capitalized.) If you don't have direct rendering, you need to configure your video card for acceleration before you can run any of the games covered in this article. In my case, I had to change my video driver to “intel” instead of “i810”. You might have to do some research on the type of card you have. Most semi-modern video cards are capable of acceleration in Linux, so it likely will be worth the effort. Now that you (hopefully) have your video system running properly, let's get down to the games!
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Linux Systems Administrator
- Validate an E-Mail Address with PHP, the Right Way
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- RSS Feeds
- Introduction to MapReduce with Hadoop on Linux
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?