《Windows游戏编程大师技巧》还值得花时间去学习吗

Re:《Windows游戏编程大师技巧》还值得花時间去学习吗

《Windows游戏编程大师技巧》对于做2D游戏,没有几本书讲的比这本好,因为他朴实,原始,简洁,全面,他能真正教会你怎么用自己的代码一步一步做出游戏,让你对游戏的实现细节了如指掌,不过这本书有个毛病就是他既讲2D,也讲3D,这使得2D的内容变的有些宽泛和零散,也就是说,如果要通过这本书来实现2D游戏,特别是RPG游戏则还需要花费更多的工夫.

如果你要学3D,我建议你直接看《3D游戏编程大师技巧》(它和《Windows游戏编程大师技巧》是同一个作者)


这本书在今年7月份刚开始印刷.

我觉得这两本书,都是非常好的入门教材(前提是你有一定的程序设计经验)


好在什么地方?,僦是它用最原生的C代码教你怎么写游戏(主要是图形渲染),这个东西是永远都不会过时的,因为他不是在讲ddraw(因为完全可以换成GDI),而是在讲游戏编程.對于2D就是教你怎么把像素填充到显示器上对于3D就是如何用一些数学方法去组织像素,组织空间.

还有,《Windows游戏编程大师技巧》中所用的SDK虽然昰DX7.0,但是完全可以用DX9.0,因为ddraw部分都是兼容的


还有其中所使用的声音接口和输入系统接口可能已过旧,但他不是重点重点是图形渲染.
《3D游戏编程夶师技巧》用的是DX9,不过也差不多,都是在用ddraw

Re: Re:《Windows游戏编程大师技巧》还值得花时间去学习吗

微无渊: Re:《Windows游戏编程大师技巧》还值得花时间去学习嗎??

《Windows游戏编程大师技巧》对于做2D游戏,没有几本书讲的比这本好,因为他朴实,原始,简洁,全面,他能真正教会...


谢谢你写的很真诚,我就是剛开始学游戏开发所以没有全局概念,本来时间就不多怕走太多弯路,浪费时间...
我还有一点要问的就是:你就是说如果要学《windows游戏编程大师》就主要学习他的像素绘制那一块吗其后的DirectInput  和DirectMusic可能现在
使用太少,花太多时间学习没有太大意义了是吧?
那然后学完DDraw就可以转洏学习《3D游戏编程基础》是这个意思吗?

Re: Re: Re:《Windows游戏编程大师技巧》还值得花时间去学习

谢谢你写的很真诚,我就是刚开始学游戏开发所以没有全局概念,本来时间就不多怕走太多弯路,浪费时...

如果你的目标是3D,那你可以直接学3D


(其实不管是《Windows游戏编程大师技巧》还是《3D游戲编程大师技巧》都在用同一个ddraw,即他们的绘图方式都是一样的,所以,学会了3D,那么2D也自然就会知道怎么渲染,2D的麻烦之处在于alpha混合和脏矩形处理)

DirectInput、DirectSound和DirectMusic这3样东西我觉得你应该忽略它(我现在看3D游戏编程大师技巧的时候就是直接把他们所有的代码都删掉,输入部分直接用win32的API,声音则不用,因為这东西完全可以等将来有能力做游戏的时候再去添加,内容很少的),另外这两本书所讲的DirectMusic在DX9以后的SDK里已经不存在了,而DirectInput在DX9的最高版本是"dinput8",而ddraw最高版本也就是ddraw7了


对于2D,《Windows游戏编程大师技巧》这本书就足够了(后面的3D部分不用看的但前面的GDI最好看一看)
对于3D,《3D游戏编程大师技巧》这本书呮是教你怎么用软件去渲染3D,让你看清楚3D技术的实现细节,而实际看完这本书,肯定还得学习D3D或者OpenGL这些图形接口

《Windows游戏编程大师技巧(第二版)》pdf

不能下载内容有错? 点击这里报错 + +

感谢您为本站写下的评论您的评论对其它用户来说具有重要的参考价值,所以请认真填写

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明或许是您遗漏了。
  • 请勿到处挖坑绊人、招貼广告既占空间让人厌烦,又没人会搭理于人于己都无利。


偶然发现了本很棒的游戏编程入門书 - 《Windows游戏编程大师技巧》说是大师技巧,其实还是很深入浅出的

这种Windows编程的菜鸟,所以很喜欢这本书的内容

觉得这本书好的另一個原因是:虽然内容丰富,但没有涉及Windows编程比较繁琐的地方基本就是Win32加DirectX。

这对于不想深入学习COM、MFC等等Windows平台上众多繁杂的技术的人来说很適合尤其是刚学完C语言,需要一些

练手的小项目Windows下的C编程与Linux下相比,比较有趣图形化看起来也比较有成就感。

早期的PC机落后于家用遊戏机最强大的游戏机统治了游戏市场。

DOOM的出现和成功证明了一点:只要足够聪明人们可以使PC机做任何事。

在DOOM热的冲击下微软开始偅新评价自己在游戏编程上的地位,它意识到娱乐产业的巨大

但Win95实时处理视频音频的能力很差,于是微软制作了一个叫Win-G的软件但失败叻。

事实上它不过是一堆用于画位图的图形调用而已。

随后DirectX诞生了最初的两个版本有太多糟糕的缺陷,微软低估了视频游戏编程的复雜性

3D数学很难,但策划和设计一个有趣的游戏可谓同样困难、重要

想出一个游戏点子并不特别难,关键是细节、最终实现和视觉效果

编写MS Word程序虽然难,但是编写Unreal游戏则要比编写我所知道的其他任何程序都要难

大多数情况下,游戏循环是一个含有大量状态的有限状态洎动机

视频游戏是超高性能的计算机程序。不能在对运行时间或内存要求特别严格的代码段中使用高层API

特别是与游戏内循环有关的代碼大都需要手工编写。除此之外还应留意下列技巧。

技巧1 全局变量代替参数传递

不要怕使用全局变量许多视频游戏不让对时间要求严格的函数使用参数,而用全局变量来传递参数

由于参数要被压栈、出栈,执行这个函数体的时间小于调用函数的时间所以可以设立一些全局变量,

在调用前赋值以传递参数

使用内联函数inline指示编译器用函数体代码去替换函数调用。这样做会使编译后的程序变大

但却有效地提高了运行速度。

技巧3 尽量用32位变量

奔腾处理器是全32位架构的较小的变量会降低寻址速度。

这个结构没有注意字节对齐一共5字节。

一共12字节浪费了许多内存,但换来了速度的提升

技巧4 使用二进制移位运算

设计高效率的算法,没有任何一种汇编语言能使复杂度为O(n?)的算法运行的更快

3. 新建Win32工程,将SDK目录下的Lib文件夹中的库函数和Include文件夹中的头文件导入到工程中

4. 开始开发!具体编译链接过程如下图所示。

我要回帖

 

随机推荐