找回密码
 立即注册
查看: 242|回复: 5

游戏编程相关的好书有哪些推荐?

[复制链接]
发表于 2023-3-2 15:33 | 显示全部楼层 |阅读模式
最近在学习unity3d,想自己做iOS独立游戏开发,软件使用方面没有什么问题,但编程方面的学习遇到了困难,之前看了一本《head first C#》入门,感觉挺不错,基本概念差不多都弄明白了,也可以实现一些简单的逻辑,做一些简单的游戏。但现在想深入学习游戏编程的东西,从网上下的很多项目的代码很难看懂,感觉是有很多设计模式的东西不明白,希望做游戏开发的朋友们能给些建议,推荐些书籍资料以及网站(中英文都可以),以便能少走一些弯路。
发表于 2023-3-2 15:43 | 显示全部楼层
Game Coding Complete
发表于 2023-3-2 15:47 | 显示全部楼层
@伍一峰提到的设计相关书籍我很赞同,再补充一些自己看过的和游戏开发密切相关的好书。
《游戏编程精粹》
这是一个系列,目前供八本,都是业界人士写的文章集。最近半年多都在做项目,所以还只看了第一版。

  • 部分内容过于老旧,但是还是有很多值得学习的技术。
  • 涉及面广,基础编程、数学、人工智能、图形学、音频、网络应有尽有。
  • 虽然是文章集,但是也有很多专题,可以深入某项技术。如果想要彻底理解A*算法,一定要看第一版中关于A*算法的那几篇连载。
《OpenGL Programming Guide: 8th》
记住副标题!第八版之前的都不要看,包括第七版(不过第七版最后有一章大杂烩可以看一下,讲了一些常用技术)。

  • 这是一本OpenGL学习者必看的书
  • 第八版是完全基于Shader的,而前七版都没有着重介绍Shader,都是老式的API

《Game Engine Architecture》
前面已经有人提到过了,我就不再赘述了。不管你是否从事引擎开发,都应该认真拜读此书。
《Real Time Rendering: 3rd》
千万不要看第二版的中文版,坑爹!这本书中有一些无聊的物理知识,千万不要因此而作废此书。这是一本讲解了各种图形学概念的书籍,不过看此书之前最好熟悉OpenGL或DirectX,不然看着会比较辛苦。
《The Art Of Game Design》
这是我看过的唯一一本好的设计书籍。是由很多个点子组成的一本书。设计游戏之前,不妨浏览一下各个点子(在附录中有完整的lens列表)
另外,还有一些不错的资料。
OpenGL官方wiki
http://www.opengl.org/wiki/Main_Page 这里有很多琐碎、但很重要的概念。包括:

  • 最佳实践
  • 常见错误
  • 驱动缓存和GPU缓存的概念(这个非常重要)
  • OpenGL中各种对象的明确描述
Box2D用户手册,Havok用户手册
如果你决定使用以上两个物理引擎,此两本足矣。
开源项目
这也是非常重要的学习途径。
发表于 2023-3-2 15:52 | 显示全部楼层
现在知名的、系统的游戏编程书籍都是关于主机游戏的,移动游戏开发近年才火起来,需要的技能很不一样,使用工具更新换代也快,Unity只是目前火的一个,做独立开发应该是够的,但如果想往底层挖的更深的话就要看基础知识了
阿猫推荐的
Game Engine Architecture是很好的大杂烩,介绍了游戏引擎的各个部分,每部分还给了如果感兴趣想继续研究那方向的书单
网络方面这个Blog上有很不错的教程:
Game Development Tutorials是个泰坦佛的开发者写的,从基础教起
同一个Blog上也有游戏物理的教程
图像方面有一套权威级的系列GPU Gem,是业界十几年来边出新科技边出的书,对图像编程有基本知识后可以看
AI方面有AI Game Programming Wisdom,也是边出新科技边出的书
发表于 2023-3-2 15:52 | 显示全部楼层
游戏编程是一个非常琐碎细节的工作,需求变化之快,经常让我想跟策划干上几架。
虽然我还没有能力做出方向性的建议,但是我觉得做任何事情之前,都应该先对本领域的工作有一个大致性的了解。使得自己可以站在更高一些的视角(品味?)去看待将要学习的东西。
所以我推荐两本大杂烩:
<Game Code Complete>
Game Coding Complete, Fourth Edition (豆瓣)
<Game Engin Architecture>
游戏引擎架构 (豆瓣)

后面一本刚刚在国内由
@Milo Yip 大神翻译出来。
看的时候不用特别仔细,对实际游戏编程工作中可能遇到的问题有一个大致的印象就好。遇到问题不会抓瞎,知道去google,github,stackoverflow甚至知乎问哪些问题就行。
发表于 2023-3-2 15:55 | 显示全部楼层
感谢邀请 :)
首先,游戏编程也是编程,一些编程的基础书籍是必须的,
楼主提到的《Head First》系列都比较简明易懂,值得一看。
这类书籍没有太多推荐,主要看你想学习的语言。
基础书籍不用看太多,也不用看很深,重要的是看的时候要动手。
一些关键问题要弄明白,例如内存管理。
当你还不熟悉的时候,开发时最好时刻准备一本基础书在身边,开发遇到什么问题可以随时翻阅(当然,Google也是居家必备,但不够系统)。

其次,设计模式,很多初学者觉得它很难懂,是因为没有明白设计模式的目的。
设计模式是解决某类问题的方式,要弄懂它,你需要明白”某类问题“是什么。如果你开发的时候都没有遇到这类问题,那么你也很难真正明白某种设计模式的精髓。
所以我觉得可以先大概了解一些常见的设计模式和它们所解决的问题,然后当你遇到某类问题的时候可以想起某个模式,然后再深入研究它。
而介绍设计模式的书籍我推荐两部,
一个是《敏捷软件开发,原则,模式,实践》 :
敏捷软件开发 (豆瓣),
另一个是《Game Programming Patterns》:
http://gameprogrammingpatterns.com/。
前者是一个很全面的软件工程的书籍,主要讲用敏捷的方法来进行软件开发,里面有相当一部分介绍商业软件常用的设计模式。虽然这本书不是游戏领域的,但是它讲到了很多编程的知识都适用在游戏领域的编程当中。这本书有C#版。
后者是专注游戏编程领域里面的设计模式,它涵盖了游戏逻辑,游戏编辑器,和游戏引擎的编程。它每一节都是从一个游戏编程的问题开始展开,然后提出一些解决方案,最后将解决方案规范化,形成设计模式。虽然很多时候它没有给出很完善的设计模式方案,但是它给出了很多线索,可以让感兴趣的读者深入研究下去。这本书是开源的,不用钱,不过是英文版,例子是用C++写的。

最后,就是游戏编程细分领域的书籍了,例如AI,物理,图形等等,
这些方面的入门书籍我只看过AI方面的,例如《游戏人工智能编程案例精髓》和《游戏开发中的人工智能》,它们都是比较粗略地介绍人工智能在游戏中的基本运用,但是要写出真正能用的代码,还是需要看一些相关的论文,博客等等。

最后附送一些对我非常有帮助的游戏编程博客:
Amit’s Game Programming Information 一个很全面的资源集合
http://www.aisharing.com/ 专注AI的博客,不过有一段时间没更新了
------------Update 1------------
感谢
@sxd 和
@Finney Tang 的提醒,AI分享站的域名改成
AI分享站 了 :)
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 03:24 , Processed in 0.092317 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表