2008-04-07
推荐一本好书-《游戏之旅——我的编程感悟》
第1章计算机,游戏,我
1.1计算机
1.2计算机游戏
1.3计算机与我
1.3.1启蒙
1.3.2编程
第2章算法,程序的灵魂
2.1程序=算法+数据结构
2.1.1算法
2.1.2数据结构
2.2搜索算法
2.2.1地图寻路问题
2.2.2博弈问题
2.2.3更为广泛的运用
2.3智能算法
2.3.1遗传算法(GeneticcAlgorithm)
2.3.2模拟退火算法(SimulatedcAnnealing)
2.3.3禁忌搜索(TabucSearch)
2.3.4人工神经网络(ArtificialcNeuralcNetwork)
2.4优化
2.4.1质数问题
1.4.2俄罗斯方块竞赛
2.5ApplecII上的编程之路
第3章编程语言
3.1C语言
3.2BASIC
3.3C++
3.4汇编语言
3.4.1概述
3.4.2程序的本质
3.4.3寄存器
3.4.4寻址方式
3.4.5汇编指令
3.4.6C/C++c语言和汇编
3.4.7小结
3.5其他语言
3.5.1Forth
3.5.2Lisp
3.5.3Java
3.5.4Python.cLua.c更多
第4章前Windows时代
4.1386保护模式
4.2VGAc到VESA
4.2.1超越cBGI
4.2.2VGAc
4.2.3VESAc标准
4.2.4花絮
4.3保护模式下的开发工具
4.4闲话cAlle
4.4.1用C与汇编写成的程序库
4.4.2BITMAP
4.4.3Spritec
4.4.4几何图形和c3Dc
4.4.5数据文件
4.4.6声音
4.4.7其他的部分
4.4.8小结
4.5cfidoc中国惠多网
第5章Windows编程
5.1Windows编程入门
5.1.1Windows版本综述
5.1.2操作系统的核心
5.1.3WindowscAPI和DLL
5.1.4COMc11
5.1.5Windows的窗口和消息处理与传递
5.1.6WindowscGDI
5.2控制游戏的速度
5.3浅谈MFC
5.4小结
第6章汇编优化
6.1浅谈代码优化
6.2并不仅仅是汇编
6.2.1在算法实现时减少上下文的依赖关系
6.2.2低效的静态变量
6.2.3数据的组织
6.2.4消除除法
6.2.5避免过大的循环
6.3汇编和C/C++的混合编程
6.3.1使用外置的汇编编译器
6.3.2使用内嵌汇编
6.3.3C++的函数调用规则
6.3.4寄存器的使用
6.3.5_declspec(naked)
6.4指令使用的技巧
6.4.1LEA:别样的内存寻址指令
6.4.2BSWAP:扩展寄存器的个数
6.4.3缩短指令的字节数
6.4.4避免跳转指令
6.5Pentiumc的汇编优化策略
6.5.1UV流水线
6.5.2AGI地址生成互锁(AddresscGenerationcInterlock)
6.5.3PentiumcPro,92PentiumcII和PentiumcIII的汇编优化策略
6.5.4Pentiumc4的汇编优化策略
6.5.5如何测试代码的速度
6.5.6汇编能干的事情
第7章SIMD指令
7.1单指令多数据编程
7.1.1Alphac混合
7.2MMX
7.2.1MMX的指令概况
7.2.2SSE及其对MMX的扩展
7.2.3SIMD技术在C语言环境下的使用
7.2.4MMX编码技巧
7.2.5SIMDc的应用举例
7.2.6SIMD编程注意要点
7.2.7SIMD的性能检测
第8章引擎中的优化
8.1Blit的优化
8.2脏矩形优化
8.2.1“风魂”中改进的脏矩形算法
8.2.2滚动优化
8.2.3覆盖优化
8.2.4脏矩形在3D游戏界面中的运用
8.2.5时间和空间的权衡
8.2.6关于估算
8.3自己设计精灵格式
8.4动态数据加载
8.5小结
第9章C和C++
9.1从C到C++
9.2CvsC++,121效率至上
9.2.1全局变量
9.2.2函数调用的堆栈处理
9.2.3函数调用的参数传递
9.2.4临时变量的堆栈使用
9.2.5代码生成
9.2.6异常
9.2.7inline
9.2.8多态性
9.2.9标准库的差异
9.2.10动态内存分配
9.3优雅的C++
9.3.1消失了的宏
9.3.2const修饰及类型转换
9.3.3隐藏实现
9.3.4引用而非指针
9.3.5名字空间
9.4C++的误区
9.4.1类层次过细
9.4.2滥用操作符重载
9.4.3滥用标准容器
9.4.4滥用动态类型识别和异常
9.4.5滥用多重继承
9.4.6忽视C++高级特性的复杂度
9.4.7学习C++
9.5动态内存分配的优化
9.5.1另一种优化策略:多次分配,147一次释放
9.5.2垃圾回收
9.5.3再论动态内存分配
9.6template
9.6.1封装C++的成员函数调用
9.6.2常数数量的对象复制
9.6.3对象计数59559.6.4cc避免重复代码
9.6.5选择最佳的容器59579.6.6cc延迟运算
9.6.7编译时计算的游戏59599.7cc小结
第10章调试
10.1assert及程序错误的提前发现
10.1.1崩溃的程序不说谎
10.1.2为软件维护多个版本
10.1.3前置条件和后置条件
10.1.4自己实现一个
10.1.5不正确的assert使用
10.1.6为assert分级
10.1.7assert的引申:检查函数返回值
10.1.8释放的指针需要置空吗
10.2让程序更利于调试
10.2.1录像
10.2.2实现一个log类
10.2.3跟踪代码运行的流程
10.2.4为内存分配加上一个壳
10.3RELEASE版本的调试
10.4小结
第11章脚本
11.1为什么需要脚本
11.2应该用脚本做些什么
11.3脚本不应该做什么
11.4如何嵌入脚本语言
11.5选择一种脚本语言
11.6实战嵌入式脚本
11.6.1嵌入Lua
11.6.2使用coroutine驱动游戏逻辑
11.6.3封装C++中的对象
11.6.4回调机制
11.7反外挂技术
11.7.1防止加速器
11.7.2防止分析伪造网络包
11.7.3防止逆向工程
11.7.4防止代码钩子
11.7.5惩戒外挂作弊者
11.7.6安全地将信息传递给服务器
11.7.7防止模拟输入
第12章版本控制
12.1常用版本控制软件
12.2版本控制工具在项目中的使用
12.3不仅仅是程序才需要
第13章开发方法
13.1失败的经验
13.2成功的经验
13.3对游戏开发方法的一些思考
第14章编程和游戏
14.1操作
14.2角色设定
14.3再谈技术
14.4浅谈网络游戏
14.5小结
后记
致谢
-------------------
本书忠实地记录了作者十余年来对游戏编程的所思、所感、所悟。全书按照作者本人学习和实践的过程,带着读者从基础的计算机知识到高级的编程技术,从非常专业的汇编优化到非常实际的项目管理进行了一次游戏开发的全景探索。
本书不仅适合游戏开发者阅读,也会给所有的开发者和程序爱好者带来启示。
【作者简介】
云风,时年二十七岁。自幼学习编程,十数年从未间断,对程序设计有所领悟。大学时代开发的游戏图像引擎“风魂”曾用于多家游戏公司的游戏项目。参与过《大话西游》系列、《梦幻西游》、《网易泡泡游戏》的开发。现从事新一代网络游戏引擎的研究与开发,并在游戏模式上做一些新的尝试。性格开朗,兴趣广泛,好交友,绝非沉浸在计算机世界中的书呆子。国学、历史书籍常备案头,以先贤之教诲修其心;休息时常作户外运动,尤其喜爱攀岩。
【其他规格】
作者 :云风
ISBN:7121016095
页数:389
开本:小16开
封面形式:简裝本
出版社:电子工业出版社
出版日期:2005年12月1日
1.1计算机
1.2计算机游戏
1.3计算机与我
1.3.1启蒙
1.3.2编程
第2章算法,程序的灵魂
2.1程序=算法+数据结构
2.1.1算法
2.1.2数据结构
2.2搜索算法
2.2.1地图寻路问题
2.2.2博弈问题
2.2.3更为广泛的运用
2.3智能算法
2.3.1遗传算法(GeneticcAlgorithm)
2.3.2模拟退火算法(SimulatedcAnnealing)
2.3.3禁忌搜索(TabucSearch)
2.3.4人工神经网络(ArtificialcNeuralcNetwork)
2.4优化
2.4.1质数问题
1.4.2俄罗斯方块竞赛
2.5ApplecII上的编程之路
第3章编程语言
3.1C语言
3.2BASIC
3.3C++
3.4汇编语言
3.4.1概述
3.4.2程序的本质
3.4.3寄存器
3.4.4寻址方式
3.4.5汇编指令
3.4.6C/C++c语言和汇编
3.4.7小结
3.5其他语言
3.5.1Forth
3.5.2Lisp
3.5.3Java
3.5.4Python.cLua.c更多
第4章前Windows时代
4.1386保护模式
4.2VGAc到VESA
4.2.1超越cBGI
4.2.2VGAc
4.2.3VESAc标准
4.2.4花絮
4.3保护模式下的开发工具
4.4闲话cAlle
4.4.1用C与汇编写成的程序库
4.4.2BITMAP
4.4.3Spritec
4.4.4几何图形和c3Dc
4.4.5数据文件
4.4.6声音
4.4.7其他的部分
4.4.8小结
4.5cfidoc中国惠多网
第5章Windows编程
5.1Windows编程入门
5.1.1Windows版本综述
5.1.2操作系统的核心
5.1.3WindowscAPI和DLL
5.1.4COMc11
5.1.5Windows的窗口和消息处理与传递
5.1.6WindowscGDI
5.2控制游戏的速度
5.3浅谈MFC
5.4小结
第6章汇编优化
6.1浅谈代码优化
6.2并不仅仅是汇编
6.2.1在算法实现时减少上下文的依赖关系
6.2.2低效的静态变量
6.2.3数据的组织
6.2.4消除除法
6.2.5避免过大的循环
6.3汇编和C/C++的混合编程
6.3.1使用外置的汇编编译器
6.3.2使用内嵌汇编
6.3.3C++的函数调用规则
6.3.4寄存器的使用
6.3.5_declspec(naked)
6.4指令使用的技巧
6.4.1LEA:别样的内存寻址指令
6.4.2BSWAP:扩展寄存器的个数
6.4.3缩短指令的字节数
6.4.4避免跳转指令
6.5Pentiumc的汇编优化策略
6.5.1UV流水线
6.5.2AGI地址生成互锁(AddresscGenerationcInterlock)
6.5.3PentiumcPro,92PentiumcII和PentiumcIII的汇编优化策略
6.5.4Pentiumc4的汇编优化策略
6.5.5如何测试代码的速度
6.5.6汇编能干的事情
第7章SIMD指令
7.1单指令多数据编程
7.1.1Alphac混合
7.2MMX
7.2.1MMX的指令概况
7.2.2SSE及其对MMX的扩展
7.2.3SIMD技术在C语言环境下的使用
7.2.4MMX编码技巧
7.2.5SIMDc的应用举例
7.2.6SIMD编程注意要点
7.2.7SIMD的性能检测
第8章引擎中的优化
8.1Blit的优化
8.2脏矩形优化
8.2.1“风魂”中改进的脏矩形算法
8.2.2滚动优化
8.2.3覆盖优化
8.2.4脏矩形在3D游戏界面中的运用
8.2.5时间和空间的权衡
8.2.6关于估算
8.3自己设计精灵格式
8.4动态数据加载
8.5小结
第9章C和C++
9.1从C到C++
9.2CvsC++,121效率至上
9.2.1全局变量
9.2.2函数调用的堆栈处理
9.2.3函数调用的参数传递
9.2.4临时变量的堆栈使用
9.2.5代码生成
9.2.6异常
9.2.7inline
9.2.8多态性
9.2.9标准库的差异
9.2.10动态内存分配
9.3优雅的C++
9.3.1消失了的宏
9.3.2const修饰及类型转换
9.3.3隐藏实现
9.3.4引用而非指针
9.3.5名字空间
9.4C++的误区
9.4.1类层次过细
9.4.2滥用操作符重载
9.4.3滥用标准容器
9.4.4滥用动态类型识别和异常
9.4.5滥用多重继承
9.4.6忽视C++高级特性的复杂度
9.4.7学习C++
9.5动态内存分配的优化
9.5.1另一种优化策略:多次分配,147一次释放
9.5.2垃圾回收
9.5.3再论动态内存分配
9.6template
9.6.1封装C++的成员函数调用
9.6.2常数数量的对象复制
9.6.3对象计数59559.6.4cc避免重复代码
9.6.5选择最佳的容器59579.6.6cc延迟运算
9.6.7编译时计算的游戏59599.7cc小结
第10章调试
10.1assert及程序错误的提前发现
10.1.1崩溃的程序不说谎
10.1.2为软件维护多个版本
10.1.3前置条件和后置条件
10.1.4自己实现一个
10.1.5不正确的assert使用
10.1.6为assert分级
10.1.7assert的引申:检查函数返回值
10.1.8释放的指针需要置空吗
10.2让程序更利于调试
10.2.1录像
10.2.2实现一个log类
10.2.3跟踪代码运行的流程
10.2.4为内存分配加上一个壳
10.3RELEASE版本的调试
10.4小结
第11章脚本
11.1为什么需要脚本
11.2应该用脚本做些什么
11.3脚本不应该做什么
11.4如何嵌入脚本语言
11.5选择一种脚本语言
11.6实战嵌入式脚本
11.6.1嵌入Lua
11.6.2使用coroutine驱动游戏逻辑
11.6.3封装C++中的对象
11.6.4回调机制
11.7反外挂技术
11.7.1防止加速器
11.7.2防止分析伪造网络包
11.7.3防止逆向工程
11.7.4防止代码钩子
11.7.5惩戒外挂作弊者
11.7.6安全地将信息传递给服务器
11.7.7防止模拟输入
第12章版本控制
12.1常用版本控制软件
12.2版本控制工具在项目中的使用
12.3不仅仅是程序才需要
第13章开发方法
13.1失败的经验
13.2成功的经验
13.3对游戏开发方法的一些思考
第14章编程和游戏
14.1操作
14.2角色设定
14.3再谈技术
14.4浅谈网络游戏
14.5小结
后记
致谢
-------------------
本书忠实地记录了作者十余年来对游戏编程的所思、所感、所悟。全书按照作者本人学习和实践的过程,带着读者从基础的计算机知识到高级的编程技术,从非常专业的汇编优化到非常实际的项目管理进行了一次游戏开发的全景探索。
本书不仅适合游戏开发者阅读,也会给所有的开发者和程序爱好者带来启示。
【作者简介】
云风,时年二十七岁。自幼学习编程,十数年从未间断,对程序设计有所领悟。大学时代开发的游戏图像引擎“风魂”曾用于多家游戏公司的游戏项目。参与过《大话西游》系列、《梦幻西游》、《网易泡泡游戏》的开发。现从事新一代网络游戏引擎的研究与开发,并在游戏模式上做一些新的尝试。性格开朗,兴趣广泛,好交友,绝非沉浸在计算机世界中的书呆子。国学、历史书籍常备案头,以先贤之教诲修其心;休息时常作户外运动,尤其喜爱攀岩。
【其他规格】
作者 :云风
ISBN:7121016095
页数:389
开本:小16开
封面形式:简裝本
出版社:电子工业出版社
出版日期:2005年12月1日







评论排行榜