游戏开发图书推荐--我读过的技术经典图书

2023-05-16

            很多同学问我学游戏开发应该看些什么书,我在这里抛砖引玉,给一份推荐表,希望大家共同提高。由于本人英文不太好,推荐的大部书籍都是国人编写的,有些经典的外文图书可能是翻译不好,我自己难以读下去,所以未能推荐。

 

一、程序语言:工欲善其事必先利其器,游戏开发属于软件开发,因此学几门编程语言是必要的。

1、C++:虽然目前电脑性能越来越强大,C++凭借其优异的性能,是游戏开发首选。当然C++因为功能强大,也是最难学的语言之一。

  • C++ Primer:经久不衰的C++经典图书,一本C++的百科全书,比较适合入门学习。由几位经验丰富的C++大师编著,其中包括几位C++标准委员会成员。
  • C++ Primer Plus:一本比较基础的C++入门图书,如果觉得上面一本比较吃力,那么从这本开始吧!COM本质论
  • Thinking C++:此书在某些方面比C++ Primer讲解要深入一些,有许多作者的独到见解,精通C++的必备图书之一。此书中文名是牛逼的《C++编程思想》。COM本质论
  • Effective C++:C++程序员必读的进阶图书,讲解了许多C++的使用技巧和方法,能够让你打开眼界,提升你的C++功底。
  • More Effective C++:此书是上一本的延续版本,也是不可多得的好书。COM本质论
  • Exceptional C++:此书是仿Effective C++的书,不过内容值得一看。
  • More Exceptional C++:同上。
  • Exceptional C++ Style:同上。
  • C++ STL:C++的标准模板库还是很有用处的,值得学一下。
  •  STL 源码剖析:侯捷的大作,可以参考读一下,看看STL内部的实现机制。
  • C++ Template:模板是C++的高级技巧,多少还是需要了解一些,这本书通俗易懂,学习模板的首选图书。
  • boost程序库完全开发指南:boost号称C++的准标准库,功能强大,代码优雅,很值得学习,是C++进阶的参考书目之一。

2、Lua:轻量级的精巧的脚本语言,很多游戏都选择它作为脚本语言,语法风格优美,数据结构强大。

  • Programming in Lua:前几年Lua只有这一本出版的书,lua开发人员几乎人手一本,本书能了解lua的大部分功能,但是有些高级的功能涉及不多,有些也没讲透,不过还是值得推荐!
  • 云风的博客:云风应该是使用lua的大家,在他的博客上有不少lua领域的知识,很多都是在书本上找不到的,所以特别推荐一下,呵呵。 

3、Java:Java是世界上使用人数最多的语言之一,在游戏开发方面也颇有建树,特别是Android流行之后,在移动游戏开发领域大有前途。

  • Thinking jave:C++编程思想的姊妹篇,布鲁斯.埃克尔的又一力作,java开发的圣典,精通java的必备图书之一。

  • java编程规范:作者James Gosling(Java之父),所以这本书我觉得你怎么也得读一下。对基础讲解的很不错。
  • Effective Java:作者是Java的第2号人物,目前是Google的Java老大,是James Gosling强力推荐的一本书。名字是不是和Effect C++很像呢?看名字应该是一本好书。

4、Python:python和lua齐名,也是比较流行的脚本语言,大名鼎鼎的BIGWORLD就死使用它作为脚本开发语言,不过python本身有很强大的库,除了作为嵌入式语言,还能作为一门独立的开发语言。

  • 简明 Python 教程:Swaroop C.H. 教授为Python初学者写的一本书。“如果你只会打字的话,那这本书就是给你写的。”这本书的网站上这么写道。本书相当初级,很多大学都讲其作为教科书。python初学者可以从他开始。

  • Python核心编程:Zed Shaw为初学者写的一本书,书内使用的是Python 2.6版本。本书也是python的入门级图书之一。

5、Unity3D:Unity3D是一个开发平台,使用它可以很方便的开发跨平台的游戏程序。

  • Unity3D游戏开发:国人编写的一本U3D的入门级图书,相当基础,用来练手是最合适不过的了,而且作者的博客很活跃,可以喝他直接进行交流。

6、ActionScript3:随着网页游戏的盛行,逐渐成为当前炙手可热的游戏开发语言,不过我很少涉及AS领域,因此大家可以到网上找找相关的图书。

 

二、游戏编程的核心技术:我们做游戏的,当然还需要学一些游戏开发的技术才行。

1、DirectX:大名鼎鼎的DirectX技术,微软公司大力推荐的一套3D图形处理API,目前是世界上最流行的图形API。

  • Visual C++/DirectX9 3D游戏开发导引:这是我阅读的第一本D3D的书,可能不是最好的,但是的确是它把我带进了游戏开发的大门。DX开发的入门级图书。
  • 精通direct3d图形及动画程序设计:这本书也是国人写的,很多人都说是翻译的DX文档,但是我认为这本书是关于DX最好的入门图书了,讲解比较清楚,例子丰富,堪称DX开发百科全书,DX的入门级碧波图书。
  • Windows游戏编程大师技巧:游戏界享誉多年的图书,自成体系,不过经久失修,内容太旧啦,不过他的一些算法和思想还是蛮不错的。
  • 3D游戏编程大师技巧:虽然是上一本书的升级之作,但是内容还是比较过时,不过作者在此书里面开发一个完整的引擎,在3D算法和数学方面的部分还算不错。
  • 3D数学基础:图形与游戏开发:3D游戏开发进阶的一个门槛就是3D数学,如果数学不好,很难学好3D,本书是将数学和游戏开发结合的书,同时还封装了一套3D数学的库,值得初学者学习。

2、OpenGL:一套和DirectX齐名的图形API,优势在于跨平台,目前支持Windows,linux,Mac,IOS,Android等系统,目前安卓流行之后,它的使用就更广泛了。

  • OpenGL编程宝典:OpenGL开发中著名的红皮书。 经典中的经典。目前已经出了多个版本了,学习OpenGL的必备图书。

3、网络技术:在线游戏必然离不开网络,我没有发现特别经典的图书,只推荐一本对我很有帮助的书。

  • Windows Socket 网络编程:对Socket编程的更方面做了详细的讲解。包括IO模型以及多线程的一些内容。

 

三、程序设计基础:看过武侠小说的都知道,厉害的武功还得匹配绝世的内功才行,设计思想就是程序员的内功。

1、算法:算法是程序的灵魂,学好算法是成为优秀程序员的必经之路。

  • 算法技术手册:这本书很薄,讲解了一些基础常用的算法,经常翻一下对自己很有帮助的。

  • 程序员试用算法:这本书非常不错,对于日常开发中常用的算法都有阐述,并且有相应的代码辅助,值得常备在身边学习。
  • 零基础学算法:这本书非常适合初学者,对常用算法有清晰的讲解,而且有相当数量的视频和PPT提供给读者,方便读者理解。
  • 算法导论:本书是经典算法图书,但是我一直没有读完,感觉太厚给自己的压力太大,而且本书讲解了太多的算法基础理论,学术性质太浓厚,老是看的想睡觉,但是作为算法的经典图书,这里还是推荐一下。

2、数据结构:如果说算法是建筑的设计图纸,那么数据结构就是构成建筑的基本组件。

  • 数据结构(C语言实现):清华大学出版的此书,在很多大学都作为教科书来使用,非常不错。

  • 大话数据结构:最近才推出的一本书,仿大话设计模式的思路,总的来说,本书还是值得一读的。

3、设计模式

  • 大话设计模式:本书通俗易懂,学习设计模式的入门级图书。
  • 设计模式--可复用面向对象软件的基础:本书的作者是GOF(Erich Gamma 、 Richard Helm 、 Ralph Johnson、 John Vlissides),本书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。

 

四、计算机理论和基础

  • 80X86汇编语言程序设计:汇编虽然使用越来越少了,但精通汇编一定是牛人,如果有时间和精力多学习一些还是很有好处的。
  • 琢石成器--Win32汇编语言程序设计:本书是学习win32汇编的一本很好的书,示例很丰富,比学纯汇编要容易很多。
  • 深入理解计算机系统:本书多次入围年度最佳图书,有时间阅读次数还是能学到很多东西的。
  • 程序员的自我修养—链接、装载与库:本书是近年来国人写的最好的一本书了,对于编译和链接等程序底层技术做了很好的讲解。
  • COM本质论:COM本身的设计思想是很先进的,微软的多项技术都使用了它,本书讲解了COM机制和编程方法。
  • 重构--改善既有代码的设计:本书是我近年来看过的最好的书之一,重构是程序员的一项重要技能,本书将告诉你如何进行重构,如何将重构做好。
  • Window程序调试:讲解了widnow程序的调试思路和方法,调试是程序员的一项基本技能,本书会帮你提高这方面的能力。
  • 人工智能:本书对神经网络、遗传算法、启发式搜索、状态机等AI命题做了详细的讲解。有精力可以看看。
  • 软件工程:软件工程和程序员有这密切的联系,多看看软件工程理论的理解和互相实践,能扩展视野以及提高开发效率。
  • 高效程序员的45个习惯:此书前面部分非常好,看完此书能够明显提高开发效率和改善工作习惯。
  • Win32多线程程序设计:本书是侯捷的大作,对于多线程编程讲解比较好。
  • 正则表达式必知必会(正则表达式经典著作):正则表达式是一项基础的技术,对程序员的帮助很大。

 

五、数据库相关

  • Mysql核心技术手册:本书对MYsql的各方面都做了详细的讲解,是一本很好的参考书。
  • SQL查询初学者指南:关于SQL查询的入门级图书。

     

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

游戏开发图书推荐--我读过的技术经典图书 的相关文章

  • 从零开始构建嵌入式实时操作系统1——任务切换

    1 前言 随着计算机技术和微电子技术的迅速发展 xff0c 嵌入式系统应用领域越来越广泛 xff0c 尤其是其具备低功耗技术的特点得到人们的重视 随着工信部提出NB IoT基站建设具体目标 三大运营商加速建设 xff0c 即将迎来万物互联的
  • 从零开始构建嵌入式实时操作系统2——重构

    1 前言 本人是一个普通的中年程序员 xff0c 并不是圈内的大牛 xff0c 写嵌入式操作系统这一系列的文章并不是要显示自己的技术 xff0c 而是出于对嵌入式的热爱 非常幸运 xff0c 本人毕业后的十几年一直从事嵌入式行业 xff0c
  • 从零开始构建嵌入式实时操作系统3——任务状态切换

    1 前言 一个行者问老道长 xff1a 您得道前 xff0c 做什么 xff1f 老道长 xff1a 砍柴担水做饭 行者问 xff1a 那得道后呢 xff1f 老道长 xff1a 砍柴担水做饭 行者又问 xff1a 那何谓得道 xff1f
  • 从零开始构建嵌入式实时操作系统4——深入讲解任务切换

    1 前言 操作系统可以为我们执行丰富的应用程序 xff0c 可以同时满足我们的各种使用需要 操作系统之所以能同时完成我们各种需求 xff0c 是因为操作系统能并发执行多个用户的应用程序 事实上除了多核处理器系统中是真正的多任务并行之外 xf
  • Linux启动流程之ROM-CODE

    1 从哪里开始 xff1f 下图是AM335X核心板和功能框图 xff1a AM335X核心板的存储信息如下 xff1a AM335X核心板运行linux系统 xff0c 在这里提出一个问题 xff1a 上电后指令从哪里开始执行 xff1f
  • 全志V3S开发板星光闪烁(linux LED驱动)

    1 前言 本文描述了基于全志V3S开发板的LED驱动程序和测试应用程序的设计流程 通过本次实验我们可以控制V3S电路板上的LED xff0c 模拟星空的星星 xff0c 一闪一闪亮晶晶 xff01 2 设计流程概述 本次实验的设计步骤如下
  • 人脑能否重启?

    1 重启是什么 人脑能否重启 这个问题还不简单 xff0c 人睡眠后清醒就是重启 事实真的是如此简单吗 xff1f 我们先不急着给出结论 xff0c 前面提到 人睡眠后清醒就是重启 xff0c 这句话中有两概念 xff1a 1 睡眠和觉醒
  • 嵌入式技术之IAP,自从有了它老板再也不担心我的代码了!(中)

    上篇文章我们一起学习了IAP的工作原理和IAP包含的3个重要功能 xff1a 数据交互 数据存储和程序跳转 这3个重要功能称为 IAP的三板斧 xff0c 接下来我们看这三板斧具体完成哪些细节工作 xff0c 如何实现这三板斧 1 数据交互
  • 超导量子计算机

    1 超导量子计算机发展状况 2018年3月5日美国物理学会年会上 xff0c 谷歌展示了其正在测试的72量子位超导量子芯片Bristlecone 谷歌物理学家朱利安 凯利表示 xff0c 研讨团队希望初次运用更大的量子芯片来展现霸权 xff
  • Ubuntu 快速更换阿里源

    简介 xff1a 本文主要给大家讲解如何为Ubuntu更换阿里源 xff0c 通过以下四个步骤即可快速实现换源 镜像下载 域名解析 时间同步请点击 阿里巴巴开源镜像站 一 查看ubuntu的Codename lsb release a gr
  • 建造《流浪地球2》中要毁灭人类的超级量子计算机MOSS的核心量子技术是什么?

    1 流浪地球2 中的量子计算机 2023年中国最火的电影非 流浪地球2 莫属 xff0c 在 流浪地球2 中有一个人工智能机器人MOSS xff0c 它的前身是 550W 超级量子计算机 xff0c MOSS 是它给自己起的名字 xff08
  • 离子阱量子计算机

    1 新闻 2020年6月 xff0c 科技制造企业霍尼韦尔 xff08 Honeywell xff09 发布第一台离子阱量子计算机H0 xff0c 它拥有64量子体积 xff0c 它是IBM和谷歌同时期量子计算机的两倍 公司表示之所以能取得
  • ROS Melodic安装、配置和使用turtlebot2(集成众多源代码直接下载)

    已经有前辈将ubuntu14 04下的turtlebot教程翻译了过来 xff0c 可以先行查看 xff0c 对turtlebot的知识建立总体的认识 xff1a https www ncnynl com archives 201609 7
  • FreeRTOS学习 第一讲 操作系统的移植

    FreeRTOS学习 第一讲 操作系统的移植 基本介绍 xff1a 系统分类 1 xff09 前后台系统 while 1 循环 适用情况 xff08 简单和小的需求 处理需求相对来说较少 xff09 2 xff09 实时操作系统 实时操作系
  • Python调用playsound时报错:指定的设备未打开,或不被 MCI 所识别

    报错信息 xff1a Error 263 for command close audio mp3 指定的设备未打开 或不被 MCI 所识别 原因 xff1a windows不支持utf 16编码 xff0c 需修改playsound源码 p
  • 【无人机学习】Mission Planner(pc端)和QGroundControl(android端)

    无人机学习 Mission Planner xff08 pc端 xff09 和QGroundControl xff08 android端 xff09 系列文章目录 提示 xff1a 这里是收集了无人机的相关文章 无人机学习 无人机基础知识
  • 【无人机学习之QGroundControl】android端App初解4-遥控器通道

    无人机学习之QGroundControl android端App初解4 遥控器通道 系列文章目录 提示 xff1a 这里是收集了无人机的相关文章 无人机学习 无人机基础知识 无人机学习 Mission Planner xff08 pc端 x

随机推荐

  • 百度2014校园招聘 软件研发工程师 笔试题

    一 简答题 xff08 本题共30 xff09 1 动态链接库和静态链接库分别有什么优缺点 xff1f xff08 10 xff09 2 轮询任务调度与抢占式任务调度的区别 xff1f xff08 10 xff09 3 请列出数据库中常用的
  • Kubernetes 日志查询分析实践

    简介 xff1a 本文将介绍如何基于日志服务实现对 Kubernetes xff08 以下简称 K8s xff09 日志的采集以及查询分析 xff0c 此外 xff0c 还附带了对 Ingress Audit 方案的简要介绍 为了方便大家通
  • C++算法题

    目录 一 排序算法 1 冒泡排序 2 快速排序 3 归并排序 4 堆排序 5 插入排序 6 topK 二 二分查找 1 一维数组二分查找 2 二维数组二分查找 3 寻找旋转排序数组中的最小值 三 有序数组的平方 xff08 双指针法 xff
  • QT通过UDP分包传输大图像(测试可传6M)

    参考博客 UDP传数据每帧数据最大传64k xff0c 而图片文件一般远大于64K xff0c 此时就需要将图像数据分包传输 xff0c 接收端也分包接收 xff0c 直到整个图片数据都收到 xff0c 再进行其他处理 发送端 发送数据 v
  • github代码如何定位到历史版本(历史commit点)

    关于使用git在本地进行版本管理见linux下的版本管理 工作项目中git流程实操见git简明实操模板 想我们在写代码时候 xff0c 数次修改并提交commit xff0c 如果在这个过程中我们后悔了 xff0c 想回到当初的某一个com
  • Intel RealSense学习之图像及图像深度数据获取

    本文将介绍如何获取到彩色图像的深度信息 大家都知道我们可以从realsense 摄像头中获取到RGB数据 xff0c 红外数据 xff0c 以及图像的深度数据 至于图像的深度数据我的理解是realsense摄像投抓到的图像的相关距离信息 x
  • ROS机器人编程实践——读书笔记1

    目的 xff1a 写一个最小基于ROS的机器人控制软件 一 写一个运动命令流 xff0c 每秒10次 xff0c 每三秒启动一次 在移动时 xff0c 发送前进命令 xff0c 速度0 5米每秒 xff0c 停止时发送速度0米每秒 命名为
  • SLAM后端:因子图优化

    xff08 一 xff09 贝叶斯网络 贝叶斯网络是种概率图 xff0c 由随机变量节点和表达随机变量条件独立性的边组成 xff0c 形成一个有向无环图 在 SLAM 中 由于我们有运动方程和观测方程 它们恰好表示了状态变量之间的条件概率
  • Ceres用法及Ceres-Sophus在位姿图优化问题的应用

    xff08 一 xff09 Ceres Solver的一般用法 简述 xff1a Ceres Solver is an open source C 43 43 library for modeling and solving large c
  • 基于深度卷积神经网络的语义地图构建

    xff08 一 xff09 相关研究及特点 语义分割 语义信息 xff1a 物体类别 目标检测 语义分割等 语义分割即对图像中每个像素分配类别标签 目前最主流的是深度学习方法 xff0c 代表性的方法是全卷积神经网络 xff08 fully
  • 语义信息用于闭环检测

    xff08 一 xff09 SLAM闭环检测方法 传统特征点方法 xff1a 利用SIFT 等视觉特征进行对比闭环检测 受环境影响较大 xff0c 往往会产生假阳性检测 xff0c 且计算量大 效率低 在实际应用上存在较大的阻碍 深层特征方
  • 盘点|2021年最受欢迎Linux桌面操作系统前十名

    简介 xff1a 根据各操作系统镜像站后台下载量 xff0c 阿里云镜像站统计了2021年最受欢迎的Linux桌面操作系统 xff0c 仅根据调用量排名 xff0c 供大家参考 排位最高的还是Centos xff0c 受中国Linux用户欢
  • VSLAM框架对比

    xff08 一 xff09 单目VSLAM特点介绍 xff1a 1 ORB SLAM2 工作流程 xff1a 主要模块 xff1a 前端 xff1a ORB特征提取匹配 xff0c 估计相机位姿 xff1b 根据跟踪地图点数的减少选择关键帧
  • ORB-SLAM3的Euroc数据集测试

    xff08 一 xff09 测试运行 不同模式测试过程 xff08 以MH 03为例 xff09 1 pure mono 运行SLAM xff1a cd ORB SLAM3 Example run slam Monocular mono e
  • 阶段性工作总结

    xff08 一 xff09 简介 1 常用VSLAM开源框架对比 xff0c 初步研究方向确定 2 ORB SLAM3的数据集测试 xff0c 各种模式下的运行性能对比 xff0c 及IMU模式下与Vins对比实验 3 adas视频在ORB
  • 第二阶段文献总结

    xff08 一 xff09 CoSLAM 1 系统功能和亮点 功能 xff1a 本文是第一个动态场景下多相机合作的同时定位 静态图构建 动态点轨迹估计的SLAM系统 亮点 xff1a 引入相机间位姿估计和相机间建图解决动态物体问题维护每一个
  • 第三阶段文献总结

    motion分割相关方法 xff08 一 xff09 Semantic segmentation aided visual odometry for urban autonomous driving 1 文章特点 xff1a VO中包含重投
  • 动态场景SLAM相关论文总结

    参考文献 xff1a VDO SLAM xff08 动物判别与跟踪 xff09 DynaSLAM xff08 深度学习 43 多视图几何分割 xff09 CoFusion xff08 语义 43 运动分割 xff09 Meaningful
  • 算法总结——八皇后问题(三种解法)

    问题描述 会下国际象棋的人都很清楚 xff1a 皇后可以在横 竖 斜线上不限步数地吃掉其他棋子 如何将8个皇后放在棋盘上 xff08 有8 8个方格 xff09 xff0c 使它们谁也不能被吃掉 xff01 这就是著名的八皇后问题 对于某个
  • 游戏开发图书推荐--我读过的技术经典图书

    很多同学问我学游戏开发应该看些什么书 xff0c 我在这里抛砖引玉 xff0c 给一份推荐表 xff0c 希望大家共同提高 由于本人英文不太好 xff0c 推荐的大部书籍都是国人编写的 xff0c 有些经典的外文图书可能是翻译不好 xff0