Interview: Scott Draeker and Sam Latinga, Loki Entertainment
The sound of marching soldiers thunders through the cobbled streets as citizens bask in the glory of their triumphant leaders. No, this isn't a post-election day Republican fantasy, it is just one of many scenes from the animated movies which introduce you to the first award-winning, top-selling computer game to be ported and run natively under Linux—Civilization: Call To Power.
Civilization: Call To Power is the latest in a series of games based on the original Civilization game. Civilization I hit the streets in 1991 and was an instant classic. In 1996 the sequel, Civilization II, won PC Gamer's Game of the Year award and was named the “Strategy Game of All Time”. Together, Civilization I and II have sold over 2,500,000 copies, in an industry where a “hit” has to sell only 100,000 copies. Since its release in April, and up to the time of this writing, Civilization: Call To Power for Windows has been the number one selling PC game.
This latest incarnation of the popular game was originally developed by Activision for MS Windows-based systems. The native X11 port to Linux was performed by Loki Entertainment Software, a relatively new company, started in 1998, devoted to porting the most popular PC games to Linux. As Scott Draeker (pictured at left below), President and Founder of Loki, says,
One way to put this success in perspective is to compare the PC game industry with the movie industry—both gross about $5 billion a year. Getting the rights to Civilization: Call To Power is like getting the rights to the next Star Wars sequel.
I talked with Scott and Sam Latinga (pictured at right below), lead programmer for Loki, as they prepared the Linux release of Civilization: Call To Power for distribution.
Michael: Although I'm a software developer by trade, I've never really been much of a game player, so this is somewhat new to me. Why don't you both give us some background information. How did you get into the world of gaming?
Scott: Well, I am not technical, but I am a game player. I came up through stints at Apple and LSI Logic and a few other places. After that, I went over to the “dark side”—law school. While working as a software licensing attorney at an accounting firm, I got involved with some game companies and was introduced to Linux. Dan Kegel at Activision introduced me to Sam.
Sam: My background is mostly in systems administration, but I've been interested in game system portability for a long time. I've worked on things like the Maelstrom port. When Scott came to me with the idea of porting games, I was a bit skeptical. When it became apparent to me that the idea was for real, my interest grew.
Michael: What made you decide that now was the time to start porting games to Linux?
Scott: I first thought about games on Linux in 1998—much has happened since then. We were lucky and in the right place at the right time. When looking at Civilization, we were fairly sure we were going to lose money on it initially. Then, as I became more familiar with Linux, I heard about the GNOME and KDE projects. Knowing those sorts of familiar interfaces would be available along with the usual benefits of running on Linux convinced me a consumer market would develop for Linux and Linux products. I knew that if Red Hat could get a distribution on the shelf, I could certainly get a game there.
Michael: The game was originally developed by Activision. Did you contact them about doing the port, or had they been looking for someone to do it? How much cajoling was involved in getting them to sign on?
Scott: I talked to many game companies, and I'm still doing so. We were actually focusing on another game when Dan Kegel suggested we look at Civilization. We did, looking at both demos and code. The more we looked at it and worked with Activision, the more we drifted away from the other game. I think Activision had the better title, and they certainly have their act together. Phillip Erwin, in the licensing department at Activision, was instrumental in getting the project completed. MicroProse, a Hasbro company and developer of the original Civilization, had to sign off on this port along with Activision. Phillip woke the President of Hasbro at midnight on December 31 in order to get the licensing signed. He's definitely gone to bat for us.
Michael: Are you tied to Activision for future games, or are you free to talk with any other game producers?
Scott: We are already working on three additional titles, none of which is from Activision. Of course, I would love to do more Activision titles and we are pursuing that too.
Michael: Is this the same game as the PC version? Did the game play have to change at all in order for the Linux port to function?
Sam: Yes, it is the same game. The game play didn't change at all. However, we did add a few minor tweaks to the user interface which we feel make it a “real” Linux game. This is a true Linux application; that is, it's not a Windows game running under an emulator—it's native to Linux. The installation is native to Linux. (See “Game Review”.)
Michael: Were there any engineering limitations—libraries, for example, that you had to wait for before you could start the work?
Scott: Sam evaluated the Loki code, making sure their proprietary libraries could be either ported or emulated on Linux. The library we used is SDL, the Simple DirectMedia Layer. Sam authored SDL with an eye toward creating a cross-platform media layer for games. All the graphics and sound in the game have been ported to SDL, replacing the equivalent DirectX calls from the Windows version.
Sam: The game also uses FreeType for font rendering. Activision did this on their own, which was really cool. It's one of the things they did to make the game more portable.
Michael: So you had what you needed to get going?
Sam: Basically, we had all the tools we needed from the start, with a few exceptions. None of the available off-the-shelf installers and video playback tools were adequate for our needs.
We evaluated the available open-source video playback tools, brought them in, updated them and put them into the game with our modifications. We will release the playback tool back to the Open Source community.
Michael: The community will appreciate that, I'm sure. How long did it take for this first port? Will it take as long for future ports, or did you spend some time during the original port building infrastructure for the porting efforts?
Scott: We started the port in December 1998, and coding began in January 1999. It didn't take that long—roughly four months. Part of the reason the port went so fast was the great support we received from Activision. They responded quickly to our questions and requests. With future games it may not take as long, but each game is unique. It depends on how tightly coupled the game is to the Windows API.
Sam: Much of the user interface was provided in the game, so that part of porting wasn't difficult. However, in places where there was a tight tie-in to the Windows API, the port was a real pain.
Michael: I can imagine. When I got ready to install the pre-release version you sent me, I noticed that the game requires 400MB of disk space. Is it common to have such large installation requirements for games? Additionally, 43MB is a large footprint for a runtime binary from a Linux perspective. Will these sizes (installation and runtime) go down eventually?
Scott: Games are always hardware-intensive. The game binary is only 7.8MB. The rest is just as Activision designed it. Large installations (disk requirements) are common for games under Windows.
The game is designed to run from a CD, but due to space limitations on the CD, it can't currently be run that way. The files on the CD are compressed and would have to be uncompressed on the CD to run from there. We have no release plans for a CD-based Civilization, but we are aware of the need for such features and will be looking into that possibility for future games.
Michael: Any plans for hardware-accelerated graphic support? Have you talked to any of the X server vendors (XFree, Metro or Xi Graphics) about that?
Scott: Yes. We're talking to people on both sides—hardware and software—about hardware acceleration. We're working on a 3-D game right now that will be hardware-accelerated.
Civilization is truly a breakout product. It is a triple-A product released hot on the heels of the Windows version going into stores. That includes SuSE in Europe and Macmillan Publishing in North America. We intend to place it in all the big stores—all the places that sell software. Wherever you see Red Hat, you'll see our game. That's not true for the average Linux game at this time. By doing this, we've shown there is a market for this game, and games in general, on Linux. Many announcements are being made by 3Dfx, Creative and other people. They are coming on board because they realize games draw hardware sales.
Michael: So there will be many changes in the gaming market down the road. With all those games coming, how hard is it to do these ports? What are the biggest areas of work in porting a game from Windows to Linux? Is it on the technical side or in the business details (including things like documentation)?
Sam: From the programmer's perspective, it's probably 50-50.
Scott: The programmers had a few things they were doing for the very first time: compiler debugging and a few infrastructure issues. Having done that work, we can leverage it in the future. On the business side, the first time is much harder. This is the first shrink-wrapped game for Linux that can be found in Best Buy, Fry's and CompUSA. A fair bit of work was needed just to contact game companies with both a great product in good shape for porting and an interest in exploring this market! In addition, we are working on three other products right now and that will just keep increasing. Much of our past work will carry over—it was necessary only because it was the first time.
Sam: Although each game will be unique, the business side stays more stable. It does not change much after the first game.
Scott: With Linux becoming more commercial, you have to justify your products to the free software community and to the business world. In the business world, you pay to put your product on the shelves, do co-marketing, and pay for ads, bundling and so forth. That's a great deal of work and an important part of legitimizing the Linux platform for other games.
Michael: Scott, do you think there is room in the Linux market for more than one game-porting company at this time?
Scott: I get the occasional e-mail from someone else who wants to port games to Linux. We know we're not going to be the only ones doing this. Several other games, not necessarily ports, are available already, for example, Hopkins FBI and Quake 3. We've picked our niche for now by doing top-20 games. Since so many games come out each year, it's self-evident that we cannot port everything or even everything considered good.
We came in fairly early to prove to the computer industry, the game market and the Linux market we could do this. We wanted to position ourselves as the people who are doing the triple-A products. It's not quick and dirty. It's not contract programming. We're taking the source, re-implementing it for Linux and publishing it for the Linux community.
We're a godsend for game companies. At a time when they're laying people off, we offer another market for games already making money for them.
Michael: Well, the game market for Linux is fairly large. But how do you find out where that market is and what they want? You mentioned in an interview with LinuxToday that you read Slashdot and LinuxToday. Do you feel these on-line Linux news sources are representative of the whole market for Linux games, or is there a larger market beyond the generally technical readers of sites like these?
Scott: There is a market right now just with current Linux users. As it grows, it will bring in more and more people, more and more diversity. Right now you can go to Slashdot and hit a good percentage of Linux users. In two or three years, that might not be the case—not because Slashdot has gotten smaller, but because the market is going to keep broadening. Right now, we focus on the technically savvy Linux market—there is a tar file on the CD, for example. On the other hand, we're aware that non-traditional users will be coming over. The GUI installer is there, specifically for the newbies.
Sam: I did the installer and am rather proud of it, since I wrote it specifically for the newbies.
Michael: I must admit it was quite easy to use. What about getting the games in the hands of users? I noticed GameCellar.com (http://www.gamecellar.com/) has a Linux area, and CTP is the only product there currently. The typical Linux user wouldn't look for a product here, however. Does this mean you see a different market than typical Linux users? Do you plan on selling through traditional channels (Linux Mall, LinuxBerg.com, through Red Hat or SuSE, etc.)?
Scott: A good deal of interest in Linux products is showing up in many places it hasn't been in the past. As an experiment, Costco made Red Hat available in their stores, and it outsold Windows 98. I understand you can even buy Linux products at some Wal-Marts. These aren't traditional UNIX/Linux outlets. We're excited about where our games might show up. Obviously, it will be at the superstores and the game stores like Software Etc., but it will be in bookstores, too. A great synergy exists with bookstores, since they already sell Linux products. Selling our game will be an incredible add-on.
Michael: What's next? Do you have any concrete plans for future games?
Scott: No announced titles, but we have 3-D and strategy games in the works, and we're very close to doing an RPG (role playing game). We're going to hit as many genres as we can, with all the best titles. You won't see twenty RPGs, but you will see the best ones.
Michael:Seems like a good bit of work for a start-up. Do you have enough staff to work these projects in parallel?
Scott: We have enough to work two in parallel now, and we want to ramp up to three or four by the end of the year. We plan on having four to eight titles by the end of the year and doubling that next year.
Michael: Well, that's great. Thanks for taking the time to chat with me, Scott and Sam.
After we'd finished our telephone interview, Scott, Sam and I started talking candidly about playing the game. I mentioned to them how engrossed I'd become in the game during the week after I'd received the pre-release copy sent to me to prepare for this interview. I spent several nights glued to the computer until 3AM. Perhaps it's a good thing I live alone—where does one find a spouse who actually understands and accepts such behaviour? Sam chuckled at this. “We have an in-house joke at Loki that with games on Linux, we're going to bring kernel development to a standstill.”
We all laughed a bit more about this possibility. I don't actually think kernel development will slow because of such high-powered games as Civilization: Call To Power. Still, kernel developers may find they are getting fewer hours of sleep each night. I wonder—does this mean the next thing to come to Linux will be an open-source caffeine supplement?
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
- Hacking a Safe with Bash
- Django Models and Migrations
- Secure Server Deployments in Hostile Territory, Part II
- The Controversy Behind Canonical's Intellectual Property Policy
- Huge Package Overhaul for Debian and Ubuntu
- Home Automation with Raspberry Pi
- Shashlik - a Tasty New Android Simulator
- Embed Linux in Monitoring and Control Systems
- KDE Reveals Plasma Mobile
- diff -u: What's New in Kernel Development