Programming Linux Games

Loki Software, John R. Hall, Loki Software Inc

  • 出版商: No Starch Press
  • 售價: $1,520
  • 貴賓價: 9.5$1,444
  • 語言: 英文
  • 頁數: 415
  • 裝訂: Paperback
  • ISBN: 1886411492
  • ISBN-13: 9781886411494
  • 相關分類: Linux
  • 已過版

買這商品的人也買了...

商品描述

  • Complete guide to developing Linux games, written by the Linux gaming experts.

Discusses important multimedia toolkits (including a very thorough discussion of the Simple DirectMedia Layer) and teaches the basics of Linux game programming. Readers learn about the state of the Linux gaming world, and how to write and distribute Linux games to the Linux gaming community.

Contents:


Foreword
Preface
Who This Book Is For
Acknowledgements

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 di_ 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
   Understanding The Linux Filesystem Standard

Glossary of Terms

Bibliography