Loki Publishes "Programming Linux Games"
An anonymous reader sent in this tidbit - Loki Software has recently released Programming Linux Games, a book about Linux game development. It covers SDL, several audio APIs, and the Linux framebuffer console. The publisher has more info. (If someone wants to review this, email Hemos.)
there already is.
---
The paranoid amongst us might wonder if the book is deliberately obfuscated to keep out the competition. More reasonably, though, it's in Loki's best interest to expand the number of Linux games available and thus make it more attractive to the potential consumer, as well as system builders.
Ooh, a sarcasm detector. Oh, that's a real useful invention.
One of the best ways to pick up game usage tips is to look at source code. One guy who's coded loads of SDL games (in C) can be found here. In particular - check out Circus Linux - it's a lot of fun :).
-- Help Digitise the Public Domain at DP.
The biggest problems with getting games onto linux are:
a) Developers are mostly much more familiar with Windows, leading them to adopt Windows-specific techniques, making porting difficult and/or expensive.
and
b) There is no 'Standard' under Linux for audio/video/input handling.
Loki is attempting to solve both those problems by
a) releasing documentation e.g. this book that enables programmers to become familiar with game-development techniques on Linux
and
b) releasing a cross-platform library (SDL) that handles these functions, and is looking like the most promising 'Standard' gaming API for Linux.
I don't see how this is a 'free ride' for anyone, since ideas represented in code, regardless of who they are written by can be easily protected using various licenses, most notably the GPL, which prevents companies from 'stealing' anything.
And how the hell you arrive at the conclusion that writing documentation is somehow 'the wrong thing to do' is completely beyond me.
The reason many gaming companies don't support Linux is the same reason they don't support BSD. In terms of the gaming market, nobody buys Linux games.
Is that any reason not to write games for Linux?
Linux never would have made any ground in any sector of computing if this attitude prevailed - 'No companies are doing it, so theres no point trying.'
If a Linux port of a Windows game can be produced for close-to-zero cost, or if Linux can be used as a development environment (can you say 'Playstation 2'?), then delivering games for Linux becomes easier and more attractive, and having good games available leads gamers to consider Linux as their primary OS.
Linux has only just become a platform capable of supporting modern games, and outshines every other *NIX variant in this respect.
It is only natural that books like this should be produced, and i can't think of a better group of people to produce them than Loki.
I gots ta ding a ding dang my dang a long ling long
They don't require 16 bit depth. I run at 24 bit and have no problem with CivCTP, Tribes 2, SOF, UT, Quake 3, Smac's Demo, or HG2. Now if I'm not mistaken DRI only works in 16 bit color, so if you use DRI and not Nvidia's drivers you have to run in 16 bit to get 3d accleration. That's definitly not something Loki did.
Your right, it is card specific. G450s, Rage 128, and Radeons can now function in 32 bit mode.
Fingers? You had fingers?
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Right now it's a catch 22. Companies aren't going to put their money into Linux gaming until they see that there is a market worth investing in. They won't see that there is a market until there is a good portion of Linux games and the companies making them are making a nice profit.
Evenutally things will catch on as Loki starts turning a profit and other gaming companies see that. It was also a good idea to port other copmany's games to Linux instead of making them for scratch because that's a way to actually show companies that their games can make a profit on Linux.
Also, to get more on topic, this book is another step in the right direction because it will give companies a resource that their programmers can use to make the games. But more generaly it will help to encourage game development on Linux in general which is also a Good Thing (TM).
--
Garett Spencley
The main reason companies are afraid to release Linux ports is because they are scared of the support nightmare. It's a bitch to set up your system for gaming.
This has to change if you want the Linux gaming market to succeed. Of course you also have to buy Linux versions of games to prove to publishers that there actually is a market that is worth the trouble supporting.
- Daniel Vogel, Programmer, Epic Games Inc.
I think you're over-analyzing it a bit. :)
:), and taught myself framebuffer console programming, as well as a bit about video signals, etc.
I don't know what Loki's motives for commissioning this were, but I can tell you mine: I wanted to learn this stuff myself. One of the best ways to learn something is to write it out for someone else. In the process of writing PLG, I became a serious SDL user, learned the quirks of OSS, reverse engineered ESD (that's what you have to do when there's no @#$%ing documentation
So I think it's reasonable to say I know a bit about the mechanics of Linux game programming now. Now maybe someone else can benefit. Maybe it'll sell a million copies, make DirectX obsolete, and get a penguin logo painted on every street corner. But probably not. That's not why I wrote it.
Or maybe some Linux-using 12 year old will pick it up and get into game programming. It would make my day to know that.
-John
Here's the SDL doc project.
Here's an article comparing X-based programming to SDL-based programming.
You can use OpenGL techniques in SDL, so here's some OpenGL stuff for you...
This NeHe page comes complete with a version of the infamous Gears ported to SDL.
Finally, if you really want to start getting the best out of it, you'd better get on hardware acceleration. Either switch to one of the latest commercial distributions (RH 7.1 and Mandrake 8.0 do 3d out of the box), or use the source, luke.
--------
Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...
You kids have it too easy these days...
Back in my day we didn't have these fansy "books" that taught us how to program linux games. We were real men, who coded real code from scratch, for computers which were not real because they hadn't been invented yet by Al Gore. And we liked it! Bah!