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
已過版
買這商品的人也買了...
-
$2,930$2,784 -
$880$695 -
$590$466 -
$1,024Linux Game Programming
-
$750$593 -
$780$616 -
$390$332 -
$680$537 -
$620$490 -
$990$782 -
$780$616 -
$890$703 -
$650$514 -
$650$507 -
$440$348 -
$880$695 -
$580$458 -
$580$458 -
$650$507 -
$980$774 -
$750$593 -
$550$468 -
$399Cross Platform Game Development: Make PC Games for Windows, Linux and Mac (Paperback)
-
$490$417 -
$750$638
相關主題
商品描述
- 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 文件系統標準
術語表
參考文獻