C++游戏开发需要阅读的书籍


原文链接


经常有些朋友问我,想学习游戏开发,应该做些什么?

首先,游戏编程也是编程,一些编程的基础书籍是必须的,
这类书籍没有太多推荐,主要看你想学习的语言。

基础书籍不用看太多,也不用看很深,重要的是看的时候要动手。
当你还不熟悉的时候,开发时最好时刻准备一本基础书在身边,开发遇到什么问题可以随时翻阅:


关于基础:

《C++primer中文版》
本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。 对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使本书成为C++初学者的最佳指南;对于中高级程序员,本书也是不可或缺的参考书。

关于设计模式:

《Python编程实战:运用设计模式、并发和程序库创建高质量程序》

此书由Python开发者社区知名技术专家Mark Summerfield亲笔撰写,全球资深Python专家Doug Hellmann作序鼎力推荐,是Python领域最有影响力的著作之一。书中通过大量实用的范例代码和三个完整的案例研究,全面而系统地讲解了如何运用设计模式来规划代码结构,如何通过并发与Cython等技术提升代码执行速度,以及如何利用各种Python程序库来快速开发具体的应用程序和游戏。

关于编写良好C++代码风格:

《Effective C++:改善程序与设计的55个具体做法(第3版)》

本书一共组织55个准则,每一条准则描述一个编写出更好的c++的方式、每一个条款的背后都有具体范例支撑。第三版有一半以上的篇幅是崭新内容,包括讨沦资源管理和模块(templates)运用的两个新章。为反映出现代设计考虑,对第二版论题做了广泛的修订,包括异常(exceptions)、没汁模式(design patterns)和多线程(multithreading)。
高效的classes、functions、templates和inheritance hierarchies(继承体系)方面的专家级指导。

关于编写多线程程序:

《Linux 多线程》

本书主要讲述采用现代C++ 在x86-64 Linux 上编写多线程TCP 网络服务程序的
主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop
per thread。这是在Linux 下以native 语言编写用户态高性能网络程序最成熟的模
式,掌握之后可顺利地开发各类常见的服务端网络应用程序。本书以muduo 网络库
为例,讲解这种编程模型的使用方法及注意事项。

关于windows下客户端开发:

《MFC深入浅出》

关于windows的核心内容:
《Windows核心编程》

关于图形API:

一般就是DirectX或者OpenGL之间选一个。如果考虑到跨平台,那么OpenGL是首选. 如果只在windows的平台,则DirectX是首选。

《OpenGL编程指南》

《DirectX 10 3D》


好了,入门之后,是你巩固和拓展视野的阶段。现在看计算机图形学就比较合适了。

但是请注意,以上的书籍都是基础,必须消化,要不然下面的书籍就会异常难懂。


关于计算机图形学:

吐血推荐《Real-Time Rendering, Third Edition》(RTR)。相对于制作CG(动画电影、电影特效)的离线渲染,实时渲染是游戏的核心部分,这本书被誉为游戏引擎开发者的天书。这本书的内容非常多,涉及实时渲染的方方面面,写作手法亦非常简明易读。但由于许多细节内容实在放不进这本超过1000页的著作,但作者们非常仔细地包含了大量的参考文献,可以作为这个领域的指南。但第3版已经是2008年出版,期待第4版。

这本书算得上是所有图形程序员的必读书籍和参考手册了。最近刚出了第三版(更新:已经有电子版了)。可惜国内只有第二版,稍微有点老,如果实在找不到第三版,还是值得一读。

关于Shader:

《Cg_tutorial》和《The Complete Effect and HLSL Guide》都是不错的入门材料,当然还有SDK文档。关于光照:《Advanced Lighting And Materials With Shaders》详细介绍了各种光照模型和技术。《GPU Gems》 1~3册肯定是必读的,虽然有1,2有中文版,但某些翻译并不是很理想,强烈建议直接看英文版。

关于地形:

《Real Time 3D Terrain Engines Using C++ And DX9》非常全面的讨论了关于地形渲染的各种技术,至少应该把第5~9章都浏览一遍。之后便可以 到virtual terrain查阅近期的地形渲染技术。

关于模型导入和动画:

《Advanced Animation with DirectX》,仅此一本足以。

关于物理:

《Game Physics》和《Game Physics Engine Development》都不错。《Real-time Collision Detection》是碰撞检测方面最好的书,可惜目前还没有电子版。

关于关卡:

《Level of Detail for 3D Graphics》

关于游戏引擎架构:

《Game Engine Architecture》

关于AI:

《Programming Game AI by Example》非常不错,当然《AI Programming Wisdom》系列也是必读作品,不过目前网络上只有1~2册。

关于网络:

《C++网络编程》


至于那些“All in one”或者n天较你写出个FPS游戏的书就不要读了,这类书的通病是什么都说了,结果什么也没说清楚。

对游戏开发者来说英文阅读能力是最重要也是最基本的工具之一,因为你遇到的大部分资源都将是英文的,不要总等着别人为你翻译。慢慢尝试着阅读英文资料,你会发现其实也并没有那么难:)(当然,Google也是居家必备,但不够系统)。


  • 5
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值