准备入坑 C++ 和 UE4,花了两天时间研究了一下,写些大概方向(也是填坑)

otis 发布于 2015年09月25日 | 更新于 2015年10月10日
清醒疯子 cnsoft 等2人欣赏。

其实也是填坑,7个月前写了两篇游戏制作之路 😂 😂😂😂😂

C++ 学习

C++ 博大精深,用途广泛,虽然现在新语言不断,好语言不少,但是 C++ 的王者地位就从来没有被撼动过,然后我认为,计算机软件方面的东西,并不是越新越好,而是历史越久的,现在也还在广泛使用的东西,通常都是成熟稳定的,都是经得起现实世界考验的!

C++ 太难学了,但是如果只针对特定领域,只学习跟特定领域相关的,我想应该会容易入门一点。我学习 C++ 的目的是为了用 UE4,所以就只针对 UE4 做优化学习了。

首先是 UE4 所使用的 C++ 版本。从 Epic Games Coding Standard 了解到 UE4 是使用 C++ 11。然后由于我已经有了一些编程经验,所以一开始只要了解 C++ 11 的语法就好。

学习 C++,我认为只要参考皓子哥的如何学好 C++ 语言就可以了。可以看到开始学的建议的书是《C++ Primer》和《C++程序设计语言》。两本书我其实都了解了一下,我觉得《C++ Primer》比较合适我。然后了解了一下这本书的中文翻译的作者,普遍觉得第三版(潘爱民翻译)比较不错,然后就决定用这一版了。唯一的问题是第三过于古老,所以是没有 C++ 11 的新特性的介绍的。然而这关系不大,再找一本书看即可。调查得知,Wikipedia 的 C++ 11 词条已经差不多可以了,网址为:https://zh.wikipedia.org/wiki/C%2B%2B11。如果还要深入一点,也找到一本:《深入理解C++11:C++11新特性解析与应用》。另外皓子哥也写了一篇 C++ 11 的博文,值得一读:http://coolshell.cn/articles/5265.html

其实我昨天和前天就是看上面所说的资料,对 C++ 11 的语法已经有了模糊的了解了。我觉得下一步应该是简单粗爆:直接撸代码!我是决定直接看 UE4 的文档开撸的。为什么不对着书里的代码撸一遍,然后才是 UE4 的文档?主要是觉得既然是针对特定领域,那么越早上手越好,然后当再回过来再看以上的资料时,就很有目的性了。如果觉得困难,或者有些语法不大清晰,再查回来就好。这样做应该也会有趣些。

注:在找资料的过程中,发现一本好书,然后竟然是公开的,大讚作者!!也在这里记一下,书名为:《C++并发编程》,作者:陈晓伟,gitbook 地址:https://www.gitbook.com/book/chenxiaowei/cpp_concurrency_in_action/details

UE4 文档

这个我大概研究了一下,我发现现在的 UE4 文档真是越来越完善了。我之前也有写过两篇文章,所以是了解过的。然后这次入坑,其实也是为了继续之前的想法。这里就随便写一下大概,当是笔记就好。

UE4 C++ 部分的文档全部都在:https://docs.unrealengine.com/latest/INT/Programming/index.html 这里了。我的计划是:

以上的东西搞完后,就试试做一个简单的游戏看看能否做出来。在过程中如果有任何知识问题随时补。

共4条回复
cnsoft 回复于 2015年10月06日

i believe i can fly.

tsiannian 回复于 2015年10月07日

也不知道楼主之前用什么来写游戏的,居然现在才开始入坑C++。其实C++没有那么难,只是大部分人自己喜欢作死,人一多了就开始花样作死。不过我还是推荐用C#和Unity,文档齐全,语法明朗,上手快。特效性能不比UE4差,事业型好点。UE4算重量级了,用的人也少,成品少,装装逼可以,真要养家糊口不太推荐。

brambles 回复于 2015年10月07日

C艹这种语言真心不难……但是真心复杂。有非常多复杂,但是毫无卵用的“高级特性”

otis 回复于 2015年10月10日

2楼 @tsiannian 的确是这样没错,到底是选择实用为先还是爱好为先,楼主之前也是想了蛮久的。最后还是选择了爱好为先,所以就不以养家糊口为目的了。然后游戏相关的东西就肯定只能先变为业余了,不然也没办法活下去不是? 当然可能 4,5 年后或更久我真的可能就以这个养家了。

关于人一多就花样作死这个,关键还是看人。C# 和 Unity 是容易点没错,引擎也是比 UE4 成熟很多, 但是 C++ 在某种程度上,并不会比 C# 难太多。 还有就像某笑话说选择和 A 女结婚而不是选择 B,C,D 等女的原因仅仅是因为 A女胸大一样,选择 UE4 也可能只需要某样喜欢就可以了,比如说画面好,比如说 UE4 是使用 C++。

3楼 @brambles 的确是真心不难。。 所以复杂的东西,用到的时候再花时间研究就是了,用不到的当然就不管了。

我会一直慢慢更新情况,看看能走到多远。。

登录 或者 注册
相关帖子