Programming Linux Games
暫譯: Linux 遊戲程式設計

Loki Software, John R. Hall, Loki Software Inc

  • 出版商: No Starch Press
  • 售價: $1,590
  • 貴賓價: 9.5$1,511
  • 語言: 英文
  • 頁數: 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

商品描述(中文翻譯)

- 完整的 Linux 遊戲開發指南,由 Linux 遊戲專家撰寫。

討論重要的多媒體工具包(包括對 Simple DirectMedia Layer 的詳細討論),並教授 Linux 遊戲編程的基礎知識。讀者將了解 Linux 遊戲世界的現狀,以及如何撰寫和分發 Linux 遊戲給 Linux 遊戲社群。

**內容:**

前言
序言
本書適合誰閱讀
致謝

**1 遊戲的解剖**
   遊戲類型的快速調查
       模擬遊戲
       第一人稱射擊遊戲
       即時戰略遊戲
       回合制策略遊戲
       角色扮演遊戲
       解謎遊戲
       多人地下城
   引擎內部的快速瞥見
       輸入子系統
       顯示子系統
       音頻子系統
       網絡子系統
       更新子系統
       遊戲循環

**2 Linux 開發工具**
   編程編輯器
       vi
       Emacs
       NEdit
   在 Linux 下編譯程序
   使用 Make 工具
       創建 Makefile
       錯誤處理
   與庫的工作
       靜態庫
       共享庫
   Linux 連結器的特性
   調試 Linux 應用程序
       用於調試的編譯
       gdb
       ddd
       錯誤追蹤
   使用 CVS 進行項目管理
       CVS 簡要教程
   其他有用的工具
       使用 grep 進行快速文本搜索
       使用 di_ 和 patch 更新源代碼

**3 Linux 遊戲 API**
   圖形 API
       SVGALib
       GGI
       SDL
       ClanLib
       OpenGL
       Plib
       Glide
       Xlib
   圖形用戶界面工具包
       GTK+
       Tk
       Fltk
       Qt
       SDL GUI 支持
   音頻 API
       OSS
       ALSA
       ESD
       OpenAL
   腳本庫
       Tcl
       Guile 和 MzScheme
       Python 和 Perl
   網絡 API
       BSD Sockets
       OpenPlay
       IPX 和 SPX
   文件處理
       libpng 和 libjpeg
       libaudiofile 和 libsndfile
       Ogg Vorbis
       SDL MPEG 庫,SMPEG
       zlib

**4 精通 SDL**
   計算機圖形硬體
   幀緩衝區
   SDL 視頻 API
       設置顯示
       直接表面繪製
       使用 Blits 繪製
       顏色鍵和透明度
       加載其他圖像格式
       Alpha 混合
       使用 SDL 實現平滑動畫
   輸入和事件處理
       處理鼠標事件
       處理鍵盤事件
       處理搖桿事件
   使用 SDL 的多線程
   SDL 音頻編程
       使用 PCM 表示聲音
       向聲卡輸入
       SDL 音頻播放示例
   將 OpenGL 與 SDL 整合
   企鵝戰士
       創建圖形
       在 SDL 中實現視差滾動
       簡單的粒子系統
       遊戲計時

**5 Linux 音頻編程**
   競爭 API
   介紹 Multi-Play
   加載音效文件
       使用 libsndfile
       其他選擇
   使用 OSS
       現實檢查
       通過直接 DMA 緩衝區訪問實現更高性能
   使用 ALSA 播放聲音
   與 ESD 共享聲卡
   構建 Multi-Play
   使用 OpenAL 實現環境音頻
       OpenAL 基礎
       為企鵝戰士添加環境音頻
   使用 Ogg Vorbis 實現遊戲音樂
       處理 Vorbis 文件
       為企鵝戰士添加音樂

**6 Linux 下的遊戲腳本編寫**
   Tcl 的速成課程
       內建 Tcl 命令
   將 Tcl 與 C 介接
       與 Tcl 連結
       執行腳本
       理解命令和對象
   一個簡單的腳本引擎
   設計遊戲腳本
   將腳本應用於現實世界
       單一上下文與多重上下文
       我們能信任這個腳本嗎?
       腳本性能
       誰在編寫腳本?

**7 使用 Linux 的網絡遊戲**
   「這是一個大網」,烏鴉說
       網際網路協議
       地址和端口
       名稱解析
   Socket 編程 101
       套接字
       連接 TCP 套接字
       接收 TCP 連接
   使用 UDP 套接字
   多人企鵝戰士
       網絡遊戲模型
       企鵝戰士的網絡系統
   網絡遊戲性能
   安全問題

**8 使用 Linux 控制台遊戲**
   Linux 幀緩衝區的優缺點
   設置幀緩衝區設備
   首次進入幀緩衝區編程
   設置幀緩衝區視頻模式
       視頻掃描的工作原理
       模式數據庫
       一個示例
       使用源代碼,盧克!
   控制台輸入處理
       從終端獲取鍵盤輸入
       使用 GPM 獲取鼠標輸入

**9 完成企鵝戰士**
   添加武器
       繪製相位槍
       偵測相位槍擊中
       設定合理的射擊速率
   創建狀態顯示
   回顧

**10 每個人都有一個 Linux 發行版**
   源碼還是二進制?
   本地配置
   Linux 不是孤單的:支持 FreeBSD
   打包系統
   圖形安裝的美好:Loki 的安裝程序
   理解 Linux 文件系統標準

術語表

參考文獻