【浅墨著作】《逐梦旅程:Windows游戏编程之从零开始》勘误&配套源代码下载...

2023-05-16



I'm back~~恩,几个月不见,大家还好吗?

这段时间真的好多童鞋在博客里留言说或者发邮件说浅墨你回来继续更新博客吧。woxiangnifrr童鞋说每天都在来浅墨的博客逛一下看有没有更新,“每天都来就像看女神那般不依不舍”,弄得我再不更新都不好意思了,哈哈~怎么说呢,前段时间忙毕设,回国,暑假,间隔年旅行休整,然后是适应新的生活,各种事情,也真正没有心境来更新博客了,最近正好心境安定下来,就继续开始写博。额,关于思想汇报改天我专门写一篇文章和大家交流交流,现在先打住说正事吧~

首先是大家关心的博客回归问题,博客会在这段时间继续开始更新,《Visual C++游戏开发》专栏的第三季,更新时间暂定依旧是每周一。



然后这篇博文主要是用于《逐梦旅程:Windows游戏编程之从零开始》一书的维护工作,勘误和源代码下载两个方面。

这本书浅墨用了一年多时间完成,最近刚出版,已经陆续在当当,淘宝,亚马逊,京东上架了,各大实体书店也渐渐有了货。{各大网店目前还是没有把书正式上架,但是显示的有货状态,已经可以购买了但是记录和评论都在后台上没有更新到界面里,囧}

放一张样书的玉照吧,浅墨自己构思的封面哦,很梦幻吧:

恩,来做一个简单的介绍吧:





一、自序:我有一个梦想——致终将由我们去复兴的国产游戏



All our dreams can come true, if we have thecourage to pursue them.

我们所有的梦想都可以成真,只要我们有勇气去追求它们。

————沃尔特·迪斯尼


依稀记得那还是F4红遍大街小巷,满城都飘扬着《流星雨》的年代。

那个时候的电子游戏,无论是投币式的街机游戏,还是网吧里的《反恐精英》、《流星蝴蝶剑》、《仙剑奇侠传》、《星际争霸》、《帝国时代》等引领时代的游戏界的璀璨明珠,总能深深地吸引住每个纯真无邪孩童的心,绚烂的游戏画面总是让孩童们流连忘返。

那个时候,每次放学后唯一单纯的想法,就是悄悄溜到学校附近的网吧,和电脑游戏亲密接触。口袋里有邻花钱的时候就能玩上一会儿,没有零花钱的时候就痴痴地站在屏幕前面看别人操纵着荧幕前的剑侠闯荡世界。年少的我单纯地认为,游戏世界中存在着一个无比恢弘的世界,那是可以装下梦想的地方。应该是我对游戏的痴迷,对游戏开发梦想的虔诚,让我走向了研习游戏开发的这条道路。

还记得那个香樟树覆盖的夏天,年幼无知的我在一帮同学中吹牛说:我长大后,一定要自己开发出比这些还牛还要好玩的游戏。

现在想想,这几年走过的路途,真应了那句话,“现在的努力,都是为了小时候吹过的牛逼”。

这些年来,在学习游戏编程的道路上有过惊喜,有过坎坷,有过自豪,有过怅惘,走了不少弯路,也算是最终走上了正途,小有所成。于是,我单曲循环着五月天的《有些事情现在不做一辈子都不会做了》,打开Word,打开Visual Studio,把自己这么多年来的游戏开发经验和心得用文字凝聚起来,开始为大家写这本书。

而这么一写,就是一整年。

经过一年夙兴夜寐,终于,赶在22岁生日之前,近百万字的书稿随着一声响指而初具雏形。

“谨以此书献给父母,因养育之恩无以回报。谨以此书献给母校南京航空航天大学和乌克兰国立航空航天大学,因赐予我一颗不甘平庸、上下求索的心。谨以此书献给所有怀揣游戏开发梦想的人们,因为,你们不是一个人在战斗。”

当在书稿的开头写下这三个“谨以”的时候,我终于开始觉得,这一年的夜以继日,这一年的披星戴月,都是值得的。

然而,因为岁月积累的关系,这本书中渗透的编程思想或许不能和编程界中的泰斗们同日而语。但是,我可以捂着胸口问心无愧地说,我把这些年自己悟出来的关于游戏编程的学习方法和真知灼见,毫无保留地呈现给了大家。大家能看到的眼前的这些句子和代码,全都是经过一遍又一遍的深思熟虑,一遍又一遍的修改,然后小心谨慎地敲出来的。

详细研究过游戏编程的朋友们都应该有这样的共识:“中国人写的书水平上不去,外国人写的书水平有了,但是翻译得往往都强差人意,理解不了”。也许正是这个原因,国内游戏编程的入门门槛一直很高,DirectX一直被人们认为是很难学的。很多怀揣游戏开发梦想的热血青年们,信誓旦旦地开始着手学习游戏编程的时候,却被晦涩难懂的游戏编程教材拒之梦想门外,碰了一鼻子灰,从此和最初的梦想失之交臂。我想,这正是导致国产游戏业界的萎靡,国产游戏一直很难成长起来的原因之一。

在这样的环境的激励下,这本倾注我一年多心血的书出现了,它的创作初衷便是渴望能够改变这样的现状。

愿这本书,能帮到那些热爱游戏编程、怀揣游戏开发梦想,却苦于难以入门的人们,让他们少走弯路。

愿这本书,能为国产游戏、国产游戏引擎的崛起,开启一扇门,迎接新的黎明。

我有一个梦想,将来的某一天,大家都能玩到蕴含着中国上下五千年本土文化的优质游戏大作。

我有一个梦想,有一天,西游记能出ACT,让老外去体会中国文化西游记中”斗战胜佛”的打击快感,那一定比西方的动作巅峰之作《战神》、《鬼泣》更加深邃。

我有一个梦想,有一天,上海滩能出沙盒游戏,而不是玩《GTA》感受美国梦,亦或是玩着《热血无赖》体验国外公司强行塞给我们的“中国文化”。

我有一个梦想,有一天,不少3A大作不需要汉化,因为是我们自己的游戏,配音是中文,文化也是中国的。

我有一个梦想,将来的某一天,国产游戏能像中国的其他产业一样,以一个领跑者的姿态,面对全世界,面对全宇宙,器宇轩昂,扬眉吐气。

这会是由我们一起去完成的梦想。

我等着我们的好消息。

浅墨 2013年5月于乌克兰



二、逐梦 · 导读

这本书分为六大篇章,26个章节。六大循序进阶的篇章分别为:

篇章序:逐梦 • 游戏开发梦想的重量

篇章一:起航 • 夯实游戏程序之根

篇章二:初探 • GDI 2D游戏编程

篇章三:飞跃 • DirectX游戏编程基础

篇章四:致用 • DirectX游戏编程应用

篇章五:升华 • 致我们的游戏开发梦想

以下的书本导读内容可以帮到大家更好的对当前的学习阶段进行定位,让自己对号入座,快速、科学地开始自己的游戏编程逐梦之旅。

l如果你的编程经验为零:

毫无编程经验的朋友,请先阅读介绍C++编程语言的相关书籍,再来延续我们的梦想,阅读这本书。学习C++推荐书目:《C++ Primer》与《C++ Primer Plus》,或各大高校的C++程序设计教程。

l有C++编程经验但不熟悉Windows 下编程:

有C++编程经验但毫无Windows编程经验的朋友,可以重头到尾顺畅的阅读这本书。因为这本书最准确的定位就是有一点C++编程经验之后从零开始掌握Windows游戏编程。

l如果你有Windows 编程经验但不熟悉GDI:

但不熟悉GDI有Windows 编程经验但不熟悉GDI的朋友,推荐适当阅读第一章之后,推荐从第四章开始征程。

l如果你想了解Windows GDI游戏绘图技巧:

想了解Windows GDI游戏绘图技巧的朋友,请阅读第五章。

l如果你想了解Windows游戏动画技巧:

想了解Windows游戏动画技巧的朋友,第六章会满足你的好奇心。

l想了解Windows小游戏键盘鼠标编程相关知识:

需要了解Windows中小游戏对键盘鼠标编程相关知识的朋友,第七章会给你答案。

l想看看Windows GDI如何写出好玩的程序:

想看看Windows GDI可以弄出哪些好玩的玩意儿的朋友,第八章会给你惊喜。

l想了解一个GDI小游戏完整的开发过程:

想了解一个结构完整的小游戏的开发过程的朋友们,第九章会超出你们的期待。

l如果你想开始学习DirectX游戏编程:

有一定Windows编程经验,并且了解GDI编程,已经准备好迎接挑战,想开始DirectX3D游戏编程学习的朋友,请从第十章开始阅读。这本书从第十章往后的内容组织起来是一个系统的DirectX游戏编程教材,其实可以单独成书的。

l想了解DirectX的进阶应用技术:

如果你已经打好DirectX的编程基础,想了解DirectX的进阶应用,请从第21章开始阅读。

l想了解游戏引擎技术:

如果你通过自己的不懈追逐,已经有了不错的C++/DirectX基础,想适当了解游戏引擎技术,第26章正是为你准备的。

l想搜寻进阶的游戏编程书籍

如果你已经完成本书的学习,并且信心满满,想知晓世界范围内有哪些进阶游戏编程书籍可以进一步提高自己的“段位”,总结全面的附录A.2和A.3正是为你准备的。




三、详细注释的书本配套源代码下载

源代码包是400多Mb的rar格式压缩包,完全解压后近1G,是和书一样的大块头了。

每个程序浅墨都有用心为大家准备,代码都经过详细注释,每个程序示例运行的时候都有精选的,独一无二的背景音乐播放。


配套源代码包解压后是如下的样子:



那么,《逐梦旅程:Windows游戏编程之从零开始》一书配套源代码下载地址:


1.百度网盘



暂时用百度网盘先顶着,其他下载方式会陆续放出~:)


先放一些程序截图吧:



















然后这里是配套示例程序的一些说明:


第3章:

1.【FirstBlood!】 一个简单的Windows API示例程序,并附有dota中第一个击杀会播放的很酷的“FirstBlood”音效。

2.【GameCore】 用代码勾勒出游戏开发所需的核心框架程序

第4章:

3.【GDIdemoCore】实现GDI游戏开发所需的核心框架程序

4.【GDIdemo1】GDI基本几何绘图示例程序

5.【GDIdemo2】GDI文字输出示例程序

6.【GDIdemo3】GDI位图绘制示例程序


第5章:

7.【GDIdemo4】透明贴图两套体系之:透明遮罩法示例程序

8.【GDIdemo5】透明贴图两套体系之:透明色彩法示例程序

第6章:

9.【GDIdemo6】游戏动画技巧之 定时器动画显示示例程序

10.【GDIdemo7】游戏动画技巧之 游戏循环动画显示示例程序

11.【GDIdemo8】游戏动画技巧之 透明动画示例程序

12.【GDIdemo9】游戏动画技巧之 排序贴图示例程序

第7章:

13.【GDIdemo10】Windows消息处理之键盘消息处理示例程序

14.【GDIdemo11】Windows消息处理之鼠标消息处理示例程序


第8章:

15.【GDIdemo12】愤怒的小鸟弹球之物理匀速运动模拟示例程序

16.【GDIdemo13】愤怒的小鸟弹球之重力环境模拟示例程序

17.【GDIdemo14】愤怒的小鸟弹球之摩擦力环境模拟示例程序


18.【GDIdemo15】粒子系统初步之雪花飞舞示例程序

19.【GDIdemo16】粒子系统初步之星光绽放示例程序

第9章:

20.【GDIdemo17】小型回合制游戏:《勇者斗恶龙》程序源码

第11章:

21.【D3DdemoCore】Direct3D程序的核心框架

22.【D3Ddemo1】Direct3D初始化四步曲 示例程序

23.【D3Ddemo2】Direct3D渲染五步曲 示例程序

第12章:

24.【D3Ddemo3】Direct3D顶点缓存的逆袭 示例程序

25.【D3Ddemo4】Direct3D索引缓存的故事 示例程序

第13章:

26.【D3Ddemo5】迈向三维世界:Direct3D四大变换 示例程序

第14章:

27.【D3Ddemo6】Direct3D中几种几何体的快捷绘制示例程序

28.【D3Ddemo7】绘制真实质感的三维世界:光照与材质示例程序

第15章:

29.【D3Ddemo8】游戏输入控制利器 : DirectInput 示例程序

30.【D3Ddemo9】对DirectInput的封装 示例程序

第16章:

31.【D3Ddemo10】为三维世界添彩:纹理映射示例程序之一

32.【D3Ddemo11】为三维世界添彩:纹理映射示例程序之二

第17章:

33.【D3Ddemo12】网格模型和X文件使用面面观 示例程序

第18章:

34.【D3Ddemo13】水融的艺术:alpha混合技术 示例程序

第19章:

35.【D3Ddemo14】横看成岭侧成峰:深度测试和Z缓存 示例程序

第20章:

36.【D3Ddemo15】虚实结合的光影 : 模板技术 示例程序

第21章:

37.【D3Ddemo16】翱翔于三维空间:第一人称摄像机的实现示例程序

第22章:

38.【D3Ddemo17】钟灵毓秀的世界:三维地形系统的实现示例程序

第23章:

39.【D3Ddemo18】向碧蓝的苍穹致敬:三维天空的实现示例程序第24章:

40.【D3Ddemo19】让唯美的雪花飘扬:三维粒子系统的实现示例程序

第25章:

41.【D3Ddemo20】造物主的降临:多游戏模型的载入示例程序



四、纠错·交流

由于浅墨水平有限,书中难免会有疏漏之处。希望电脑屏幕前热心的你,能够指出书本中错误,评论在这篇文章中。
浅墨会及时对这一部分的内容进行更新,以便在书籍下一版印刷的时候,以一个更完美更严谨的样子,呈现在懂得她的人
的面前。




文章最后依旧是送大家一个句子:


希望你,能在二十岁出头的生命里,做一些到了八十岁想起来还会微笑的事情。

电脑屏幕那端的你,晚安:)


下周一,回归季,游戏开发笔记第三季,我们,不见不散。




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【浅墨著作】《逐梦旅程:Windows游戏编程之从零开始》勘误&配套源代码下载... 的相关文章

随机推荐

  • strchr()、strrchr()、strchrnul()函数

    原文链接 xff1a http blog sina com cn s blog 8b745a5f01017t8b html 头文件 xff1a include 函数原型 xff1a char strchr char str int c ch
  • 面向对象编程之分层思想

    分层 xff1a 就是为了忽略细节 xff0c 关注自己需要关注的地方 1 实体层 xff1a 分析模块所要设计的表 xff0c 确定表之间的关系 gt 编写hibernate Mapping 文件和持久化实体类 2 DAO层 xff1a
  • Linux_apt-get remove 与 apt-get autoremove、aptitude remove的不同

    apt get remove 与 apt get autoremove aptitude remove 的不同 apt get remove 的行为我们很好理解 xff0c 就是删除某个包的同时 xff0c 删除依赖于它的包 例如 xff1
  • 再见,2011

    2011 xff0c 又是匆匆的一年 悄然回首 xff0c 得到的 xff0c 失去的 xff0c 欢乐的 xff0c 酸楚的 xff0c 每天都在交错 即将过去的201一年注定不平凡的是一年 xff0c 是难忘的一年 xff0c 是蛋疼的
  • pptv web前端面试题答案

    这是星期一考完试 xff0c 答应星期三补上的 xff0c 代码很简单 xff0c 就不写注释了 php快排 function quickSort amp arr arr left 61 new array arr right 61 new
  • Android初级教程_在电脑上共享手机屏幕

    我们知道有的时候需要截取手机屏幕 可以通过豌豆荚 91助手等工具 第一这种方式在电脑上看到的手机屏幕比实际的要小 第二 需要安装此类软件 有时候该类软件和eclipse开发Android的时候可能冲突 连接不到adb 我们可以通过一下方式来
  • CMake 执行shell

    使用cmake时 xff0c 可以在cmakelist txt中如下执行shell 一 xff0c 方法1 set LOG 34 log txt 34 add custom command OUTPUT LOG COMMAND echo 3
  • 我对产品化的理解

    我对产品化的理解 产品化的时机是看业务的需要 xff0c 不管是对前景的落实 xff0c 还是项目转化成产品 xff0c 这些都不是技术人员能考虑的 xff0c 业务的发展和策划 xff0c 如何进行市场细化等如果都由技术人员考虑 xff0
  • PostMan中文设置

    第一 xff0c 打开postman所在文件的位置 查看自己的版本号 第二 xff0c 打开下面的链接找到对应的版本号下载 页面链接 xff1a https gitee com hlmd PostmanCn releases 下载好后回到p
  • Ubuntu下构建PX4软件

    本搭建过程基于http dev px4 io starting building html xff0c 希望大家互相交流学习 原文 xff1a Building PX4 Software xff08 构建PX4软件 xff09 PX4 ca
  • 什么是scrum中的3355?

    3355表示的是3个核心角色 xff0c 3个工件 xff0c 5个关键事件以及5大价值观 3个工件 xff1a 产品Backlog Sprint Backlog 潜在可交付软件增量 3个核心角色 xff1a 产品负责人 xff08 PO
  • sockaddr_in , sockaddr , in_addr区别Socket编程函数集(非常有用)

    一 sockaddr和sockaddr in在字节长度上都为16个BYTE xff0c 可以进行转换 struct sockaddr unsigned short sa family 2 char sa data 14 14 上面是通用的s
  • Java多线程编程学习笔记之十二:生产者—消费者模型(含代码)

    转载请注明出处 xff1a http blog csdn net ns code article details 17249321 生产者消费者问题是线程模型中的经典问题 xff1a 生产者和消费者在同一时间段内共用同一存储空间 xff0c
  • 读《大数据时代》后的一些感想

    最近快速阅读了 大数据时代 后 写下自己的一些感想 xff0c 自己也稍微清楚大数据这个概念吧 xff01 随着2012年云技术的迅速发展 xff0c 大数据也紧跟其后出现了 xff0c 而且近期受到许多行业的关注 几乎稍微有在网上逛逛的都
  • 程序人生之一:一个四年 JAVA 程序员的工作经历

    程序人生之一 xff1a 一个四年 JAVA 程序员的工作经历 很感谢 CSDN 网友liudonglovehemin 的这篇帖子 xff0c 真实记录了一个 Java 程序员的 4 年来在北京工作 学习 生活的成长之路 此情此景 xff0
  • 一步一步写算法(之 算法总结)

    声明 xff1a 版权所有 xff0c 欢迎转载 xff0c 请勿用于商业用途 联系信箱 xff1a feixiaoxing 64 163 com 自10月初编写算法系列的博客以来 xff0c 陆陆续续以来写了几十篇 按照计划 xff0c
  • 我人生的转折点

    来到兄弟连 差不多快两周的时间了 xff0c 在这里的每一天每天都觉得非常的充实 xff0c 来到这里才知道什么才做学习 xff0c 什么才叫只要努力了用功了 xff0c 用心了 xff0c 就会有成果 就如第一次的测验 xff0c 每天都
  • Canal AdminGuide

    背景 先前开源了一个开源项目 xff1a 阿里巴巴开源项目 基于mysql数据库binlog的增量订阅 amp 消费 本文主要是介绍一下如何部署 amp 使用 环境要求 1 操作系统 a 纯java开发 xff0c windows linu
  • 【Android病毒分析报告】 - Usbcleaver

    本文章由Jack Jia编写 xff0c 转载请注明出处 文章链接 xff1a http blog csdn net jiazhijun article details 9179749 作者 xff1a Jack Jia 邮箱 xff1a
  • 【浅墨著作】《逐梦旅程:Windows游戏编程之从零开始》勘误&配套源代码下载...

    I 39 m back 恩 xff0c 几个月不见 xff0c 大家还好吗 xff1f 这段时间真的好多童鞋在博客里留言说或者发邮件说浅墨你回来继续更新博客吧 woxiangnifrr童鞋说每天都在来浅墨的博客逛一下看有没有更新 xff0c