我是 C++ 方面的新手,在游戏行业工作了几个月。我希望重返这个行业,并了解一个人需要成为一名非常优秀的 C++ 程序员(主要是因为进入游戏制作行业的竞争力有多大)。我想知道是否有任何非常好的在线网站可以对此有所帮助。基本上,我正在寻找可以帮助我掌握 C++ 概念并通过练习编程示例帮助我成为一名优秀编码人员的东西。
13 回答
Scott Meyers 的书籍:《Effective C++》、《More Effective C++》和《Effective STL》对你来说绝对是必不可少的。
添加到 Andrei Alexandrescu 的“现代 C++ 设计”。
有人曾经说过,学习 C++ 需要 10 年。拥有 14 年的 C++ 经验并且仍然经常学习新事物,我会说这是真的。即使在我拥有丰富的经验之后,我也会犹豫称自己为 C++ 专家。不要指望一夜之间掌握它......你会经历许多你认为你掌握它的阶段,然后你会发现一个全新的世界(因为没有更好的术语;我相信理查德道金斯将这个过程称为“提高意识”)。我已经开始接受这些顿悟中的另一个总是在我之前,因此我为什么不称自己为专家。
也就是说,你必须练习练习练习。我将成为 Gamedev.net 的第 2 名(或第 3 名或第 4 名,无论我们现在处于什么位置)。那天我在那里度过了很多时间......
在参考资料中,有一个“初学者”部分。通读所有这些!
C++ FAQ Lite很好。你可以从那个网站学到很多东西,还有一本相关的书也很好。
Scott Meyers 的书也包含非常好的具体建议。
C++ 是一门很棒的语言,我喜欢它。它构建了快得离谱的代码。通过充分利用分析器、分析驱动优化器、模块间优化器、const 和限制关键字、MMX/SSE/向量内在函数和其他东西,它可以构建非常快的代码。
您可能会关注大型游戏公司的工作清单,并且有很多C++ 需求。
也就是说,这不是开发游戏的唯一方法。我只想介绍一些替代方案。
Microsoft 的 .NET 东西运行良好。查看他们的XNA 平台。
即使使用 Java,您也可以编写很棒的游戏。有一个Java 版本的 Quake2在我家的 Core I7 系统上的某些区域可以达到 1,000 FPS。大部分繁重的工作当然是在 OpenGL 和图形驱动程序中。
很多人都在用 Flash 编写有趣的游戏,它的语言性能比 Java 或 .NET 差得多。
我完全推荐 Brucke Eckel 的:Thinking in C++
你可以在他的网页上免费下载。
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
这应该可以帮助您掌握 C++,从那里,您可以开始阅读引擎中的代码,例如 Ogre3D,这将是一个更好的学习。
稍后,您应该查看 GameDev.net 上的书籍,它们真的很酷。但在我看来,在 GameDev 中找到的文章已经过时了。
我用这个直到今天。它包含对 C++ 语言所有特性的简洁描述。当我在网上搜索这些信息时,它的蓬勃发展超出了清晰的理解。Bjarne 在明确定义语言的所有原则方面做得非常好,这是必须的。我没有读过整本书,但我读过小节。
(还对 Effective C++、Effective STL 和Exceptional C++ (Sutter) 投了赞成票)
您应该在http://www.geometrictools.com/查看 wildmagic 。这是一个不错的游戏引擎,有很多示例代码和相关书籍。我强烈推荐它作为对 C++ 游戏引擎的深入研究。
我通过以下书籍学习了 C++(之前没有编码经验):
Brian Overland 的“C++ 无所畏惧”
《Sams 24 小时自学 C++》第四版
和
Jonathan S. Harbor 的“通过 C++ 开始游戏编程”第二版
第一个非常好,非常详细,如果阅读有点慢。第二个我主要用作参考,最后一个非常有用且易于阅读,但它经常使用“超出本书范围”这个短语。
我建议从基础开始:
C 编程语言,作者 Kernigan 和 Ritchie。通过这本书,您将比其他人更接近 C 的内部结构。然后,您可以阅读 C++ 书籍。
以上是学习C++和游戏的好建议……
如果您只是想在没有大量编程背景的情况下制作游戏,我会给您推荐软件...
您可以快速制作简单的游戏,然后学习制作严肃游戏所需的 C++ 和其他语言……
软件:
游戏制作者
游戏工厂 2
http://www.clickteam.com/eng/tgf2.php
图书
想象自己创造视频游戏,第 1 版
很棒的游戏创作:无需编程,第 3 版
在几分钟内制作出令人惊叹的游戏,第 1 版
祝你好运...