Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Games Entertainment

Draeker speaks on Linux Game Development 39

Stargazer writes "Scott Draeker, of Loki Entertainment Software (the company porting Civ3 to Linux if you haven't been paying attention) has an article featured in Game Developer Magazine (sorry, no online version). While most of the article focuses on the strengths of Linux, he does go into the power open-source can give to games -- namely, well-designed developer kits and the ability to modify the OS to the game's needs. Heavy stuff, considering all the craziness among distributions that could cause... " BTW, having recieved my copy of the beta for Civ:CFP. Wow. I'm salivating for the review/final version.
This discussion has been archived. No new comments can be posted.

Draeker speaks on Linux Game Development

Comments Filter:
  • Posted by pratt-o-matic:

    I've been doing a lot of thinking about how to go about setting up a Linux system, at the API level, to facilitate life for game developers. I've come to the conclusion that Linux needs a consistent, all-encompassing multimedia subsystem, that handles sound, graphics, and 3d in a nice package. Perhaps something in the spirit (but done RIGHT) of DirectX from M$. A combination of OpenGL, ESound, and Xfree DGA almost get you there, but they're somewhat kludgy to interface with each other, and esd tends to mangle sounds in it's current incarnation. Perhaps an X server that talk s to /dev/framebuffer that offers native (hopefully accelerated) Mesa 3D, and either a cleaned up esd, or a better kernel sound driver interface...

    Face it, like it or not, it's actually easier to write a game for windows nowadays, since you don't have to worry about a million different hardware and software conflicts. Sure, directx causes it's fair share of problems, but it for the most part does what it's supposed to do (abstract away the annoying stuff), albeit non-optimally.

    has anybody out there tried to work this problem? I'd be curious as to what's out there so far, because I'd like to see a good gaming solution.

    I'm utterly convinced that a majority of game developers (we can convert the publishers later) would love to develop for linux, if it didn't take so darned long to port everything over, and if the support hassles weren't so great. Most of them are geeks too, and run Linux at home, anyway.
  • Thanks for all that typing, it's a cool article. But coudn't this get Rob into serious trouble? You know, copyrighted material and all.
  • Sheez, does anyone know when the Linux version of CTP will be released? And will it be released to stores or just mail order or what? I've been fairly drooling over the screenshots, and Civ 1 and 2 have sucked many an hour away from me..... now if I could only get my copy of Civ 2 to work under WINE I'd be in fat city.

    --adr
  • I didn't understand the text in the article as saying game developers want the ability to customize kernels for different games. It seemed more to me to say that since the OS has source available, you can RTSL, identify bottlenecks to superior game performance and then develop either alternate OS interfaces that allow better performance or improve the existing interfaces.

    More or less, with source at your finger tips, you can do more than bitch and moan about things being slow. You can dig in and find out exactly why its so slow (bitch about it of course) and then fix it.
    - Chad
  • First of all, I seem to remember some time ago seeing a small patch for the linux kernel that optimized a few short lines that created a 3fps increase in software rendered quake under linux on a p200. Which is a fairly nice improvement. I don't think this was ever incorporated into a release though.

    The main benefit that I believe Draeker was speaking of was API level modification, which can be changed pretty quickly, rather than kernel level that allows a reboot. Many of you may know that the guy who wrote the Simple Direct Media Layer now works for LokiSoft. This means that if there is a change in the API that the developer (LokiSoft) notices will drastically fix problems in their games, they can do that and distribute it. This has actually happened as those of us testing CIV:CTP will be able to note.
  • I've got a subscription to GDMag! I wanna see this article and show it to everyone.
  • Damn right. I've had two jobs this week fixing hardware problems under Windows because it couldn't identify it correctly and wouldn't let you tell it the hardware manually. RedHat works much better for me w/ the exception of crappy Win modems.
  • Those are 'remove from shelf' dates, not begin dates. When I learned that, the whole magazine thing made a lot more sense.

    The reason, btw, that they put remove dates instead of issuance dates is because with quarterlies/bimonthlies/semimonthlies/weeklies all on the shelf, you need something consistent so the magazine seller can just go down the row and pull the 'old' issues without figuring out what kind of issue it is.

    Or so I've been told, by people in the industry.

    --Parity
  • I'm thinking that linux would be a great game OS because game libraries could be partially written as kernel modules, allowing developers to access the hardware directly when they need to sneak every ounce of performance out of game as possible. I wonder how well a kernel level game API would work for linux. Might not really be necisary though, we already have sound, and cd audio. GGI is working on video drivers, which I think incorporates hardware 3d. Joysticks as well, I don't even think windows supports joysticks as beautifully as linux does. I had to go through a really ugly process to get my snes controller working under windows. Under linux it was just insmod joystick ; insmod joy-console js_console=0x278,1. Not pretty, but it worked really easily. The only thing I can think of that a game might need is the ability to play more directly with the FPU or whatever silly instructions might be tossed in with the FPU. Also, with the realtime scheduler, Linux makes a really great gaming OS.
  • Theoretically, like the guy said in Cryptonomicon, you don't need an OS at all. But then each application would have to worry about low level problems like disk and memory access, which vary from machine to machine. This is the whole problem the operating system solved - duplication of effort! The OS configures itself for that machine, and then presents a platform that stuff can run on without worrying about what hardware you have. Modifying your OS is a great freedom to have, but by releasing software which requires a certain modification to the end user's OS, you are taking that very freedom away from him.
  • While I can't wait for "Civ3" for Linux -- I had to reinstall Win9x on my system just so I could play what many consider to be the real sequel to Civ2... Alpha Centauri. It's not a big change from previous versions but the little things make a huge difference and I've never had so much fun staring at my little 15inch monitor for hours on end :)
  • Civ: CtP is out for Linux on April 26. I already preordered mine :)

    You can order it from LokiSoft [lokisoft.com].

    - Blaine
  • Alas, that wouldn't quite work. . . unless your
    runtime had every concievable videocard and sound
    card built-in, as well as modems and NICs. . .

    It would only work for a clearly specified set of
    sound/videocards, and THAT would cut the market.

    A **BETTER** strategy might be to make a low-end
    LINUX with a wide variety of supported boxes, an
    idiot-proof setup program, and an auto-configured,
    auto-running XFree86 or KDE. . . drop the
    compilers, extra configurability, etc, for a fixed
    version. . .

    (I realize I'm advocating a Win-95'ing of LINUX,
    to get newbies into it. . .then show how much
    BETTER it runs, when you learn to customize
    it to your individual system. . .and then,
    they're suddenly one of us. . . )


  • RedHat works much better for me w/ the exception of crappy Win modems.

    I can tell you why, as if you didn't know:

    Winmodems are just DSP chips with phone ports. The driver does *everything* else associated with a modem, from generating the blue-tones to adjusting the compression. The drivers are large and cumbersome because of it, but the cards are frickin' cheap; so the price goes down some. Thusly greed generates another bad idea...
  • Thanks for all that typing, it's a cool article. But coudn't this get Rob into serious trouble? You know, copyrighted material and all.

    Well, no. Rob wouldn't get in trouble at all. Jobu3D (or whomever is behind the pseudonym) might. Witness the disclaimer at the top of the page. (In appropriately fine print...)

    The Fine Print: The following comments are owned by whoever posted them. Slashdot is not responsible for what they say.

    You see? No problems...

  • "Reproduce the one piece of MS software that actually works better than anybody else's;"

    Uhhh... or not. RedHat 5.2 found my Ethernet card (3c905b) just fine, worked like a charm out of the box. I've spent the last 2 days trying to get NT to work with the goddam card, as well as Solaris. They both incorrectly identify it as a 3c905 (an incompatible card) and then crash when they try to use it. I've *never* had a Linux installation program crash on me.

    "Software is like sex- the best is for free"
  • What the above person said.
    Also, you could try freeciv. Its an open source civ clone for unix, that may sate your tastes for a time. Search for it on freshmeat.
    -jeff Gondek
  • Take this for instance:

    You are running X OS on Y Processor and are going to play Z game

    1. Dump an image of the Memory to Disk
    2. Self-Boot (remember those 360K floppy games that did it) the game
    3. Access Host Primary filesystem for unusual drivers (Linux Supports almost any filesystem you
    can think of)
    4. Play
    5. Reload host OS

    (Note: This may cause the OS to report signs missing periods of time and may think it had been abducted by aliens :)
  • It's the May issue, look on the very last page for the opinion piece. It's only a page but worth checking out (better than the poorly written, long-winded, no point, pieces they often have in the particular column).

    gid-fu
  • More Linux gaming will be a great boost to Linux. However, if we are to really make linux for everyone, we need to make an idoits version of linux with a self installing program, and a utility that vertually does all the system administrators tasks. However, until someone does that, keep on making and porting games. After all, even penguins like to have fun. :) All I have to do is get enough money to but CIV:CTP.
  • I saw a demo of VMWare at the San Jose LinuxWorld Expo, and running something like that would allow you to run differently tweaked versions of an operating system simultaneously, even sharing data across them, so it could seem like one OS. Of course, memory requirements are significant; I think you need at least 128MB. Interestingly, a /. story [slashdot.org] from earlier this week just proposed an open VMWare-like project.
  • Which issue month of this magazine has the article? Magazines anymore come out with dates on em so far in the future, I want to get the right one. I was at a bookstore a few days ago, and they had some dated June 99. It's a crazy industry.
  • ...would be cool. A run-time version of Linux could be included on the CD along with the game, and the user wouldn't have to install Linux to play Linux games. The only thing that would have to be written to the hard drive would be game data (levels, bitmaps, etc.) and configuration files. This would be a great way to intoduce Linux to Windows users.

    TedC

  • Many (if not most) game developers will tell you that they need to get the OS out of the way so they can fulfill their need for speed. However, they also want their games to work transparently on multiple hardware platforms, which is what the OS layer is supposed to do for you, so they find themselves wanting it both ways.

    It turns out that it is possible to get high-performance out of even heavy OSes like Linux, but the libraries need to be designed very carefully. A lot of thought needs to be devoted into isolating the bottlenecks, characterizing them, and then designing the library so that the bottleneck vanishes or is substantially diminished. This is not easy or quick work. It requires four people (at most) to sit and think a lot. (I know; I'm in the middle of something like it right now.)

    I also posted a Roadmap for Linux Gaming [slashdot.org] to Slashdot some days ago, which I think may be applicable here.

    I'll read the article when my copy of Game Developer arrives.

    Schwab

  • A **BETTER** strategy might be to make a low-end
    LINUX with a wide variety of supported boxes, an
    idiot-proof setup program, and an auto-configured,
    auto-running XFree86 or KDE. . . drop the
    compilers, extra configurability, etc, for a fixed
    version. . .

    (I realize I'm advocating a Win-95'ing of LINUX,
    to get newbies into it. . .then show how much
    BETTER it runs, when you learn to customize
    it to your individual system. . .and then,
    they're suddenly one of us. . . )


    No shame in that.

    You want an auto-configuring "Linux lite". Sounds like a very good plan to me. Reproduce the one piece of MS software that actually works better than anybody else's; the install-time configurator. As far as minimizing the system, you'd just want a stripped-down kernel and fewer daemons running around.

    The alternative is to put together a software spec for a Linux game machine. Power users and geeks would download the video drivers and other software to make their systems compliant, while comopanies could make money building miniature Linux boxen that just meet the software spec, and selling them alongside the Nintendo consoles.
    Which game outfit wants to make a Linux console? Show of hands, please.

  • by D-Fly ( 7665 ) on Friday April 09, 1999 @02:54PM (#1941566) Homepage Journal
    I haven't read the article (I will), but is he actually suggesting that developers will modify the OS to their own ends?

    No comments so far on that little tidbit, but that seems like a pretty damned big deal to me; what exactly does he mean?

    If I were going to run Quake XIII on my 2Ghz Linux box, is he implying that I would optimize my experience by booting with a recompiled QuakeLinux(tm)?

    I guess that might actually be sort of a possibility, once we all move to Solid State hard drives or are in some other manner able to reboot almost instantly.

    Far out. Does anyone else find the idea of an application-optimized OS as weird as I do?
  • by D-Fly ( 7665 ) on Friday April 09, 1999 @05:15PM (#1941567) Homepage Journal
    Now that somebody posted the article, I see that the writer wasn't actually going that far, but:

    My point was, what if it got to the point where we could reboot on the fly--cf: solid state hard drives--and thus, application writers could AT THEIR OPTION, use the entire (open source) OS as reusable code.... like a really huge source code library.

    Thus you would still get the no-need-to-rewrite advantages of having an OS, but you COULD rewrite the parts that were slowing down your app, if you wanted to maximize performance.

    In other words, if the standard Linux methods for addressing video memory were a compromise that allowed all sorts of applications to run on top of them,(they are) you could just rewrite them so that your 3-D FPPSEU game ran insanely fast, although the resulting OS would suck at running spreadsheets.

    Just a thought, but it is one possible outgrowth of the open source phenomenon.
  • by gavinhall ( 33 ) on Friday April 09, 1999 @03:09PM (#1941568)
    Posted by Jobu3D:

    Re-typed from my magazine. GDMag is kind of hard to find, so I figured some of you might still wanna read it. yes, I typed this all, so excuse the typos.

    Making a case for Linux Games:

    Great ideas seem obvious in retrospect. nearly eight months after founding Loki Entertainment Software, putting games onto Linux is starting to seem obvious, too.

    For those of you recently returning from the outer rings, Linux is a free, open-source operating system. It's fast, stable, reliable, and responsive - technically equivalent and often superior to commercial OS's because Linux development is driven by technology, not marketing. Think of the Linux development community as the world's only functioning meritocracy. Only the best code survives. A solice estimate of Linux users is difficult to come by - it's perfectly acceptable to download the OS or copy it for a friend - but the most reliable figures put the '98 Linux installed base somewhere between 12 and 15 million.

    Still, you might ask, isn't Linux just a server OS? Well, International Data Corp. estimates that Linux held about two percent of the worldwide *desktop* market in 1998. Quite remarkable for an OS which has only recently begun to see desktop applications. The trend is familiar. New technologies often trickle down from high-end applications, such as servers to the consumer desktop.

    It's true that most of the applications are beginning to appear. There are two very good GUI's for Linux already availabl: KDE and GNOME. There are also several good Linux office applications, including Corel's recently released Wordperfect 8.0. Wordperfect was downloaded over 250K times within two weeks of its release. Who's to say games aren't next?

    Not only will linux became an increasingly viable dekstop OS - I beleive that it's also going to be the gaming OS of choice. because Linux is open source, it's possible to make changes to the OS itself to enhance game performance. By developing on Linux, the game industry will further Linux development - and build in superior game play.

    That's why we chose to port Activisions Civilization: Call to Power to the Linux platform. At Loki, we license the rights to pirt successful game titles to Linux. The original developer provides us with the source code (which we do not release). We then port the game. Loki tests, publishes, and supports the Linux port - and pays the original developer royalties. This way, we're able to deliver the best titles the PC game world has to offer to our customers.

    All developers could potentially benefit. Gan-related software libraries are also oen source in the Linux world and this gain all the benefits of the open-source model. In our own company, we are currently sing the Simple DirectMedia Layer (SDL) to support input, graphics, and sound. The changes we make to SDL in our porting work will be publically available - source code and all. Eyes will begin combing the code. With thousands of developers scrutinizing SDL code, bugs will be found and fixed faster than they would in any single company's product.

    Open source also encourages open standards. And open standards translate into lower costs for developers and fewer headaches for users. linux is far more likely to standardize on a particular 3D API, for example. By contrast, Windows developers struffle to support competing 3D, sound, and other propietary formats.

    The combined benefits of an open source OS, open source libraries, and open standards add up to a superior gaming environment. In the near future, the same game running on the same hardware will be faster, more stable, and more responsive on Linux. Hardcore gamers will pick up on this quickly. What about game developers?

Anyone can make an omelet with eggs. The trick is to make one with none.

Working...