Loki Software with John R. Hall,
Programming Linux Games,
No Starch Press
This book is really fun. Whether it's because we're getting our compiling, dealing with libraries, API lessons et alia in the candy coating of having to do with games, or because it's just well done I'm not sure. It is well done though.
Because games cover most aspects of development that anyone might normally come across, this book is a good would-be developers starting point - not just for Linux but, with the ideas of what is necessary, for any platform.
The book starts off with a description of game genres, and then covers topics such as the necessary subsystems, Linux dev tools, gaming APIs, audio programming, game scripting, network gaming, and gaming on the Linux console. As we go along we participate in the building of a small game called Penguin Warrior (!). There isn't a code CD with the book but the code is on the web ... and mostly not in the book.
In the audio programming line, there's an overview that some people are sure to disagree with in that OSS is used in the example instead of ALSA. The criticism of ALSA is mostly its changing API. Unstated, but sensible, would be a desire to program for the biggest number of boxes and the OSS Free drivers do still have the numbers by a wide margin. Most people believe however that ALSA is the future and, as stated in the book, the API is nicer... and I've just seen that ALSA is actually in the 2.5 series kernels and OSS is now officially deprecated.
One of the really interesting things about the book is that you get an overview of the components of a game and how they go together. These days, on higher level machines, there isn't much call for assembler. In fact it's common to use high level scripting languages for game control... to glue the bits together. This is discussed too (no, not TCL!). Graphics routines were usually the first calls for assembler but here we look at engine API's rather than the low-level calls necessary to get the thing done. I don't think that's a fault of the book. If you're interested in going further on one aspect or another, you can do the extra reading. If all the topics were expanded fully, it would be a multi-volume undertaking.
The book doesn't take any religious line when dealing with the Open Source question. It does look at the licensing situation. For those confused about licensing and Open Source this is as good an introduction as any.
You can read this book as a developer or a would-be developer or just out of interest if you have some technical knowledge already. It would be a little hard going for someone who had no knowledge at all.
<jlittler at mstation.org>
Bookmark:post to Delicious Digg Reddit Facebook StumbleUpon
Recent on Mstation: music: Vivian Girls, America's Cup, music: Too Young to Fall..., music: Pains of Being Pure At Heart, Berlin Lakes, music: Atarah Valentine, Travel - Copenhagen, House in the Desert