近期有较多小伙伴私信我问能不能推荐一下游戏开发相关的书籍,我从大学至今也多过较多关于游戏的书,因此写出此篇博文,以帮助初学者更快速学会游戏开发需要的相关知识
从大一的时候,我开始自学游戏开发所需要的知识,因为确实只有那么一两种专业和游戏有关,或者是从事游戏开发最重要的一门课:《计算机图形学》,一般只有研究生才会开设,因此对于本科生来说,游戏开发相当一部分知识需要自学。但是话说回来,上了大学之后,我们最应该培养的一项能力就是自学能力,因为等到进入社会参加工作之后,一般只能靠自己自学知识,因此越早具备自学能力,就容易越走在别人的前面。
接下来我将从基础,进阶和高级三个部分进行介绍,当然,这并不代表越来越难,只是我们需要从基础开始学习。
基础篇
虽然本文主要介绍相关书籍,但是个人建议本部分以看视频为主要学习方式,看书反而不是快速入门的途径。
数学
数学方面,需要学习的是
- 高数
- 线性代数
- 概率论
这三门课的教学视频非常多,各大高校名师的课程都可以在网上找到,书籍的话都无所谓了,因为知识都是十多年前就固定下来的那些,什么书都是大同小异。
图形学
- 计算机图形学
这门课一般情况下大学本科不会开设,研究生才有,但是对于游戏开发来说,这门课是重中之重,因此如果你的专业不学这门课的话,就自学吧。
软件专业相关
- C#,C 等语言基础(C 必学)
- 计算机组成原理
- 数据结构与算法
- 操作系统
- 编译原理
- 数据库
其中语言基础,数据结构和操作系统必学,且需要熟练掌握。 书籍推荐:
- 数据结构、算法与应用 C 语言描述 原书第2版
- 《C 语言程序设计(第4版)》.(郑莉,董渊)
- 《labuladong的算法小抄》,最近新书,作者的算法心得,个人非常推荐
- 数据结构(C#语言版)
其他的书知识基本一样,就无所谓了
进阶篇
游戏引擎
我一直认为学习引擎这类工具,最好的方式就是看官方视频教程,Unity在这一块做的不算好,所以导致国内各种乱七八糟的教程一大堆,大多数还很粗略,设计实现的东西不讲原理就算了,还误导别人做错误的实现方式,但是UE4的社区就很出色,从引擎的原理讲解,告诉你正确的实现方式,但是大多官方教程在YouTuBe上,幸好虚幻引擎官方入驻B站,可以看到较多的出色视频,所以推荐大家尽量看官方视频。 关于书籍的话,大概这些值得一读:
- Unity Shader入门精要(冯乐乐)
- Physically Based Shader Development for Unity 2017(目前只有英文版的,外国的书比国内的要好很多)
- 大象无形 虚幻引擎程序设计浅析
- Unity 2018 Shaders and Effects 3RD - Alan Zucconi
- Unity 3D 内建着色器源码剖析
- Unreal Engine 4 Scripting with C Cookbook
其他的大概看看就好,上述的值得深读。
图形学编程接口
图形API主要有三个:
- OpenGL
- DirectX
- Vulkan
书籍推荐:
- OpenGL编程指南(第8版)
- GPU 编程与CG 语言之阳春白雪下里巴人
- Vulkan学习指南 Vulkan游戏开发实战详解
推荐以视频学习为主,书籍为辅
其他
推荐提升专业能力的书:
图片来源:http://www.cungun.com
- 剑指offer 名企面试官精讲典型编程题
- 设计模式精解-GoF 23种设计模式解析
- 屠龙记
- 游戏感
高级篇
这部分主要涉及的是数学和渲染,好书如下:
- 实时阴影技术(美)艾森曼努著(有英文版)
- Real-Time Rendering 4th Edition(实时渲染4)
- 游戏引擎架构 (jason Gregory)
- GPU精粹1 2 3部
- GPU Pro 1 - 7
- 实体Advanced Global Illumination 2nd Edition
- GPU Gems
- Physically Based Rendering, Third Edition
- GPU Zen: Advanced Rendering Techniques