宏大主题下的自我表达:游戏开发的最佳学习路径
这段时间新搞了一个公众号,想在这上面来偶尔发点文章,以后要是有些内容不太方便(或没必要)以视频的形式发出来的时候,或许我就会偶尔这样写点文章,然后放在微信公众号上面(名称:简问游戏开发)。希望你能喜欢吧。作为这个账号的第一期文章,我思来想去想了很久,也没想出来要写什么。思索再三,在我的频道里面好像还没有出过一期,对于新手来讲,该如何去系统性的学习游戏开发相关的知识的视频。所以正好就借这个机会来写一篇文章,来给大家大概聊一下,如果说你想比较系统学习游戏开发,你将要学习哪些内容,然后大致的学习路径是什么样子的
So,enjoy
正式推荐前,在这里先说一下对于学习游戏开发的一些看法。我认为,游戏开发作为一种偏向于应用向的,实践向的内容,它和我们在学校里面学的那些系统性的课程,应该在思路上会有一些区分。我们在学校里面学一些非常理论化的体系化的知识时,我们经常会先学它底层的是什么,把是什么和为什么全部学完之后,最后再来学怎么做。这样的学习方法的好处显而易见:你可以系统性的对一个领域进行理解。如果你的未来目标是想要从事科学研究,或是想要往底层深入下去的话,可能这么一种自底向上的学习路径也是一种不错的选择。
但就我个人观点而言,我认为这么一种学习方式并不是很适合一个想要学习游戏开发的新人。道理很简单,游戏开发它是具有实践性质的、工科类的内容。理论化的学习当然也可以,但你学了很久之后才能尝试着自己做出来一些东西。如果你在学校里面,学校已经完整地帮你规划好了好几年的学习内容,那么这样来进行学习它也是十分有效的。但是这里有一个前提,就是你是在一个非常系统性的、有完整的教学大纲的、带有强制性的系统里面,比如说是学校或是一些好一点的培训班里面。如果你在这种环境,你是完全可以按照那个大纲来系统性的学习游戏开发。
但是就我的频道的观众反馈来看,大多数学游戏开发的,至少在我这个频道里面看相关内容的观众,大多数都是半路出家。他们大多数都不是在一个系统性的学习游戏开发的环境里面。而这个时候,如果说你想学习游戏开发的话,我认为更好的一个学习思路,就是先粗略学一遍。甚至你对着别人的视频,把代码完全一样敲一遍也没关系。但是最重要一点,就是你能看到,你做的那个项目在跑,那个游戏可以运行,然后你可以实现一些自己的,虽然很微小,但是确实按照自己的想法设计出来的小创意、小玩法。我觉得对于一个学习游戏开发的人来讲,这是非常重要的。即学习游戏开发的知识,应该是先了解这个东西怎么用?然后慢慢的,等你的项目(游戏)完整的走了一遍短流程之后,你再去学习具体的每一部分。
第一阶段
我认为每一个想学习游戏开发的人,都应该直接从unity开始学习,并且最好不是那种系统性的游戏引擎的课程,最好是那种视频时长可能比较短,但是你跟着他那个流程来自己敲一遍代码、你就可以自己做出来一些内容。这样子教程是最好的。但目前就我来看的话,在国内这块的教程还比较少,国内的大多数的教程都是你需要把很多内容学完之后,最后才能敲出来一些东西。但是在国外的话情况则要好些,有一些比较好的教程,像是油管上的Brackeys,他有一个系列课程,这个系列视频就是只有十期视频,但是你只要跟着他那个视频来敲你就可以完整的做出一款游戏
B站上好像也有些搬运来的,建议英语稍微好点的还是看Youtube上的
但这样子的视频目前在国内就比较少。所以权衡之下,如果你英语好,直接去Youtube上看上面推荐的那个老哥的【VideoGame】系列视频,把这个系列看完后再看他的【RPGGame】系列视频。如果你能跟着做完这两个部分的内容,基本上你也就对游戏开发有了大致的掌握。
国外:
https://www.youtube.com/c/Brackeys/videos
最好的游戏开发教程,没有之一
最好的Unity入门课程:
https://www.youtube.com/watch?v=j48LtUkZRjU&list=PLPV2KyIb3jR5QFsefuO2RlAgWEz6EvVi6
RPG系列:
https://www.youtube.com/watch?v=nu5nyrB9U_o&list=PLPV2KyIb3jR4KLGCCAciWQ5qHudKtYeP7
FPS系列:
https://www.youtube.com/watch?v=UK57qdq_lak&list=PLPV2KyIb3jR5PhGqsO7G4PsbEC_Al-kPZ
国内的话目前没有像上面推荐的Youtube那样,特别合适新手入门的,但是也有一些还不错,可以给大家推荐下
Unity路线
基础知识入门:
BV:BV1fL4y1Y73r
推荐UP主:NeilianAryan
2D开发入门:
BV号:BV1W4411Z7UC
推荐UP主:M_Studio
3D开发入门:
BV号:BV1B7411L74W
推荐UP主:夏村散人韩老师
C#语言入门:
BV号:BV1jP4y137Zy
推荐UP主:简问游戏开发
虚幻引擎教程:
BV号:BV164411Y732
推荐UP主:堪嘉诚
上面推荐的视频都是我个人认为做的比较好的,就当作给我的同行们打波广告了
第二阶段
然后在大概的跟着教程做了一个小项目之后,这个时候就进入了我认为游戏开发学习的下一个阶段,这个阶段是去逐个击破我们游戏开发所用的系统知识里面的每一个部分,而且这些部分你都可以分开来学。比如说你在学游戏开发的时候会有几个比较大的部分,像是UI系统(这块强烈推荐我的视频,个人认为是全网能找到的免费视频里面最全的了)、音频系统、动画系统、特效系统。这些东西它都是具有一定独立性,你可以分别来进行学习。而且这一块内容的学习,你完全不需要一直跟着一个系统性的课程,你完全可以找一堆长系列视频,然后横向比较,左右横跳,选择你自己听的比较习惯的或者喜欢的视频。
不过用这种方法来学习会有些小问题,最大的问题就是它相比于你一直跟着一个系统化的教程,这种学习方式它的不确定性更高。比如说,我刚刚在上面写的,你可以自己来选择两个或者三个同样是讲动画系统部分的视频,然后来看这块内容。这个时候这种路径(或者说学习方法)就会有一个不稳定的地方,就是我要找多少个这样的视频,然后去哪找?有没有一个固定的流程?
因为我自己现在一直在频道里面做游戏开发的视频,所以说我当在做某一个部分的视频,比如说我在讲ui系统的时候,我就会去网上看一看,现在目前市面上面讲某一个部分的视频,他们都讲的怎么样。所以我在看完了很多别人在做不同部分的内容的时候,其实也大概能观感受到到,就是目前在b站上面,基本上每一个细分的部分都能找到比较好的教程。
这里我可以给大家推荐一下关于这块学习的一个大概流程。其实实操起来也很简单,你可以先收藏几个大的系列视频
随便找几个比较长的系列即可
然后再把它们收藏到收藏夹里面,当你要看某个部分的时候,你就只需要去这不同的系列视频里面去找,听一下讲课的风格怎么样,感觉还可以的就可以按照这个进行观看。然后在看完了一些基础的知识后,你就可以来看看官方的文档,给自己的知识来个查漏补缺。当你每一个部分都按照这个的方式学完后,基础知识也就掌握的很扎实了。
第三阶段
在你经历了这两个阶段的学习之后,这个时候其实你已经就具备了大部分的开发的基础能力。你已经可以自己来试着做一款游戏,当然,美术你可能得用别人现成资源。但是你可以根据你现在学的东西,很快速的来自己来做一个简单的游戏,并且这个游戏会具有完整的不同的部分。然后当我写到这个部分的时候,其实关于下一个阶段的学习方向就会有很多的分叉路口了。
而在这不同的分岔路口中,经常会看到有人会做出这样的选择:做六边形战士。如果说你想自己一个人完成整个独立游戏的开发,你可能会开始学一些建模,开始学音乐制作,学平面设计,学游戏策划等等这样子的一些和你目前所接触知识不大一样的内容。因为如果你想独立的开发一款游戏出来的话,那这么一些东西你都是需要进行学习和了解的。但是我个人觉得,除非你真的只是对自己开发一款独立游戏这样子的行为比较感兴趣的话,大多数的人,我认为都应该在学习完游戏开发一些基础的知识之后,选择性的进行深入的学习,而不是宽泛的了解。这也是很多人在学习计算机的相关的知识的时候经常进入的一个误区,就是很多人刚开始学编程、开始学计算机的时候,认为学计算机就是学编程语言。对每个编程语言都了解一点,把时间都花在了学这些语言和各种各样的工具上面。而不是在选择了一两门语言或者是一个工具之后,去深入的进行学习。游戏开发也是这样子。
这里还是再说明,如果你就是想自己一个人开发独立游戏的话,那你当然可以这样选择,毕竟这就是你的兴趣爱好。但是对于大多数人,如果说你是以后是想从事游戏行业的话,那我个人认为你在学习完了基础知识之后,这个时候你更应该进行的,是一些你之前在开发时候经常用到的、但是又不知甚解的一些更为底层的知识。这种学习的思路,我认为他的长期效应会更加的明显。而这也就是我接下来推荐的第三阶段的学习了:图形学
为什么在第三阶段推荐大家去学图形学的内容?这个道理也很简单,我们现在在进行游戏开发的时候,我们会每天和各种各样图形打交道。这些图形、画面,他是如何展现在面前的?它们背后的工作原理、底层的工作机制是什么样子的?这些东西如果你不了解,你在很些时候也可以实现某一个功能、通过用一些现成的工具。但是如果说你想更深入的,来做一些更加具有创造性的、而不是简单的使用工具,来做一些被别人限制了功能和画面的内容的话,这个时候你就需要更加底层的来学习这些和图形相关的内容。
关于图形学这块的课程,目前国内最好的毫无疑问就是games101的课程了。然后目前在我的频道里面,也一直在更新一些相关的内容。如果你想学的比较深入的话,个人建议你去看一看games101的课。而如果说你不想在图形学上画的时间太多,想花更多的时间在游戏开发的本职内容上面话,个人建议你可以考看看目前我正在频道里面更新的【游戏开发的底层路线】。这个系列视频内容既包括了图形学,还有OpenGL和游戏引擎的知识(不过还在更新)。
注:这篇文章里面推荐的视频全部都是免费的,你可以直接搜索它的名称或者输入对应的BV号进行收藏以及观看。并且我和被我推荐的视频的制作者之间没有利益关系,并不是给谁打广告,只是我认为某块内容讲的不错才给大家推荐。(其实也算给自己视频做了波安利吧,不过我是真心认为我的课质量还不错:)
games101:
BV号:BV1X7411F744
游戏开发底层原理:
BV号:BV18S4y1k7wY
然后在你学习完了图形学的基础知识之后,这个时候你就可以开始往更有挑战,但是也更有意思的部分进行学习了。其实如果说你只想进行游戏开发的话,你能把第一阶段和第二阶段学完也就可以了。第三阶段和第四阶段所推荐的事情,其实都不是必需的。只是如果说你想进行更底层深入学习的话,你可以这样子的方式来进行学习。
第四阶段
到了第四阶段之后,你的学习内容就可以往更具体的游戏引擎的底层原理和架构来进行学习。而关于这一块的学习,中文世界的资料相比之下就显得非常的少了。
在国外这块的内容比较多,有很多比较好的大学还专门开设了游戏引擎的课程。但是在国内,目前我没有看到一个比较系统性的讲这块的知识的课程。(有几本书在国外比较有名,并且翻译成了中文,到时候也会作为我们讲解游戏开发底层原理路线视频的前期的参考书)
并且在国外,这样的讲解游戏引擎知识的视频资源也很多。你甚至可以在油管上面找到油管主自己从零开始手撸一个游戏引擎的全程视频。
但是这样子的视频,在国内就基本上看不到。总之就是目前来讲,如果说你想深入的去学习一下游戏引擎的内容的话,最合适的方法就是看书,视频的资源就没啥可以推荐的。
并且当你涉及到游戏引擎的知识之后,这个时候你的基本功就显得尤为重要了。像是操作系统,数据结构,设计模式,线性代数等等,这些东西学的怎么样,将会直接影响你学习这块知识时的速度与知识的吸收。因为到这个阶段,其实你拼的就不是单纯的业务能力和问题解决能力,而是你对于整个系统以及计算机甚至于数学的理解。换言之,拼的是系统性思维。
但这也不意味着如果你没学过这些东西就不能来进行这块的学习。这块的学习还是有些路径可以参考的,大致的流程其实也有些大的框架,这里拿一个外网上看到的学习路径给大家分享下(原文链接:https://www.haroldserrano.com/blog/how-to-become-a-game-engine-developer)
第一步:学习线性代数
首先,学习线性代数。不,我不是指中学教的代数。我的意思是线性代数的概念,比如向量和矩阵。重点学习向量和矩阵的运算,特别是点积,叉积,空间变换。
Step 1: Learn Linear Algebra
First, learn Linear Algebra. No, I don't mean Algebra taught in middle school. I mean Linear Algebra concepts such as Vectors and Matrices. Focus on learning vector and matrices operations, especially dot product, cross product, space transformations.
第二步:学习c++(或任何你想学的语言)
接下来,学习如何编程。我建议学习c++。在这一点上,您不必是编程方面的专家。但是要学习类、方法、继承、多态性和封装。
PS:在这补充下,C++的学习能不能学好,其实主要还是和你对计算机学科的理解程度有关。学C++就是学计算机科学,至于具体的语法,像是类,多态,泛型,那个其实学的很快。难得还是在于对计算机工作方式的理解。
Step 2: Learn C++ (or any language you want)
Next, learn how to program. I suggest learning C++. At this point, you don't have to be an expert in coding. But do learn about classes, methods, inheritance, polymorphism and encapsulation.
第三步:开发一个数学引擎
然后,使用向量、矩阵和编码的知识来开发一个数学引擎。点积、外积和空间变换等操作在游戏引擎开发中被广泛使用。
PS:其实你也可以用现成的
Step 3: Develop a Math Engine
Then, use your knowledge of vectors, matrices, and coding to develop a math engine. Operations such as Dot product, cross product and space transformation are used extensively in game engine development.
第四步:学习计算机图形学
下面是有趣的部分。熟悉计算机图形学的概念,特别是渲染管道和着色器。暂时避免编码和使用OpenGL API。如果您对计算机图形学的概念了解有限,那么OpenGL API是很难理解的。
PS:个人认为图形学可以和OpenGL一起学。一边学概念,一边把概念变成实际可以看到的东西,这难道不是一件很爽的事情吗:)
Step 4: Learn Computer Graphics
Now comes the fun part. Get acquainted with Computer Graphics concepts, especially the Rendering Pipeline and Shaders. Avoid coding and using the OpenGL API for now. The OpenGL API is confusing to understand if you have limited knowledge of computer graphics concepts.
第五步:学习OpenGL,做很多项目
一旦你对计算机图形学的概念感到了解后,就应该来学习关于OpenGL的 API以及OpenGL着色器。做尽可能多的项目。学习如何渲染字符,如何旋转和翻译字符。学习如何使用OpenGL进行纹理和照明。再说一遍,这是有趣的部分,我建议你做尽可能多的项目。
PS:上面推荐的EA小哥,他的OpenGL系列就很不错,推荐大家看看。如果英文不是很好的话,可以看learnopengl-cn
另外,红宝书不建议看,建议当字典来查
Step 5: Learn OpenGL and do a lot of projects
Once you feel comfortable with Computer Graphics concepts, learn about the OpenGL API and OpenGL Shaders. Do as many projects as possible. Learn how to render characters, how to rotate and translate characters. Learn how texturing and lighting works with OpenGL.Again, this is the fun part, and I suggest doing as many projects as you can.
步骤6:学习设计模式
成为游戏引擎开发者的下一步是学习API架构。游戏引擎只是一个API,一个框架,它负责所有的渲染,物理和数学操作。开发模块化、灵活、可维护和适应性强的API是至关重要的。
Step 6: Learn Design Patterns
The next step to becoming a game engine developer is to learn API architecture. A game engine is simply an API, a framework, that takes care of all the rendering, physics and mathematical operations. It is paramount that you develop an API that is modular, flexible, maintainable and adaptable.
要开发一个API,你需要学习设计模式。最常见的设计模式有单例模式、观察者模式、策略模式、复合模式、工厂模式等等。
To develop an API, you will need to learn Design Patterns. The most common design patterns are Singleton, Observer, Strategy, Composite, Factory among others.
PS:其实具体的什么模式,像是抽象工厂,观察者模式这些,我个人认为还不是最重要的。最重要的其实是学习面向对象的思想,像是发现系统的变化点,封装变化点,建立系统中稳定的部分。这样思想层面的东西比具体的模式更重要
步骤7:开发渲染引擎
在这个阶段,你已经准备好结合你的线性代数,计算机图形学,OpenGL和设计模式的知识来开发一个渲染引擎。
Step 7: Develop a Rendering Engine
At this stage, you are ready to combine your knowledge of Linear Algebra, Computer Graphics, OpenGL and Design Patterns to develop a rendering engine.
第八步:复习牛顿运动定律
一旦你完成了渲染引擎,就该着手引擎最困难的部分了,也就是物理引擎。
好消息是,你不需要成为一名物理学家来开发物理引擎,但你需要知道牛顿运动定律,以及如何使用龙格-库塔算法等算法来实现它们。
Step 8: Review Newton's Laws of Motion
Once you have completed the rendering engine, is time to work on the hardest part of the engine, i.e., the Physics Engine.
The good news is that you don't need to be a physicist to develop a Physics Engine, but you do need to know Newton's Laws of Motion and how they are implemented using algorithms such as the Runge-Kutta algorithm.
第九步:学习计算几何算法
如果没有碰撞检测,游戏引擎就不是游戏引擎。要开发碰撞检测系统,您需要学习计算几何算法,如GJK、BVH和Sutherland-Hodgman。这些算法用于检测是否发生了碰撞,碰撞发生在哪里,以及哪些物体最有可能发生碰撞。
Step 9: Learn Computational Geometry Algorithms
A game engine is not a game engine without collision detection. To develop a collision detection system, you need to learn about Computation Geometry algorithms such as GJK, BVH, and Sutherland-Hodgman. These algorithms are used to detect if a collision occurred, where did it occur and which objects are most likely to collide.
PS:其实看到这你也就能理解了,为什么说学游戏引擎是一个系统性的思维,因为你只会某个部分的工具是完全不够的。
步骤10:开发物理引擎
一旦你熟悉了上面提到的算法,你就应该能够开发一个带有碰撞检测系统的物理引擎了。
Step 10: Develop a Physics Engine
Once you are acquainted with the algorithms mentioned above, you should be able to develop a physics engine with a collision detection system.
步骤11:开发游戏引擎,测试和重复
恭喜你,你现在拥有了一个游戏引擎。开发尽可能多的游戏,尽可能多地测试游戏引擎。修复漏洞,执行新功能,开发游戏,然后重复。相信我;这是最好的部分。
Step 11: Develop a game, Test & Repeat
Congratulations, you now have a Game Engine. Develop as many games as you can and test the game engine as much as possible. Fix bugs, implement new features, develop games and repeat. Trust me; this is the best part of all.
翻译完毕,有些地方翻的不好还请见谅:)
看完这一堆,是不是感觉内心已经是崩溃的了?我就想稍微了解下游戏引擎,你怎么给我推了这么多东西?上面的这个路径主要是给大家参考的,事实上,除非你是以后打算进行开发游戏引擎的话,上面这些东西你都不需要深入的学习,尤其是如果你只是想大概的了解一下游戏引擎的话,推荐大家可以看看这本书
而且这本书的第二版还翻译成了中文,而且翻译的质量还出奇的高,非常推荐大家阅读
这本书就是简略的把游戏引擎的各个部分都做出了简短的介绍,虽然讲的不深,但可以让你对游戏引擎可以有一个整体性的理解。如果你是想往更深入的游戏引擎的方向去发展的话,上述的路线可以进行一些参考。但如果你只是想开发游戏的话,学习阶段看下这本书,大概的了解了解也就可以了。以后工作了、用到后再去专门学更深入的内容。
在你把游戏引擎这块的知识学习之后,我认为作为一个游戏开发者,已经具备了完整的、系统性的知识。这个时候你就更应该去聚焦于如何提高自己游戏开发的效率,总结具体的经验,然后来实际做些东西,而不是花更多时间来进行学习。另外在我的频道的观众当中经常有这么一些声音,留言说他想学习游戏开发,想自己做出来一款独立游戏。然后当他们开始了解到一些关于游戏开发的知识之后,就经常陷入迷茫,也是我刚刚在讲第三阶段前说的那些内容:想要完整的做一款游戏,你需要懂美术,懂音乐,需要懂绘画,需要懂编程,需要懂游戏引擎。突然感觉前面的高山无法跨越,感觉这是永远都无法跨过去的坎,然后就开始试着逼自己,学的越来越宽泛,但最后啥都没学成。
然后关于这块,我自己也有些想法。如果你只是一个人,或者说几个人,你想开发独立游戏的话,我觉得这个也是完全可行的。然后你说你想学的宽泛一点,你想大概的了解一些建模音乐相关的知识,其实也是可以的(我自己也这么干过:)但如果说你的目标是想开发一款独立游戏的话,其实你得先思考一下这么一个问题:一款独立游戏,他能够称之为是独立游戏,它相比于那些大厂的游戏,它们之前的差别在哪?
这个问题很重要。首先,如果你拼体量,拼金钱,肯定拼不过那些大厂的。他们在人力时间资金上面都可以完全碾压一个小型工作室。那这个时候,你作为一个独立的开发者,你想要快速的开发出来一款游戏的话,你的开发的思路应该和大厂不一样。一款独立游戏能够成功,不是因为它各个部分都很优秀,而只是因为它当中有一两个部分很有特点。这个特点不一定是优秀(这里的优秀指的是技术上的水平高),但它就是很有特点,然后其他的部分又能够有及格线水平。其实能有这样子也就可以了。
比如说你现在这个游戏的重点是在它的玩法,那这个时候美术资源要是你能找现成的,那你就应该尽量用现成的。如果说你这款游戏的重点在于它的剧情和音乐,那剧情和音乐这块就应该是重点深耕的部分。至于其他部分的内容,应该是能过关就行。总而言之也就是一句话:你应该根据你自己的实际情况,根据你自己现在会的东西来思考,你能做出来的东西。并且在这些东西当中,有哪些部分东西是你最擅长的。你把这部分东西给他找出来,然后再把这些内容进行深度的探索,其他部分你只要简单的了解就可以了。因为说到底,做独立游戏,创意和特点本身才是最重要的。而那些其他的所有部分的知识,都应该是简单的、宽泛的了解。
现在网上相关的资源也越来越多,其实你很多想实现的想法,当中不关键的部分你都可以在网上找到现成的资源。而这个时候,重要的不是说你用了别人东西之后,做出来一款和别人一样游戏。重点在于:你通过这样行为来减少你花费在不必要的事情上的时间。因为作为一款独立游戏开发者,最重要的且唯一重要的,就是那个创意性的行为本身。
并且随着现在网上相关的资源越来越多,游戏开发的教程质量越来越高,在未来,做游戏它有可能会变成一种新兴的、个人表达自我的一种方式。虽然目前市场大环境是不看好独立游戏,不看好个人开发,对于这点我也不否认。但关于这么一件事情,其实我更多关注的是它的另外一个层面:开发游戏它有可能成为一种新颖的自我表达形式
在古希腊的美学中认为美有三方面的作用:陶冶(catharsis),美感(aesthesis)和创造(poiesis)。陶冶指的是一个艺术作品的社会性,比如通过卡夫卡小说对社会的深刻认识与观察。美感指的是人的情感体验,即我们在听一首歌、看一篇散文的时候,人对于某些现象感受到的思想与情感变化。而创造指的是艺术家在进行艺术创造时,个人的思想释放。一种艺术作品,如果它在形式上面能具有这三种特点,也就可以说其是好的艺术形式。随着未来游戏开发的相关的资源越来越多,开发的难度越来越低,或许在未来,开发游戏可以成为目前所有的艺术形式中,最适合同时表达这几个因素的一种形式。并且重要的是,随着游戏开发行业的继续发展,个人开发的难度逐渐的降低,在未来有可能就会迎来那么一天:每一个人都可以通过游戏引擎,通过类似的这样子的平台,来快速的表达自己的思想、自己的想法,将其注入到自己的游戏当中,就像过去的人写文章、写诗、拍电影一样。然后,每一个人都可以互相下载对方做的游戏,来感受别人的想法、别人的创意。如果在未来真的有那么一天,游戏开发,这么一个在外人看来可能很陌生的、很难以进入的行业,它能把难度降低到这个水平的话,游戏它距离第九艺术也就不远了。
我很喜欢游戏,也很喜欢玩游戏,从小就玩很多的3a大作,像是上古卷轴,像是神秘海域,像是战地,这些都是我的生活中非常精彩的一部分。它其实已经构成了我的人生故事的一部分,只不过这一部分故事,它和我的其他部分有点不大一样。在我的人生当中,大部分故事都是发生在真实的世界里面。它具有真实的人物情感,具有真实的世界经验。但是这并不代表着,我现在在虚拟世界里的这一部分经验,它和真实的世界相比就是毫无存在的意义。相反,有些时候,因为这个虚拟的世界里面的剧情或世界本身,它构造的合理、或者是这个故事本身的跌宕起伏,它有时候可以创造出比真实世界更为强大的意义和价值。这也是我自己对游戏的感觉,我可以通过游戏、通过第九艺术的方式,来以一种完全不同的形式来和这个世界进行交互。来看这个世界,来了解这个世界。
游戏的世界,它是一个完全抽象的世界,正如计算机一样。计算机把我们的底层硬件往上一层层的抽象,最后抽象到了我们的软件层、应用层,跟我们用户进行交互。游戏也是这样子,它把一堆我们在真实世界里的材料进行抽象,不断的抽象,最后构成了一堆我们在屏幕中所看到事物。虽然现在的游戏越来越精细,游戏里的AI越来越真实,但是它终归还是对于我们现实世界的一种另类表达。而作为这么一种抽象的世界,当我们在这个世界里面进行体验、进行观看、进行思想的释放的时候,这种行为本身,它也就构成一种艺术行为了。我从来不认为,游戏会替代我们的现实世界,就和虚拟现实与元宇宙一样。只要它还是由我们人类所创造、构建出来的世界,那么它就永远不会离开我们真实世界。
所以有时候我就会想,或许等过了40年、50年之后,等我老的动不了,当我只能躺在床上的时候,这个时候,如果我眼前有台电脑(或者说那个时候可能开始用了一些头戴设备?),我或许可以坐在我的床上,或者说是站在什么地方,我可以下载别人的游戏,或者是打开我的Unity2077(虚幻99)?来把我的想法,把我的观点,用一种数字化的、可交互式的形式展现出来。当我们能够通过这种方式,来体验别人的世界,体验这个抽象的世界,就像是黑客帝国或者头号玩家一样,遨游在虚拟的世界里时,其实想一想,还是蛮让人激动的。
而这也是我喜欢游戏开发的原因吧。
也希望看到这篇文章的你,也能找到适合自己的学习方法,去从事、参与游戏开发。虽然目前中国整体的游戏开发氛围和国外相比还是有比较大的差距,但未来肯定是会变好的。希望学成之后的你能够做出伟大的作品,或许在未来,在中国人自己制作的3A大作的制作人名单中,就会有你的名字。
最后,我们频道推出的2023新年实战系统课程正在售卖,不管你是零基础想从事游戏开发,还是对游戏开发有兴趣者,都可以享受最为系统性的学习路径。
前三十名购买者可以享受300元优惠。仅需799.
需要者可以扫码咨询。
欢迎你关注我的公众号,未来我也会在公众号中更新一些像于这样的长文,作为对视频的补充,希望你能喜欢这种形式:)
页:
[1]