BOOK Programming Linux Games

Programming Linux Games , by John R Hall, gives a general treatment of the Linux game programming environment.


Programming Linux Games
John Reeves Hall
Loki Software, Inc.
Publisher (old)
No Starch Press
Publication Date
tex sources
full book as a pdf document


Programming Linux Games walks through the development of a game called "Penguin Warrior". If features a few chapters on the Linux environment and tools for game programmers, a large chapter on SDL, a chapter on audio programming, a chapter on using Tcl as a script engine, a chapter on network programming, a chapter on the Linux console, including topics such as the framebuffer, scancodes and keycodes, GPM.

The author concludes,

In hindsight, Tcl was not an especially good choice for the scripting engine. It works in this case, but it's not a very good solution for number crunching or managing large amounts of data. If I were to rewrite Chapter 6, I would probably choose a Lisp variant such as Scheme.

setok: Which is possibly kind of strange: if I were to bring non-coders into a project I don't think I'd stick a Lisp interpreter in front of them.

wdb: Matter of taste -- my first programming enthusiasm dates back to the late 70s -- by an article by Douglas Hofstadter describing the happy dwarf working inside a lisp interpreter. And I hadn't any PC at all!

LV; I'm rather surprised to hear that scheme is better for managing large amounts of data and number crunching. What does Scheme do to manage this? Is there something that can be done to Tcl to give it a better handle? Perhaps something like la or BLT's vectors?

Lars H: I suspect the conclusions in the book are to a great part about Tcl 7; certainly there are plenty of Tcl7isms in the descriptions of the Tcl language (no braces around expressions, lists are claimed to be "just strings", etc.).

wdb I suspect that some modern Scheme interpreters have internal code optimizing (JIT compiling).