Please create an account to participate in the Slashdot moderation system


Forgot your password?
Programming Books Media Book Reviews IT Technology

Linux Game Programming 91

Craig Maloney writes the review below of Linux Game Programming. From the sound of it, there may be a considerable market need for more books on programming the fun stuff for GNU/Linux. This one may even suit your needs, but earns some harsh words from Craig.

Linux Game Programming
author Mark "Nurgle" Collins et al.
pages 331
publisher Prima Tech
rating 3
reviewer Craig Maloney
ISBN 0-7615-3255-2
summary A hastily compiled book with some useful tidbits, but no main course.


There are precious few books which mention programming games under Linux. There even fewer that cover programming games under Linux exclusively. Linux Game Programming is the first published book exclusively dedicated to programming games under Linux. Unfortunately this book was rushed to the publishers just to obtain the dubious distinction of being the first. Worse, this book has many errors and a CD which is next to worthless.

What's good?

It's very hard to find anything that's really outstanding in this book. The chapters offer what amounts to little more than a starting point for learning, with just enough to get the reader interested in the topic before moving on to the next topic. The sections on Artifical Intelligence and Porting stick out in my mind as some of the books strong sections, but even those could use some more elaboration.

What's Bad?

In trying to cover as many aspects of Linux game development, the book ends up giving little more than a synopsis of the material. Also, some of the choices are curious. Why have a chapter on SDL which only deals with using SDL for the input methods? There seems to be a lack of focus for the overall book for what it wishes to accomplish. Also, dedicating whole chapters printing out open source licenses (GPL, LGPL, Artistic, BSD, and Mozilla) is nothing more than fluff for a book like this (although the author does include a chapter discussing the benefits and drawbacks to chosing an open-source license verses a closed source approach.) The code is not complete, and doesn't show how to use it in a full program. Worse, there are no complete working game programs, either in the book or on the CD.

The CD is incomplete and a waste. It includes the examples from the book. Unfortunately, the examples are all in MSDOS format, so the reader will have to convert them in order to get them to run (if they'll even run at all. I had a hard time getting some to even compile). Also included on the CD is the SDL 1.1.8 kit in source and RPM format (the development RPM is missing, though, so you'll need to pick that up as well in order to actually DEVELOP SDL games). There are also source tar files for Mesa3D, OpenAL, and SVGALib. Also included is the Indrema SDK, which might be of interest for some people. There are also some strange additions on the CD. The first weird addition is the Linux Source for kernels 2.2.18, 2.4.0, and 2.4.1. Why include these on a CD for Linux game development? The second odd addition is a directory for PrettyPoly. The software is packaged as a tarball of the author's CVS root directory. How this made it onto the CD in this format is almost as inexplicable as having MSDOS formatted files destined for a Linux machine.


This book could have been so much more. If the authors had taken the time to describe designing and developing several Linux games from the ground up, this book would have been better for it. As it is, it's barely good as a reference for what it does cover. I am very disappointed in this book. It could have been so much more, but falls way short of its potential.

There's one gripe I want to air about this series as well. Why does Andre LaMothe get his picture on the back cover of every one of these books as the 'Series Editor'? Also on the spine, his name is at the top. I'll admit that I like LaMothe's writing, but giving him top billing on the Prima Tech Game Developers series seems pretentious to me.

Table of Contents

  • Introduction
  1. Introduction to Game Development
  2. Linux Development Tools
  3. The Structure of a Game
  4. 2D Graphics Under Linux
  5. Input with SDL
  6. 3D Graphics for Linux Games
  7. Using OpenGL in Games
  8. Sound Under Linux
  9. Networking
  10. Artificial Intelligence
  11. OpenSource: Friend or Foe?
  1. OpenSource License Agreements
  2. Porting
  3. References
  4. Glossary
  5. What's on the CD-ROM

You can purchase this book at Fatbrain.

This discussion has been archived. No new comments can be posted.

Linux Game Programming

Comments Filter:
  • by Anonymous Coward
    This sounds similar to the book Fundamentals of Linux Programming by Alex Keltner. Because of the issues with cross-platform programming, Linux software almost inevitably doesn't utilize all the features that it's capable of. However, with software standards such as OpenGL appearing on Linux, the gap is slightly bridged and Linux software development should become easier and faster. Thus, the market for Linux-based games seems like it's about to take a big boost.
  • by Anonymous Coward
    Linux will never be mainstream enough!
  • by Anonymous Coward
    You evade the most important question of all... why bother writing a game for linux in the first place. Who would buy it? Seriously, who? All you open source zealots don't have a collective dime. I am about to write a game (or start...) and after pondering I've decided to embrace Windows/DirectX. Why? That's where the money is. Granted I don't have much chance of making any money, but at least that market place supports the concept of buying software. And forget the GPL -- that will kill any hope of money. And let's not forget the tools -- Windows tools crush linux, period. Anybody who disagrees hasn't used Visual C++. A professional windows programmer such as myself will never touch Linux -- development environment is too primitive, too fragmented, and no chance of making a buck. I was a BSD jockey at RPI, but Windows is where the money is. Don't loose sight of what people use computers for -- doing things, not messing with etc directories.
  • by Anonymous Coward
    EVERY time a Linux game or Linux game programming article, comes out - people start complaining and bitching about why Linux game programming is pointless because people won't buy commercial Linux games, or why bother because we can "just play in in WINE".... but it seems we're IGNORING one of the best things about Linux - it's for tinkerers!

    What about amateur game programming? - what about NOT to try to make some fancy top-selling commercial game - but to make games for FUN! In windows, game programming is so "professional" now, that amateur game programming has dropped off quite a bit from the old 3.1 and DOS days. It takes so much effort and usually $$$ to get "professional" tools and talent. I remember ordering shareware games for DOS 5.0/6.0 years ago - most weren't flashy - but they were FUN - Commander Keen, Moraff's World, Corncob 3D (Am I the ONLY one to remember THIS one???). I WANT to program games for Linux - not for $$$ or fame, because I have LOTS of game ideas and Linux has the amateur programming community now that DOS is long and dead. That is why I think that resources for Limux game programming are important (more SDL, more Allegro, more ClanLib!). But, it seems no one thinks amateur game programming is important on Linux - everyone bitches about Half-Life, or Tribes 2, or the lack of sales of Linux Quake 3, etc. as if professional game programming was the ONLY game programming important to Linux.

    I for want applaud attempts to write resources/books for Linux game programming (even if they turn out as poorly written and organized as this one). I think that it will be the amateur game programming COMMUNITY (which is only a shadow of it's former self in the world of MS) that will be more important to Linux as an entertainment platform, than commercial ports - which I don't feel will every sell well for a while for a variety of reasons.

    Kevin W. Christie
  • by Anonymous Coward on Thursday July 19, 2001 @05:40AM (#74902)
    I'm glad to see a negative review, I don't remember reading any other negative reviews prior to this one. Nice to see that not everyone has rose-coloured glasses on. Also publishers that publish poor books should be publically embarassed about letting poor quality books into print. It is a waste of their and their readers' money.

    Funny to see the link to purchase the book is still included.

  • by Anonymous Coward on Thursday July 19, 2001 @05:55AM (#74903)
    The problem is that this book tries to cover too much, but I think this is a problem with Linux itself, not the book. Linux multimedia SDKs have been in flux for a long time, and it doesn't look like this is going to settle. "Settle" as in : pick this one, single, SDK, and rest assured that virtually all popular hardware is going to have a driver for it, that all major distributions are going to support it out of the box, and that the SDK is large enough to have good documentation and samples for it.

    Case in point : the simple choice between two SDKs, Direct3D and OpenGL, has delayed advances in 3D technologies on the Windows platform for a very long time, because developers feared the difficulties of supporting them both in their games, but at the same time feared that building everything with D3D would obsolete their whole codebase if OGL won after all -- or vice versa. Imagine the doubts in game developers minds when they read about the dozen SDKs in this book.

    In short, choice is bad for things like this. Competition is a great thing when you're trying to improve things for the customers, but when those customers are actually developers, you want to remove all their doubts by offering one very-well-supported environment rather than ten weak ones (Also see : desktops; component models; IDEs; etc.)

    Linux needs to make cold choices and finish them up. Only then will it be possible to write meaningful books about game development / desktop development / component development / etc..

  • The Programming Linux Games book is SDL focused, so your wish has been granted. Now if I could only find a copy. :)
  • by SEGV ( 1677 )
    I'm also reading all the best programming and software development books and working out the game bits myself. The game books simply aren't good enough (on many levels: content, presentation, etc.) to do anything with.

    My dream was to create my own Linux RTS game and then write a book that takes it from conception to implementation, covering all levels of analysis, design, implmentation, testing, etc. I think that would be useful.

    However, I'm not making much progress on it until I settle some other things in my life (getting a house etc.). So don't hold your breath!

    Marc A. Lepage (aka SEGV)
  • It's geared for the novice that wants to learn how to write games on the specified platform. Being that it's more geared for novices (realize that even this book is that...), it's not going to appeal to a codehead and will get a generally negative review.

    Unfortunately, most of the "game programming" books are of this variety- there's notable exceptions, like Game Programming Gems, however.

    Everyone should realize that most of the books are published for the lowest common denominator; they're trying to strip-mine the populace for money. That it doesn't work for many of the /. crowd should be unsurprising.
  • This book is geared for people for whom have never touched this stuff before. It's for game development novices. If you've dealt with the innards of a 3D driver, you're going to understand OpenGL pretty good. If you've done multimeda apps, you're going to understand SDL pretty well. If you understand these topics, this book is NOT for you- it never was intended for people that are looking for more of a reference to how to develop with these apis or for someone looking for the finer points of game development (I might suggest the algorithms list on SourceForge for trying to glean that sort of thing!)
  • And Andre Lamothe was the author of that one. It's a little thin for a person that's been coding for a while, but it had some pretty good stuff in it buried amongst the novice stuff.
  • Not to complain, as $100 for a commercial engine rocks- but if I can't give a copy to someone else, it's most definitely NOT Free Software.
  • How often do you NEED such a thing under Linux?
    How often do you NEED such a thing under Windows?

    Windows API's are often complex (moresoand you end up needing more calls to the API to do things than you do under Linux/Unix. Don't bother countering with me not knowing what I'm talking about- I've been doing Windows and Unix coding for 12+ years now. I've written everything from business applications to device drivers under Windows and Linux is very much easier to code for.
  • I think you are mistaken. If you already know how to program games, then a book on games on Linux is quite good.

    I bought the book precisely because I wanted a quick introduction to the various Linux APIs. It served that purpose quite well.
  • Is that they don't follow an idea through. For example, they briefly go into how to Blit a pixel using SDL but they don't bother to tie the concept in. It's fragments of data (meat of a sandwich) that have no foundation to build on (bread). In addition, there is a noticable lack of detail on the things they do explain (lettuce and tomato).

    Half of the paper is occupied which fancy borders which eat at least a quarter of each page. This book would've been better off to be twice as thick without the borders and plenty more information. It's virtually useless as a step by step teach yourself manual. It's pretty useless for those of us that have experience in writing games because the data it includes is fairly simple (meaning, if you're more than a beginner, you already know it) and incomplete.

    "One World, One Web, One Program" - Microsoft Promotional Ad
  • What about ALSA support? OSS must die a quick death ASAP for the good of us all....
  • Windows tools crush linux, period. Anybody who disagrees hasn't used Visual C++.

    And don't forget that NeXTSTEP tools blow the shit out of M$ tools, period. Anybody who disagrees hasn't even *heard* of the Interface Builder or Objective C.

    Oh, and I think you should *definitely* stick with Windows. We don't need your kind of mercenary attitude here. This is a *community*, not a *market*.

  • but doesn't ALSA emulate OSS - so that calls to OSS would go through ALSA anyhow?

    Yes but there's also all kinds of cool stuff in ALSA like the sequencer network. At any rate, hopefully we can finally get it into the kernel during this development cycle. Now, if only we could port it to *BSD and Solaris we'd be cookin!

  • by GiMP ( 10923 )
    Loki has a similiar book although I am not sure if it is released yet, although I have read the pdf... for a book of this kind, it is very good.

    The most it goes into 3d is explaining how to interface to OpenGL though SDL, but (rightfully) explains that OpenGL is worthly of its own book.

    I can't remember the exact title, Programming Linux Games? something like that.
  • The have fixed the link since this morning, so I flip-flop: If you want a link to Loki's book, look here []. As they say, it's not yet released. I suppose that losing the clickthrough revenue is important enough to get them to fix an article, but blatant factual errors aren't!
  • by woggo ( 11781 ) on Thursday July 19, 2001 @05:50AM (#74918) Journal
    You can find out -- the fatbrain link he gives is actually to the Loki book. Here [] is a fatbrain link to the book he actually reviewed.
  • Has anyone purchased and read the Programming Linux Games book that Loki Software wrote?
    <a href="">http://w</a>
  • I bought this book a few weeks ago, and the SDL website *was* more helpful. After encountering the errors the reviewer mentions, I checked out the SDL documentation, and learned more that the book even trys to cover. Again and again I found myself putting the book down and referencing the SDL docs directly. Now the only thing I use the book for is it's table of keycodes for SDL input.

    The one good thing that did come of my purchase of this book was that I found (link in the above post) which really does kick ass. motivated me to write a game, a 2D arcade game similar to Atari's Lunar Lander, called Moon Lander []

    So, the book is not completely useless, it is only mostly useless.


  • why bother writing a game for linux in the first place. Who would buy it?
    There is an increasing number of Linux users out there who are willing to pay for games. Loki seems to be making money out of porting games, and whilst I grant you the market ain't as big as the Windows games market, there is a market. Unix is a growing games market, whereas Windows is a very crowded market where only the best 1 or 2 percent succeed.

    A professional windows programmer such as myself will never touch Linux
    Why not? Quake and Doom were developed in a Unix environment first, and many games companies use Unix (incl. Linux) workstations for graphics development. If you are going to be a serious games programmer you had better get rid of your misconceptions fast. You should use whatever platform offers the best tools and in some cases those tools are Unix only

    The simple fact is that a lot of games programming still requires low level programming in places, and a nice friendly GUI environment isn't always the solution.

    And forget the GPL -- that will kill any hope of money
    The GPL doesn't kill any hope of money since you don't have to make GPL games on a Linux system. You can make a game using your own libraries and/or libraries which are LGPL'ed) and still keep your source code private if you insist.

    Personally I think it would be a good thing if games developers to open source their code after a couple of years so that games which became abandonware could be supported by others.

    no chance of making a buck
    There's a hell of a lot of contract software engineers who have no trouble taking home $150000+ per year working on Unix systems.

    Don't loose sight of what people use computers for -- doing things, not messing with etc directories.
    Which is why software which requires stability is run on Unix systems (old joke - I'll grant NT is getting better; I work on both).

    [OK the previous message is from a baby troll who hasn't grown up beyond AC posts, but I couldn't resist]
  • David Sweet, author of KDE 2.0 Development [] published the entire GNU GPL in the book as well, which I think is just a way to publish a thicker book. My question is why would an editor actually publish a book that includes a license that is free available when they download KDE 2.0 in the first place. What's worse is the book wasn't very thorough (in my humble opinion) and gave only a few insights on how to work with the KDE 2.0 API. It's funny but I think the best technical manual I've ever read was the PHP manual. It's so straight forward it's amusing. I think the quality of technical books has gone downhill. I've had a hard time finding a good one on quite a few topics (C++, C, Python) in the last while. It's just sad, that's all.

  • by sdaemon ( 25357 ) on Thursday July 19, 2001 @05:43AM (#74923)
    I spent around 30 minutes poking through this book last weekend at B&N, and my opinion of it is that it is yet another hastily thrown together book attempting to capitalize on the fact that the market is buzzing for more books on Linux at the moment. The topic of games programming under Linux does need to be worked on more, granted, but I think readers are best waiting until there's an O'Reilly book on the subject, honestly.
  • I've used Allegro (for corporate projects, even). I have nothing against Shawn Hargreaves. I think he's great, and I'm glad he wrote the library, because for years it was the best free game programming library out there.

    But now I have to say that Loki's SDL [] is better.

  • That's at []. If you're writing games for Linux, it should always be your first stop.

    If you want to learn OpenGL, your next stop should be NeHe's tutorials on Gamedev.Net. []

    GameDev itself is helpful... []

    As is Flipcode... []

    If you're interested in writing a good game, you should learn from those that came before you. Check them out using emulators from Zophar's Domain... []

    Also, no game developer worth his salt can ignore the virtual treasure trove of information archived at GamaSutra... []

    And finally, you'll want some cool free video game tunes to listen to while you code. The two best sites for video game remixes are Bart Klepka's remixes and Remix at [] []

    Go to it. I hope to play your games soon.

  • first off, the majority of the world doesn't care
    what The Right Thing is--no offense, but it's
    true. they dont care about the linux cause.

    I am putting forth the suggestion that until
    linux has significantly gained popularity, it
    will not flourish in the desktop arena (and yes,
    I know that this is a chicken and egg problem).

    there IS a need for a screwdriver and the hammer
    to co-exist, and linux is certainly NOT monetarily
    free when you count the number of hours a non-geek
    would spend trying to figure out how to duplicate
    the functions performed by just a core windows
    system these days -- word, excel, outlook, power-
    point, acrobat reader, nauseum...

    it just isn't going to happen soon! most people
    come to the bring af an aneurysm just trying to
    figure out how to access basic functionality
    in MS office.

    but yes, by my reasoning, very few people should
    give up windows. *NIX simply was never designed
    for non-geeks, and piling GUI tools on top of the
    command line isnt doing anyone favors.
    the command line is still there, and when the GUI
    tools dont work (which is quite often), people
    are truly stuck because they never bargained for
    learning UNIX command line.

    why pull someone who is perfectly happy with
    their dell machine and preloaded win2k towards
    linux? for 80+% of the people, it causes more
    pain than gain. they just want to play games
    and geek out with their yuppy friends on AOL.

    leave UNIX to the geeks.
  • by CrudPuppy ( 33870 ) on Thursday July 19, 2001 @06:14AM (#74927) Homepage
    I love linux, but here we face one of the most
    common problems:

    someone wants to play the latest games on the
    latest hardware, and doesnt mind using Wine or
    VMware to do it, or even binary-only games...

    the logical conclusion is that if you are one
    of these people, the time has not yet come for
    you to give up windows! dual-boot or get another
    machine if you want to run linux that badly.

    one day, linux will probably be able to do all
    of these things, but in the meantime, dont pick
    up a hammer when you need a screwdriver!

    my $0.02
  • The criticisms of this review are valid but could benefit from a different perspective. I started writing a networked, 3D game client in the spring, my first such attempt. If I had discovered this book a month earlier, it would probably have saved me a week or more. It did save me some time. I could find no other single source that covered what I wanted to do.

    A short overview and a brief technical introduction to virtually every technology I have used so far is in this book. When you are struggling with your first 3d game client, this book offers valuable perspective that can save you from wasting a lot of time just trying to figure out what to use. If you are attempting, as I was, to write your first 3d, networked game client, consider this: is a week (or two or three) of your time worth 50 bux? (I think that's what I paid) If so, take a look at the book.

    If you are an experienced programmer in most of the technologies covered in this book and already have a good perspective on each of them and what they are useful for, don't buy it.

    If you fall in between the extremes above and think that the book isn't for you, wait for something else or dig up the info for yourself -- as I mostly did. ;) But, in the absence of much competition, this book may have some value if you want to write code -- and save a little time -- right now.

    (The client I'm working on is not yet released in source form but will be when I get it cleaned up a bit. It is here [] and is used to play the web game Starshiptraders [] which has historically been playable only with a browser or telnet.)
  • There is a book that is rather out-of-date now, but follows that format and I'd still recommend it if you can spare the cash - 'Tricks of the game programming gurus'. It is by no means perfect but I'd say that an updated version that was linux-centric and covered vaguely similar material (Though it was written before 3d accellerators et al) could be good.

    I can't remember who published it off the top of my head but if you really can't find it on a search then the above email address is valid...
  • Actually, it is rapidly becoming "Just use SDL" - from the FAQ []:

    Q: Does SDL support 3D acceleration?

    A: Yes, as of version 1.1.0, SDL has full support for the OpenGL API.

    Given that it also has support for joysticks, sound, video playback, CD playback, and a host of other things - there isn't much reason to use anything else. Plus, there are a ton of libraries and such that use SDL as the underlying base, allowing you that much more freedom and flexibility...

    Worldcom [] - Generation Duh!
  • Unfortunately, no - but I imagine you already knew that - but doesn't ALSA emulate OSS - so that calls to OSS would go through ALSA anyhow? Not as good as the real thing, admittedly...

    Worldcom [] - Generation Duh!
  • Hmmm - seems like there may be OpenAL support though? I know very little about all of this. I suppose that if it doesn't, you could just use ALSA directly for the audio backend, and SDL for everything else...

    Worldcom [] - Generation Duh!
  • by cr0sh ( 43134 ) on Thursday July 19, 2001 @09:49AM (#74933) Homepage
    One of my next projects is going to involve SDL and possibly OpenGL - and never having touched either, I went to the SDL site first. Great info! I had one of the demo programs (load a bmp) up and going in a few minutes. Once I get my SuSE box back in shape (updated it last night to 7.2 from 6.3, and I am having some issues that need ironing out - like, oh, 3D Acceleration) - I plan to try modding that demo (my C is rustier than a 50 year old nail), and going from there.

    I saw the NeHe tutorials - those have to be the BEST 3D tutorials I have EVER laid eyes on - covers everything - I dare say you could damn near create a damn good 3D game using that site.

    There are a ton of places to find code for gaming - you outlined the best of them - hats off to you!

    Worldcom [] - Generation Duh!
  • At the risk of a flame war: Want good tools? Try:
    • The Nirvana Editor []
      It may not be an MDI (multi document interface) like Visual C++, but then I like being able to pop up a xxgdb window and have three scrolling xterms of ouput from gcc's last runs rather than tabbing through a tiny window. Got better syntax highlighting too.
    • Don't foget EMACS []
      If you can't do it in EMACS, it probably can't be done (or is waiting for the Lisp to be written.)
    • One acronym - CVS []
      As professional who has worked on real program (i.e. real-time embeded OSes for cirtical system with more than a Megabyte of Z80 ASSEMBLER code in some files) I cannot begin to attest to the superiority of CVS (or even RCS []) over Microsoft's $600 SourceSafe product for managing (or mangling) project documents.
    • Bugzilla []
      Decent bug tracking tools are hard to come by and this one has withstood the test of time (and the mozilla codebase). I don't know of anything equivalent shipped by Microsoft (or specifically for their OS).
    • It's been mentioned already, but OpenGL [] works just as well on most Linux boxes as it does on MS Windows. I've written applets and games (for a University graphics class actually) that compile and run under both Windows and Linux.
    Don't complain about Linux tools just because you have to LOOK FOR THEM [] rather than sit around and have them shoved in your face []. Between a decent editor, code revision/control, bug tracking, decent uptime of a sever grade OS, ANSI complient compilers [], at least one SDK, I may still want to buy a keyboard from Microsoft but I don't have to buy Microsoft tools software to develop games for Windows [] or for Linux.
  • anyone with deltron in their sig is automatically cool

  • Hmm... I understand where you are coming from in terms of the Windows gaming market, but I strongly disagree with your assessment of Windows as a development environment. The only reason I use Windows at all is to support the bloody Microsoft Office document formats for communications. All of the work I do of any meaning is through X.

    "Windows tools crush linux, period. Anybody who disagrees hasn't used Visual C++". Whew - I'll let that one stand on its own. I know I'm not the only professional developer who has developed on more than one platform who does NOT prefer use of a coercive, proprietary IDE.

    In my view, Linux is not yet mature enough in the eyes of corporate America as a whole as a deployment platform. Businesses are still willing to pay the premium to Sun, HP, IBM, etc. for a commercially supported flavor of Unix from a trusted vendor. As a desktop platform for Unix developers, though, Linux serves at least as well as Windows can.
  • These books should not try to cover *EVERY* input/output liibrary one could use for programming! This causes the book to be more of an overview. Pick one and stick with it!
  • by agshekeloh ( 67349 ) on Thursday July 19, 2001 @06:20AM (#74938) Homepage
    As an occasional reviewer myself: Reviewing a book fairly is a lot of work. When reviewing a book, you're usually expected to make certain minimal allowances for it. "Am I really the target audience for this book?" "What if I wasn't an expert in this field?" And so on.

    The only reason for writing a bad review is if the book is so egregiously offensive that you have to get rid of the bile it generated. This seems to be in that category.

    As Gene Wolfe said (paraphrased): "Some people finish every book they start. This really impresses me. Personally, when I get shit in my eyes, I close them."

    Chances are, if someone's gone to the trouble to read the whole book, it's a decent book. How many Linux books don't get reviewed here, anyway?

  • ... unless you're ethical and like to follow the law.

    Cause the screwdriver costs 200$, while the hammer and it's respective screwdriver-emulator is free. Nevermind that switching between your hammers and screwdrivers can take minutes.

    At any rate, using your reasoning, no one should ever give up Windows, since the development support is there because people run it. If you're then saying run it because the development support isn't available for the alternative OS, well then, you'd be a part of the very problem you wish would get solved.

    The nice thing is, if you run WINE, no money goes to MS, thus you contribute to possible market reduction, thus making it far more likely that developers and gaming/video API-makers will take into account *nix portability from the game development's get-go. Yes, it's like littering .. you can't stop it all, but you can certainly do your part if you choose to commit yourself to your ideals and accept the inconveniences and downsides that come with Doing The Right Thing (tm).

  • true enough .. I was only attempting to justify WINE over Windows itself. But you're right, if a Linux version of a game exists, then purchasing the Windows version and running it in WINE does support MS moreso than buying the Linux version.
  • by DeadSea ( 69598 ) on Thursday July 19, 2001 @05:49AM (#74941) Homepage Journal
    The Open Directory Project [] lists several Linux game programming sites []. However, there are only six listed and two more waiting to be reviewed. If you are interested in linux game programming and building an open directory, you should apply [] to maintain the category. Book reviews such as this one and many undiscovered web sites are waiting for somebody like you.
  • Whenever you see anything entitled [pick an OS] Game Programming move along. Topics like AI, good engine design, 3d rotation mathmatics, sprites, drone scripting, etc are GENERAL GAME TOPICS and don't need a spesific OS. OS topics should be "3D graphic libraries in Linux" or "3D Hardware acceleration in linux" or "2D graphics in Linux" or "Linux Graphics Programming", etc.
  • And exactly how is the command line stopping the GUI from working in any way?
    I know Linux is still lacking things to make it everybodys OS but I don't see how the command line is at fault.
    Windows ME sure became a lot nicer when they removed the option of booting in to DOS...

    But really, I'd be happy to coexist with Windows.
    And if game company's would put a little effort into making their games cross platform I'd be really happy.
    They could put Windows, Linux, Mac and what not binaries on the cd, have it all boxed up in the same package and they'd have a much bigger market without having to worry about not selling not of the Linux or what ever version.
  • For the ones who haven't read about it, the trial version of Kylix has been available for download since yesterday.

    This is a wonderful tool for game developers, as you can without too much effort compile the same project using delphi 6 for Windows.

    I'm looking forward to see what people are currently developping for Linux using Kylix, expect to see really cool stuff soon! (Submitted this as a story, but it was rejected)

  • by kdgarris ( 91435 ) on Thursday July 19, 2001 @05:44AM (#74945) Journal

    Hopefully, Loki's [] book, Programming Linux Games [] will be a lot better.

    Does anyone know of any early reviews of this book? It's due to be relesed in August.


  • "I hope this guy is actually a Linux guy who is just mocking the windows programmers... :)"

    He's not, unless there is another just like him on the Yahoo! message board regrading XP removing Java, where UNIX came up.
    The guy said (to paraphrase) "Obviously you don't know much about software development if you think a command line is enough for state of the art software development"
    haha, is that a JOKE or what? I'm sure Loki and ID don't have but so much dependance on KDevelop, none at all for the products they came out with before it was stable! And isn't Linux the development environment of choice for PS2, I guess cutting edge games aren't considered state of the art! Wait a minute, isn't Linux used by alot of special effects houses who developed their code in house? Guess those guys aren't state of the art!
    This person's definition of state of the art seems to vary wildly from mine. The fact of the matter is an Xterm, KWrite, the latest OpenGL (Mesa) and SDL libraries are all, it's all anyone NEEDS, after all, an IDE just puts all those tools in one app with a pretty little button you can click to run them!

  • That's the thing though, MS has been caught TWICE paying people to claim to be independant and praise Microsoft products over the competition. Once was the infamous NT - OS/2 usenet postings, then the recent anti-DOJ ads made by "independant" college professors or whatever it was, that just happened to be on the MS payroll.
    So when someone comes along and says crazy stuff like "You can't use a command line to create state of the art software" or any of this other outright bull that they spout that sounds just like something you would read on an MS propoganda page, you can't help but think in the back of your mind "Does this person work for MS"?
    Maybe they do, maybe they don't, but thanks to the actions of MS, I can only take such people but so seriously.

  • Good points, but I think things are settling out for Linux. At the least, there's no confusion about 3D; it's OpenGL. For input, 2D, and simple audio, it's SDL. Sure, there are plenty of other libraries that sit on top of these, but the same situation exists in Windows.
  • People tend to confuse GUI's with automation. To use your time effectively, you need to automate a lot of tasks. The modern IDE does this for you. But it's also possible to automate with Perl, Make, and shell. This may not look as glamorous but it's easier to adapt to changing needs.
    Anyhow, there are lots of Unix programmers who rarely see a 'command line' - the emacs users.
  • by localman ( 111171 ) on Thursday July 19, 2001 @07:40AM (#74950) Homepage
    Also, dedicating whole chapters printing out open source licenses... there are no complete working game program...
    Sounds like an ironically apropriate book on Linux programming.

    Bye bye Karma.

  • That's simple: It's free. I don't want to make a buck, I want to have fun

    Also, writing free games in your spare time allows you to build up experience and a portfolio...should you want to do it seriously eventually.

    Personally, I love that a lot of source code is available in Linux, which allows me to keep learning new things, increasing my skills. Especially when it comes to games because that is a lot different from business apps. Its nice to have examples to show you how its done.

  • using SDL for input, as a graphics substrate for 2D games and for OpenGL-based 3D games, etc. Throw in some coverage of OpenAL as well as generally applicable topics such as AI, Maths, and the like. Garnish with touches of the 'other side' of game development (plot, characterization, artwork) so the code monkeys understand what the writers and artists are talking about.

    Result: a book teaching folks how to make games that run on Linux. And windows. And any other platform SDL, OpenGL, and OpenAL work on. If it can be pointed out to the development community that these tools are viable and easy to use, further that they get portability almost for free using them thus expanding their market for low marginal cost, more games might come out that Linux, MacOS, BeOS, *BSD, etc. could play.

    Plus SDL is just cool. :-)

    Only question in my mind is would O'Reilly publish a book like this; if so what animal would it be? (would a woodcut of Pac-Man work?)

    News for geeks in Austin: []
  • Basically alot of the books on programming published by Prima are getting slammed for sucking. Andre LaMothe is supposed to be one of hte editors, so I have no idea how this is happening.

    If you're not using or, you may want to give a try. It's mostly windows based and a bit pricey, but if there's enough Linux interest (email them, duh) then they'll probably add courses.

    ICQ 77863057
  • End of 80's (?) and early 90's I used to go through an excelent set of tutorials and lessons (feely available) on PC games programming. A lot of examples, algorithms, code, ... It is still availabe on the net at PC-GPE site []. What we need is probably a set of Linux tutorials following the same philosophy ...
  • Yes there is a way it could have been a good book. They could have been more complete, had less useless information (a summary of each license would be sufficient IMO, and a good chapter about why to open-source a game might be enough for me to buy it). They should have also either targeted new game developers or game developers who want to target linux and then witten a book that covers all the important points for their target audience.
  • Yes, it really annoys me when books dedicate 50+ pages to printing licenses instead of providing internet links. I've got books which include Linux HOWTO's verbatim which I can read for free online (or in /usr/doc). This is blatent filler crap which just serves to make the book look bigger on the shelf.


  • Is this a problem?....Posting these /. pages are not free. I am more then happy to give what little I can to keep a great site like this up.

    GPL is nice, but so is a little $$.
    | - Adam Sane :-)
  • bzzzt! wrong!

    Games have pushed this industry in every way shape and form. Next to pr0n there is nothing more important than games and in terms of hardware there is NOTHING more important.

    Yes there need to be better apps but games are where it is at.

    Yes the Amiga struggled without a Word, Excel but it was killed by very poor decisons throughout it's history, not by the lack of Word.

    Linux MUST get games and especially network games like UT, NASCAR 4, Half-Life, Combat Sims etc, etc....
  • The hardware industry exists in its current form thank wholly to games. The truth of the matter is no one was ever going to need a 64MB video card running Lotus 123.

    There is a current movement toward digital video/editing, made feasible by "cheap" high end hardware
  • I understand your point, but I believe that the reason there are so few negative reviews is that they generally only review books that are worthwile.

    I am grateful for that. I find it much more useful for someone to say "hey, check out this book, it's great" about a book he loves then pointing out to me a book that was lousy.


  • Unfortunally it appears that all the books in this collection suck. The Game Developer Magazine [] has a review on Beginning Direct3D Game Programming [] and they give it a 1/5 score
  • Back in the day, when 8-bit machines were all we had to work with, I remember having an invaluable tool called "Dr. C. Wacko's Guide to Game Programming". The flavor I had was the Atari version, but I think there was one for the Commodore machine also.

    It was a clever, comical, well-made book which I still found myself as I programmed stuff in Turbo-Basic XL, and Action!. And what Linux could really use is an "Abstracted for the OS" version of Dr. C. Wacko to show up again for Linux.

    Laugh will you?! Good, because that's part of the solution. A 13yr. old, addicited to games who wants to roll their own isn't going to pack around a 2500 pg. tome in order to do it, and they won't pick it back up again and again in order to cover something useful if it's buried in appendix XXI. And using that logic, neither should anyone else who's worth their weight in cheese-dip. Sheesh, you'd think we'd be smarter than to cater to such editorial/publisher whim.

    Honestly, a book which covers the important stuff, like choosing a gaming library, low-balling the hardware spec, graphics, regionality, distribution and licensing could do it in a way which is both educational and entertaining.

    What I find chilling is how many slick editors sell companies on cookie-cutter hardware/software tomes, filled with hundreds of pages of sleep-inducing pablum in order to make a quota.

    One of the most useful books I've ever (yes, ever) purchased which actually helped pay the bills was the 1st. edition of the JavaScript Visual Quick Learning Guide (not 100% on the title, it's at home right now) by the PeachPit Press. That book did everything right. Unlike 99% of books published for this industry. It presented quick, cogent, and useful examples. Categorized them in a functional way, and even had a good layout for reference info.

    Less than a year later they re-released it, and I guess they made some sweeping changes to bring the 2nd. edition up to the untenably bad level the majority of PeachPit press books and many other technical books seek to aspire to.

    So, if any editors are out there, and being gracious enough to read this, then please take this moment to be reminded of what makes a geninuely useful how-to book:

    • It shouldn't be more than an inch thick. If you need more than an inch of book to cover your subject, throw out some fluff. I don't buy a working book if I can't carry it with me. Sam's publishing hasn't gotten a red-cent out of me because all their crap is full of pablum and asides that don't go anywhere. Need more than an inch...use a URL, Oreilly does.
    • Small examples which demonstrate exactly what needs to be illuminated. Three pages of source is unnecessary and only marches towards a quota.
    • Use a common, free, and easily written for language. Of course there's a buttload of zealots out there who unpack their pulpit and invoke their lists of language X rocks for game programming because... reasons, but they're not important. The end-user, the person who needs to be infected with all those good memes involving timing, and inputs, and outputs--they are the target. Chances are most gurus talk a great talk but somehow never find the time to actually write a game. Isn't it funny how that works?
    • Write to the industry, not the consumer. Don't be afraid to tell people how to really make a game. Don't leave out important stuff, things used by the trade. Game writing is almost like writing about a guild. Don't be afraid to publish things like the value of Pi. Don't be afraid to talk about sorting matricies, or at least put in links to best result algorithms, or lacking links, make them yourself. Telling someone what needs to be done, and omitting important things makes any book a hollow reference. Omission is the great editorial lie.
    I know this is a woefully incomplete list, but I think it's enough to establish criteria for what is commonly left out of books which are sold as being something they're not.

  • The problem is that there are so many parts to writing a game, that they could never be covered properly in one or two or even three books. Going down the "proper" programming route is the absolute best way to go about these things.

    Pick up a book on X Window development, a few OpenGL books, a sound book, and even a few "classic" computer graphics books. Using these "Learn Game Programming in 24 Hours" books will limit what you know and can do, you need to learn how to do a lot of stuff, then use your imagination!

  • The nice thing is, if you run WINE, no money goes to MS...

    ...except, of course, when you implicitly support the developers' decision to spend money on VC++ licenses, MSDN subscriptions, MS-Press books, Windows licenses, MS Tech Support,...

  • by HitScan ( 180399 ) on Thursday July 19, 2001 @05:51AM (#74965)
    I saw this in a local WaldenBooks store last weekend. I could tell just by the cover (and the thickness, no decent Games Programming book is less than 1.5" :D ) that all the book was was an attempt to sell some dead trees because it had Linux on the cover. (The posted contents of the CD appear to prove me right. MSDOS format? Hello?)

    There shouldn't be a book for Linux games anyway. There shouldn't be a book dedicated to games on ANY OS. They should talk about how things work, and get them to work in as portable a way as possible, so that people can get their games in as many hands as possible, and so that they can have a book that will be beneficial to them no matter their OS (be it Win, Lin, BSD, etc.)

    I suppose I'll never see another book I liked as much as Micheal Abrash's Graphics Black Book. (Not the exact title, but it's not exactly in front of me right now ;) )
  • With a twinkle in his eye and a skip in his step, RMS slammed his sky-blue Chevette's rusted-out car door and turned on heel toward the MIT Zoo entrance. Today was a Sunday, and RMS had decided the daily stresses of Free Software, the GPL, and his "crazy drug habits" could go away for just one afternoon while he enjoyed the zoo.

    "That'll be twenty-five dollars, sir," the lady at the admission booth said glumly. She looked at RMS expectantly.

    "I was expecting this zoo to be Free," RMS stated loudly, eyes darting around to gauge onlookers' reactions. There was none. RMS's capital F had went unnoticed. "Can you ensure me that this money will not help fund--"

    The admissions lady cut him off. "Twenty-five dollars, or twenty bucks with a Mr. Pibb can," the lady cut in.

    With a grumble and shake of his beard, RMS handed over twenty five of his hard-earned dollars. Considering that the GPL works to unemploy programmers, one must wonder where this money came from...

    By evening, RMS found himself in front of the penguin exhibit. He felt himself start to sweat, which would have been no surprise-- his thick, full, grizzly beard must be worth a thousand down comforters-- except that he was wearing only a pair of nylon biking shorts and a travel pack around his waist. He stared at his hands. What was wrong?

    "AWWWK!" a nearby bird offered. RMS wheeled in the direction the screech had come from. He was met with the steely, unfeeling stares of a penguin. "AWK! Ooooh God, the penguin said AWK... lord, lord lord, it's LINUX. THE PENGUIN IS TUX!" RMS blurted out. He felt dizzy, and cold sweat now washed over his brittle, hairy chest. He looked this way and that. From nearby a bird again squawked.


    RMS ran as fast as his atrophied hippy-programmer legs could carry him, right thru a gate and into an exhibit. He realized what he had done, and before he could turn around, he heard a low, ominous sound. Like the Devil's riding mower. "MOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" RMS gasped.


    He was standing in the Gnu section, and it seemed these bull yaks were in rut and ready to mate with the first hairy thing with a hole in its center they found. Bad luck for RMS and his beard. Just then he felt cloven hooves push him down...

    part two soon to follow...

  • The fatbrain link in the article isn't to Loki's book, but [] might be of interest.


  • In stores in a few weeks. Hopefully. :)

  • I am glad that the book is out, even if it does suck. Linux needs more native 3d games that support the latest hardware. Wine with a directX layer is a pretty good substitution but I would love to a see a version of Half-Life or the newly released Max Payne [] as a Linux binary. I would be willing to forego open source code of the games as long as it is stable and well supported. Of course Loki Games sells Linux distributions of popular games, but they are always so far behind the normal distribution that it makes it far less appealing.
  • What did the publishers expect. There is no way to discuss such a vast topic as game programming in a single volume. Perhaps if each chapter were it's own book...

    there's no way this could have been a good book, really.

    Sad though. it would be useful to have quality publications on this subject... I guess we'll have to wait a while longer...


  • by gnudutch ( 235983 ) on Thursday July 19, 2001 @05:50AM (#74971)
    I'm still waiting for the Allegro [] C/C++ games library to be included in a major distro. It's in version 3.9.37 now, with 4.0 just around the corner. It's a wonderfully solid and complete gaming library. Zero code changes needed to compile games on numerous platforms. Once I tried this library I never went back.
  • And let's not forget the tools -- Windows tools crush linux, period. Anybody who disagrees hasn't used Visual C++.

    You are trolling right? I gave up on VC 6 a long time ago in favor of EMACS, when I found that the features in EMACS provided me more of what I needed than the tools in VC6. Funny, my friend Luke has gone to NetBeans, and I know a couple of people who are trying to figure out if theyt can use EMACS as the default editor in VC...

    As a student of C, I found the GCC to be far more useful than Microsoft's compiler because it forces a creater distinction between C and C++. My greatest problem is that Microsoft's compiler lets you get away with many things that you should not be able to get away with (of course that explains some things, but we won't go there). I suspect that the basic problem has to do with the structure of some Windows APIs (particulalrly CDO and MAPI, forcing C++ style linking) but I am not sure.

    How many times have I had a program not compile because it was missing a bracket or perenthesis? When have I seen VC tell me my parentheses are mismatched? EMACS suits my needs better providing me exactly what I need for the job.

    OTOH, I know many people that are really happy with Visual Studio products, an dmore power to them, but that is a far cry from saying that the tools are far superior.

    Sig: Tell all your friends NOT to download the Advanced Ebook Processor:

  • i'm glad to get an outside opinion on the book, because up until now i was very anxious about getting the book. i did order a copy a month ago. what pisses me off is how'd all these copies get out for reviews when they're telling me another month before they'll ship? i'll probably still obtain my copy (if that ever happens) for the simple fact that there's no other books on Linux game programming. it's a step in the right direction. hopefully they'll get it right next time. Maybe it's o'riley's turn to join in, they've never let me down! hint hint...
  • As the reviewer noted, what the hell can they be thinking including the files in MSDOS format, when the reader will almost certainly be using a Linux machine?

    This book (at least from what the review says) exemplifies everything that is wrong with most programming books - they seem to be rushed to market with little or no concern for accuracy and usefullness. They simply put a title on a book which makes it seem like it would be helpful in order to sell copies, and then they provide very little, if any, useful content. It's sad how hard it is to find a decent, helpful book.
  • I'm the author of the PalmOS game programming book (same series). We are definitely writing these books with beginning programmers in mind. It turns out that they buy the most books... This is business, not "strip mining." These books serve an important purpose, namely educating novice to intermediate programmers about specific types of game programming. I can not provide comment on the other authors in the series, but I have made every effort to make my book timely, informative, and easy to read. Just because a book does not meet your level of programming needs does not make it evil, or worthless, or the publisher simply greedy. We are trying to sell a product and it is these types of summary works that makes the most sense. It is best to whet the appetite of a new programmer, than teach an old one stuff he/she already knows.
  • I've been doing Windows and Unix coding for 12+ years now. I've written everything from business applications to device drivers under Windows and Linux is very much easier to code for.

    That doesn't mean you know what you're doing. This is not a personal attack, for all I know you could be the best programmer since sliced bread, but even so you will have to demonstrate you know what you are talking about, rather then just saying:

  • I am surprised no-one so far has mentioned one of the first things I noticed aboutthis book before I decided not to buy it:there is a complete lack of any useful code examples. A book like this needs code samples!! Lots of them!! And well commented too!!
  • by squaretorus ( 459130 ) on Thursday July 19, 2001 @05:48AM (#74979) Homepage Journal
    I doubt I'm alone in being led down the coders path by the desire to write better games than I could buy at the time.
    I must have bought a dozen 'write games in..' books and found every one of them to be too light on detail, too thinly spread, and too badly written to be of use - so ended up buying a couple of 'proper' programming books and just working out the game bits later.
    Personally, I think for the many folk that gave up before going to the proper books, there SHOULD be books with 'write games' in the title that start at about 'hello world' move on through 'pong' and end up somewhere about 'quake'. They'd have to do it over a few volumes, but if they were well written (like the OLD animal books) and not £80 a pop I reckon they'd be onto a winner.
  • This opinion shows that we need more book on programming Linux, not only on Gaming Programming.
    The mainstream developer can be engaged on Linux if they see more help, books, mags, etc. on Programming Linux. That will give more confidence on the future of the platform Linux, sure.
  • "why bother writing a game for linux in the first place. Who would buy it?"

    That's simple: It's free. I don't want to make a buck, I want to have fun.

    Yeah, we have day jobs, but maybe we like to enjoy ourselves and develop a game for fun.

    "Granted I don't have much chance of making any money, but at least that market place supports the concept of buying software"

    Then why don't you develop for free, since you don't have much chance of making money? If it's free, more people will play your game because it's freely available.

    "And forget the GPL -- that will kill any hope of money"

    Then don't use the GPL. :P

    I hope this guy is actually a Linux guy who is just mocking the windows programmers... :)

  • "it's fragments of data (meat of a sandwich) that have no foundation to build on (bread). In addition, there is a noticable lack of detail on the things they do explain (lettuce and tomato)." Damnit, now I'm hungry for a sandwich *and* a better book. Did you *have* to use food as an analogy? :P
  • Wait, so the people making the big purchasing decisions are looking for the most games?

    Sure games push the hardware limits, and porn is the most popular type of internet content, that is the nature of those things.

    But what does 'nothing more important' mean? If you mean most computing time is spent playing games and watching porn, and the most money is spent to achieve these goals, our country is definitely not gonna be the dominant world economy much longer.

    What is your evidence that people buy hardware for the games?

  • Corncob 3D!! Wow! The game where you flew around in planes but you could get out and walk around. A bit like an early version of WWII online really. Commander Keen - YES, the same with Captain Comic (I bet you remember that one). Those games were much more fun than a lot of the games released now, because they were made for fun, not for a quick buck.
  • ...I guess I just didnt count it as Open Source due to the fact that you have to purchase it and can't freely distribute it. But like it was pointed out, its not free. Although you can release the game for free if you so choose.
  • by Pyrosz ( 469177 ) <amurray.stage11@ca> on Thursday July 19, 2001 @06:49AM (#74986) Homepage
    Support for game development on Linux is increasing. This book is a good first step.

    Although the following is not Open Source it might be very interesting to all those who want to develop games for Linux: []. They will be releasing the V12 engine (Tribes 2 engine) for $100 USD. Full Source AND it is multi platform (Linux, MAC, Windows).
  • Great Post! What is really missing is Open Source engines. On most OpSor communities (such as there are a lot of projects where people are trying to create full games. I think that this is the wrong way to go about it. These people should be pooling their resources. Those that are interested in writing a graphics engine should be doing that, those that like to get down and dirty with AI should do that, Input/Output. Basically they should be splitting projects up along engine lines and not along total game lines. I think that this is why games such as UT and HL are so popular for map makers. The engine exists and they can modify it to the hearts content.. - ShaneB
  • I am reading another book in the series, OpenGL Game Programming, and its a very good book. Granted it assumes some knowledge about OpenGL, it does help a lot. I was thumbing through this book the other day at BN and it did seem to lack substantiality. Although not a full fledged game programmer yet, I do plan on becoming one, and programming for both OS's is a must. So thanks for the heads up on this, and I won't look foward to seeing this book on my bookshelf. -Vic

Never call a man a fool. Borrow from him.