序
简介
第1部分 Windows编程基础
第1章 学海无涯
历史一瞥
设计游戏
游戏类型
集思广益
设计文档和情节中联图板
使游戏具有趣味性
游戏的构成
常规游戏编程指导规范
使用工具
从准备到完成——使用编译器
例子:FreakOut
总结
第2章 Windows编程模型
Windows的起源
多任务(Multitasking)和多线程(Multithreading)
按照微软风格编程:匈牙利符号的表示法
世界上最简单的Windows程序
现实中的Windows应用程序
Windows类
注册Windows类
创建窗口
事件句柄
主事件循环
产生一个实时事件循环
打开多个窗口
总结
第3章 高级Windows编程
使用资源
使用菜单
GDI(图形设备接口)简介
处理重要事件
自行发送消息
总结
第4章 Windows GDI. 控件和突发奇想
高级GDI绘图
点. 线. 平面多边形和圆
关于文本和字体
定时高于一切
使用控件
获取信息
T3D游戏控制台程序
总结
第2部分 DirectX和2D基础
第5章 DirectX基础知识和令人生畏的COM
DirectX基础
COM:是微软, 还是魔鬼的杰作?
应用DirectX COM对象
COM的前景
总结
第6章 初次邂逅DirectDraw
DirectDraw的接口
创建DirectDraw对象
与Windows协作
设置模式
色彩的奥秘
创建显示表面
总结
第7章 高级DirectDraw和位图图形
使用高彩模式
双缓冲
表面动态
页面切换
使用blitter
基础裁剪知识
使用位图
离屏表面
位图的旋转和缩放
离散采样理论
色彩效果
手动色彩变换及查询表
DirectX新的色彩和Gamma控制接口
将GDI和DirectX联用
DirectDraw的庐山真面目
在窗口模式下使用DirectDraw
总结
第8章 矢量光栅化及2D变换
绘制线条
基础2D图形裁剪知识
线框多边形
2D平面里的变换(Transformation)
阵引论
平移
缩放
旋转
填充实心多边形
多边形碰撞检测
深入定时和同步
卷轴和摇镜头
伪3D等轴测引擎
T3DLIB1函数库
BOB引擎
总结
第9章 DirectInput输入和力反馈
输入循环
DirectInput序曲
力反馈
编写一个广泛适用的输入系统:T3DLIB2.CPP
总结
第10章 用DirectSound和DirectMusic演奏乐曲
在PC上对声音编程
从此有了声音
数码声音与MIDI有比较——音质好且存储省
发声硬件
数码录音:设备和技术
DirectSound中的麦克风
初始化DirectSound
主声音缓冲与辅助声音缓冲
播放声音
用DirectSound反馈信息
从磁盘中读取声音数据
DirectMusic:伟大的试验
DirectMusic的体系结构
初始化DirectMusic
加载一个MIDI段
操作MIDI段
T3DLIB3声音和乐曲库
总结
第3部分 核心游戏编程
第11章 算法. 数据结构. 内存管理和多线程
数据结构
算法分析
递归
树结构
优化理论
制作演示
保存游戏的手段
实现多人游戏
多线程编程技术
总结
第12章 人工智能
人工智能初步
确定性AI算法
模式以及基本控制脚本的编写
建模行为状态系统
用软件对记忆和学习进行建模
计划树和决策树
寻路
高级AI脚本
人工神经网络
遗传算法
模糊逻辑
为游戏创造真正的AI
总结
第13章 基本物理建模
基本物理学定律
线性动量的物理性质:守恒与传递
模拟万有引力效果
讨厌的摩擦力
基本的特殊碰撞反应
实际2D物体间的精确碰撞响应(高级)
解决n-t坐标系统
简单运动学
粒子系统
创建游戏的物理模型
总结
第14章 文字时代
什么是文字游戏
文字游戏如何工作
从外部世界获得输入
语言分析和解析
组成游戏世界
实现听觉、嗅觉和视觉
实时响应
错误处理
造访Shadow Land
Shadow Land中使用的语言
编译和运行Shadow Land
总结
第15章 综合运用
Outpost的设计初稿
用于编写游戏的工具
游戏场景:在太空中卷动
玩家控制的飞船:“鬼怪号”
小行星带
敌人
“宝物”
HUD
粒子系统
玩游戏
编译Outpost
运行时用到的文件
结束语
第4部分 附录
附录A 光盘内容简介
附录B 安装DirectX和使用C/C++编译器
使用C/C++编译器
附录C 数学和三角学回顾
三角学
矢量(Vector)
附录D C++入门
C++是什么
最低限度应当了解的C++内容
新的类型. 关键字和约定
流式输入输出
类
域操作符
函数和操作符重载
总结
附录E 游戏编程资源
游戏编程站点
下载点
二维/三维引擎
游戏编程书籍
微软公司的DirectX多媒体展示
站在业界浪尖
游戏开发杂志
Xtreme Games LLC
附录F ASCII码表