Programming Linux Games

Building Multimedia Applications with SDL, OpenAL, and Other APIs

John R. Hall

Publisher: Linux Journal, 2001, 415 pages

ISBN: 1-886411-49-2

Keywords: Game Programming

Last modified: April 6, 2021, 7:57 a.m.

Programming Linux Games is the complete and authorative guide to developing games for Linux, from the gaming masters of Loki Software. You'll find detailed coverage of Linux graphics and audio interfaces and a bsic course in game development. Learn how to:

  • Build a powerful scrolling game engine (complete with environmental audio and an embedded scripting system) using the Simple DirectMedia Layer (SDL) library
  • Play sound effects and music with OSS, ALSA, ESD, and OpenAL.
  • Manage compressed audio streams with Ogg Vorbis
  • Build a multiplayer game with TCP/IP sockets
  • Write games for the Linux framebuffer console
  • Construct professional-quality installation scripts for your games
  • Distribute your game to the Linux community
  1. The Anatomy of a Game
    • A Quick Survey of Game Genres
      • Simulation Games
      • First-Person Shooters
      • Real-time Strategy Games
      • Turn-based Strategy Games
      • Role-playing Games
      • Puzzle Games
      • Multi User Dungeons
    • A Quick Look Under the Hood
      • The Input Subsystem
      • The Display Subsystem
      • The Audio Subsystem
      • The Network Subsystem
      • The Update Subsystem
      • The Game Loop
  2. Linux Development Tools
    • Programming Editors
      • vi
      • Emacs
      • NEdit
    • Compiling Programs Under Linux
    • Using The Make Utility
      • Creating Makefiles
      • Error Handling
    • Working with Libraries
      • Static Libraries
      • Shared Libraries
    • Linux Linker Quirks
    • Debugging Linux Applications
      • Compiling for Debugging
      • gdb
      • ddd
      • Bug Tracking
    • Project Management with CVS
      • A Brief Tutorial on CVS
    • Other Useful Tools
      • Rapid Text Searching with grep
      • Updating Source with diff and patch
  3. Linux Gaming APIs
    • Graphics APIs
      • SVGALib
      • GGI
      • SDL
      • ClanLib
      • OpenGL
      • Plib
      • Glide
      • Xlib
    • Graphical User Interface Toolkits
      • GTK+
      • Tk
      • Fltk
      • Qt
      • SDL GUI support
    • Audio APIs
      • OSS
      • ALSA
      • ESD
      • OpenAL
    • Scripting Libraries
      • Tcl
      • Guile and MzScheme
      • Python and Perl
    • Networking APIs
      • BSD Sockets
      • OpenPlay
      • IPX and SPX
    • File Handling
      • libpng and libjpeg
      • libaudiofile and libsndfile
      • Ogg Vorbis
      • The SDL MPEG Library, SMPEG
      • zlib
  4. Mastering SDL
    • Computer Graphics Hardware
    • The Framebuffer
    • The SDL Video API
      • Setting up the Display
      • Direct Surface Drawing
      • Drawing With Blits
      • Colorkeys And Transparency
      • Loading Other Image Formats
      • Alpha Blending
      • Achieving Smooth Animation with SDL
    • Input and Event Processing
      • Processing Mouse Events
      • Processing Keyboard Events
      • Processing Joystick Events
    • Multithreading with SDL
    • SDL Audio Programming
      • Representing Sound with PCM
      • Feeding a Sound Card
      • An Example of SDL Audio Playback
    • Integrating OpenGL with SDL
    • Penguin Warrior
      • Creating Graphics
      • Implementing a Parallaxing Scroller in SDL
      • A Simple Particle System
      • Game Timing
  5. Linux Audio Programming
    • Competing APIs
    • Introducing Multi-Play
    • Loading Sound Files
      • Using libsndfile
      • Other Options
    • Using OSS
      • Reality Check
      • Achieving Higher Performance with Direct DMA Buffer Access
    • Playing Sound with ALSA
    • Sharing the Sound Card with ESD
    • Building Multi-Play
    • Environmental Audio with OpenAL
      • OpenAL Basics
      • Adding Environmental Audio to Penguin Warrior
    • Implementing Game Music with Ogg Vorbis
      • Working with Vorbis Files
      • Adding Music to Penguin Warrior
  6. Game Scripting Under Linux
    • A Crash Course in Tcl
      • Built-in Tcl Commands
    • Interfacing Tcl with C
      • Linking Against Tcl
      • Executing Scripts
      • Understanding Commands and Objects
    • A Simple Scripting Engine
    • Designing a Game Script
    • Applying Scripting to the Real World
      • Single Versus Multiple Contexts
      • Can We Trust the Script?
      • Script Performance
      • Who's Writing the Script?
  7. Networked Gaming with Linux
    • 'Tis a Big Net, Quoth the Raven
      • Internet Protocols
      • Addresses and Ports
      • Name Resolution
    • Socket Programming 101
      • Sockets
      • Connecting TCP Sockets
      • Receiving TCP Connections
    • Working with UDP Sockets
    • Multiplayer Penguin Warrior
      • Network Gaming Models
      • Penguin Warrior's Networking System
    • Network Game Performance
    • Security Issues
  8. Gaming with the Linux Console
    • Pros and Cons of the Linux Framebuffer
    • Setting Up a Framebuffer Device
    • A First Foray into Framebuffer Programming
    • Setting Framebuffer Video Modes
      • How Video Scanning Works
      • The Mode Database
      • An Example
      • Use the Source, Luke!
    • Console Input Handling
      • Keyboard Input from a Terminal
      • Mouse Input with GPM
  9. Finishing Penguin Warrior
    • Adding Weapons
      • Drawing Phasers
      • Detecting Phaser Hits
      • Imposing a Sane Rate of Fire
    • Creating Status Displays
    • In Retrospect
  10. To Every Man a Linux Distribution
    • Source or Binary?
    • Local Configuration
    • Linux Isn't Alone: Supporting FreeBSD
    • Packaging Systems
    • Graphical Installation Goodness: Loki's Setup Program

Reviews

Programming Linux Games

Reviewed by Roland Buresund

OK ***** (5 out of 10)

Last modified: Jan. 21, 2014, 8:03 p.m.

I didn't buy this book, I was given it. Lack of interest makes me unable to tell you if it is good or bad so let's pretend it is OK. On the other hand, I can't seem to find any other book on SDL or OpenAL.

Also, Loki has gone into bankruptcy.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required