学习游戏编程C++的资源

4

我是一名相对新手的C++程序员,已经在游戏行业工作了几个月。我希望重新进入这个行业,并且知道为了进入游戏制作领域,需要成为一个非常优秀的C++程序员(主要是因为竞争非常激烈)。我想知道是否有任何非常好的在线网站可以帮助我达到这个目标。基本上,我正在寻找一些可以帮助我掌握C++概念并通过编程实例练习成为一名优秀的编码者的东西。


可能是《C++ 书单指南》的重复内容。 - Lightness Races in Orbit
13个回答

18

Scott Meyers的书籍:"Effective C++","More Effective C++"和"Effective STL"对您来说绝对是必备的。

再加上Andrei Alexandrescu的"Modern C++ Design"。


11

有人曾说,学习C++需要10年的时间。我已经有14年的C++经验,并且仍在定期学习新事物,我可以说这是真的。即使拥有丰富的经验,我也不敢自称为C++专家。不要指望一夜之间掌握它......你会通过许多阶段,认为自己已经理解了,但接着你会发现一个全新的世界(用“觉醒”这个术语可能更妥当;我相信理查德·道金斯将这个过程称为“意识提高”)。我已经接受了一个事实,就是我的另一个领悟永远在前方,所以我不称自己为专家。

话虽如此,你必须不断地练习。我赞同(或者说第二、第三、第四次赞同)去Gamedev.net。我曾经花了很多时间在那里...


1
哦,是啊。每当你认为自己已经全知全能时,总会出现一个新的 bug。一旦你解决了它,你就会意识到以前的自己有多糟糕。这个过程将无限继续。 :) - Zan Lynx

8

GameDev.net.

在资源中,有一个“初学者”部分。请仔细阅读所有内容!


6

C++ FAQ Lite 是一个很好的网站。你可以从中学到很多东西,还有一本相关的书也很不错。

Scott Meyers 的书也包含了非常好的具体建议。


5

C++是一种很棒的语言,我非常喜欢它。它能够构建出极快的代码,并且通过良好使用分析器、基于分析结果的优化器、模块内优化器、const和restrict关键字、MMX/SSE/向量指令集以及其他技术,可以构建出非常快速的代码。

你可能已经注意到了一些大型游戏公司发布的职位列表,而C++需求非常高。

然而,这并不是开发游戏的唯一方式。我想介绍一些替代方案。

微软的.NET技术也非常实用。可以尝试他们的XNA平台

即使使用Java,你也可以编写出非常棒的游戏。比如Quake2 Java版在我家里的Core I7系统中某些区域可以达到1,000帧每秒。当然,大部分的重活仍然在OpenGL和显卡驱动程序方面。

许多人正在使用Flash编写有趣的游戏,尽管其性能不如Java或.NET。


4
我完全推荐 Bruce Eckel 的《Thinking in C++》。你可以在他的网站免费下载。

http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

那应该可以帮助您掌握C ++,从那里开始,您可以开始阅读引擎的代码,例如Ogre3D,这将是更好的学习方式。
稍后,您应该查看GameDev.net的书籍,它们非常酷。但在我看来,GameDev中发现的文章已经过时了。

如果我今天没有达到限制,我会点赞你的。作为程序员进一步发展自己的最佳方式是阅读他人的代码。如果在此过程中贡献开源项目,这也可以转化为简历上的优势。 - marr75

2

除了游戏编程宝典,还有图形宝典系列可以学习所使用引擎的底层算法,或者如果你想自己制作引擎也可以参考。此外,GPU宝典系列可以教授如何为特定任务/优化编写GPU程序。 - Emile Vrijdags

2

如果您想重新进入并享受乐趣,可以通过学习Nehe's OpenGL教程或使用更高级的游戏框架,例如IrrlichtOgre3D


1
你应该查看wildmagic,网址为http://www.geometrictools.com/。 这是一个很好的游戏引擎,有很多示例代码和相关书籍。 我强烈推荐它作为对C ++游戏引擎的深入研究。

使用Wild Magic 1、2和3几年后,我并不完全同意。这些引擎非常擅长展示所涉及概念的数学原理,但通常表现出极其糟糕的软件设计和实现原则。 - ChrisV

1

我没有任何编程经验,但通过以下书籍学习了C++:

Brian Overland的《C++ Without Fear》

第四版的《Sams Teach Yourself C++ in 24 Hours》

以及Jonathan S. Harbour的《Beginning Game Programming through C++》第二版

第一本书非常好,内容详细,但阅读速度有点慢。第二本书我主要用作参考,最后一本书非常有用且阅读速度快,但它经常使用“超出本书范围”的短语。


《C++ Without Fear》是一本不错的书,但它没有涉及STL(完全没有),而且它关于字符串的章节侧重于cstrings而不是string类std::string。除此之外,这是一个可靠的选择。 - jkeys
个人而言,我倾向于颤抖并远离任何声称在短时间内教你某些东西的书籍。 - David Thornley
1
我也从《24小时自学C++》中学到了东西。偶尔我还会用它作为参考。我认为这是一个相当不错的入门教程,但其中有一些非常糟糕的实践方法。任何阅读此书的人都必须立即跟进一本关于最佳实践的书籍。 - rmeador

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接