欢迎光临散文网 会员登陆 & 注册

Unity学习笔记 Vol.88 游戏开发怎么学习

2021-11-09 22:06 作者:NXL2  | 我要投稿

转载于YouTube

博主:Game Maker's Toolkit(游戏设计工具箱)

    首先我需要学习如何制作电子游戏,这需要很大的努力也是很大的挑战,所以,相信我所说的,整个游戏制作带给我的挑战,几乎在它真正开始之前就已经结束了,让我告诉你发生了什么。

    首先让我们后退一步,因为我要做的第一件事是选择一个游戏引擎,游戏引擎至少在这个例子中是游戏引擎至少在这个例子中是。一款帮助你制作游戏的软件通过处理游戏开发中困难和无聊的内容,比如让图像呈现在屏幕上面适配各种控制器进行物理计算以及更多更重要的是他们有许多非常方便的工具,这是专门为你想在游戏中做的事情设计的,如动画和UI。现在有很多游戏引擎我的意思是最流行的是 Unity、虚幻引擎、 Godot,Pico8、 Game maker、 Construct,另外还有针对特定游戏类型的游戏引擎,比如 Twine、 RPG Maker和 Adventure game studio,甚至有的游戏引擎是为特定的生态系统而生的,比如给 Switch做开发的 Game Builder garage,PS4的 Dream,以及为 Roblox平台而生的 Roblox,每一个都有优点和缺点有真爱粉也有黑子,但最终,我只能选一个,所以最后我决定选择Unity,我选择 Unity有很多原因,它似乎在强大和相对容易学"之间取得了很好的平衡,这很好因为虽然我计划自己制作的第一款游戏是2D的,但我可能会想做3D的,这意味着我不需要学习新引擎,此外 Unity几乎支持市面上所有的平台,所以如果我想将自己的游戏放到PS5上运行,这在技术上是可行的,这在经济上是合理的。但是使我选用Unty的最有力的论据,是它的流行程度,Unity开发了很多游戏比如《空洞骑士》,以及《茶杯头》、《糖豆人》,以及《胡闹厨房》、《都市:天际线》,以及《炉石传说》,它是目前 steam上最受欢迎的游戏引擎,在我们最近的 GMTK Game jam中,更多的人使用 Unity来制作他们的游戏,超过了其他游戏引擎用户的总和,这种流行程度对我来说非常重要,因为这意味着有更多的人来帮助我学习它,有更多的教程更多的资源,更多的资源更多的插件,有更多的人可供我陷入困境时求助,例如有很多人在GMTK聊天群,他们精通如何使用 Unity,而且我认识一些经验丰富的 Unity用户,如来自Blackthorn Prod的Noa,以及来自 Mix and jam的 Andre,当然的他们都能够帮助我走岀困境,那真的很糟糕。

    好的这就是我的决定,抱歉 Godot.男孩儿们,这都是关于 Unity的,第一步完成选择一个游戏引擎,现在开始第二步,学会如何使用它,这是磨砺之路的开始,所以就像我说的有很多关于 Unity的教程,这正是当我刚开始学习的时候我想要使用的,我上 Youtube输入了"Unity教程",然后找到了一群看起来就很懂的人,他们可以教我如何使用这个软件,所以他们教我如何制作游戏,我也兢兢业业的跟着做了,每次他们点击方框的时候,我也点击屏幕上的这个方框,每当他们输入一行代码的时候,我也输入同样的代码,不久之后我便拥有了一款在我的电脑上可行的游戏,这非常令人兴奋。但几周后,我决定打开一个空白的 Unity项目,看看我学到了什么,然而答案是什么都没学会,就像他们说过的所有东西从左耳进又从右耳出来了,我甚至不能让一个角色出现在屏幕上并四处走动这简直太可怕了,最终是我自己的错。你们还记得我做过的关于策略类游戏的教程视频吗?提到了这有一些箭头上面写着“点击这里”、“点击那里“,其实他们在教学方面根本没有效果,但是我学习Unity的时候就完全这样做的,我就一个反面教材我好像自己耍了自己,但说实话这真的很让人泄气,我真的感觉到了自己就像个白痴,就像我浪费了几周的时间,而我都不知道我是否是游戏开发的料。就像我甚至不能观看教程并理解其中的內容的话,也许我天生就不是干这行的料,也许我应该坚持我已经掌握的,我是说这都是几个月前的事了,我本来打算做我现在正在做的这个系列的,在那时候我想也许我应该取消它,这太糟糕了这太可怕了,但后来我想到了 Adobe premiere,这是我用来制作这个频道所有视频的软件,并且这是一个非常复杂的软件,但我知道如何使用它,并且我用的还不错,那么我是如何学习 Premiere的呢,当我还在口袋游戏公司( Pocket gamer)工作的时候,我们必须做这些非常基本的视频测评工作,所以一个同事教了我 Adobe Premiere的基本知识,就是你需要制作视频的绝对基础的知识,如何导入视频片段,将它们放到时间轴上,应用基本的转场,并将它们导出到 Youtube,然后我必须自己做几十个这样的视频测评,所以我必须一遍又一遍地重复这些基本步骤,因为它们慢慢地曼延到我的大脑,然后,我创立了“游戏制作工具箱”频道,在那个时候我想给视频添加更多有趣的东西,我想添加蒙版、颜色、文字、转场和运动图形以及所有有趣的东西,其实这些东西本来很难学,但我确立了两件事,第一我不需要一下子学完所有的东西,只要我每次制作视频时至少尝试一件新东西,这样我就能慢慢积累自己的特效技能和知识,第二因为我做过那些视频测评,我变得对 premiere非常熟悉,我对软件使用的感觉很舒服了,所以每当我想尝试新东西的时候,我觉得我可以尝试和探索,或者至少我知道我应该去谷歌输入什么来得到我需要的答案,所以最终,我遵循了一个非常漂亮的三步法来学习 Premiere,第一步学习基本知识不要更多,第二步通过重复和简单的项目来熟悉这些基本知识,然后第三步慢慢地构建一系列工具,就像我在 premiere中不断构建构建构建的软件知识库一样,这显然对我很有效,我知道怎么用 premiere,现在我可以在软件里做任何我想做的事,我想我明白了为什么它会起作用。你看制作视频通常是因为有一些想法,比如,如果我现在有—个VHS风格(老录像机暂停风格)不是很酷吗,然后我需要弄清楚如何实现这个想法,比如我要如何让帧暂停,然后我应该使用什么效果达到视频刷新撕裂效果,然后我怎么让这条线向下滚动划过屏幕呢,如果你想一下我可以有无数的想法,所以从物理上讲不可能开始的时候学会如何解决所有的问题,但我能学到的是熟悉我的工具,所以当这些新想法突然跳出来的时候,对于软件我既有信心又有手段可以在探索的时候把事情弄清楚,因为我已经了解软件是如何工作的了。所以,我知道问题在哪里并且我知道在谷歌用什么词来搜索它,或者我知道如何向别人寻求帮助,这听起来不太像游戏开发对吧,你有无限多的想法可能突然冒出来,而你不可能学会所有的想法。

    所以你真正能做的就是去构建熟悉你的工具,因此当这些问题出现时你将有一些解决方案,也许我可以总结下我的学习“三步法”,基础->熟悉->实践,然后把它应用给 Unity,听起来是个像样的计划我们试一试吧。

    幸运的是在游戏开发方面我并不是从零开始,我熟悉编程的基本原理,至少我在推特的个人资料中这么写,所以我知道f语句、循环和函数之类的内容,而 且我也接触过Game Maker,所以我知道游戏引擎是如何工作的差不多吧,但我确实需要了解Unity本身是如何运作的,所以从最基本的开始比如它的UI是什么,以及我应该点击什么、键盘快捷键是什么之类的吧,我还需要从概念上理解 Unity是如何运作的,比如 Unity是围绕“游戏对象”运行的,Unity中的一切都是游戏对象,除非你从根本上理解了它是什么,否则你不能向前进一步,如果你好奇的话,游戏对象基本上就像一个带有位置、旋转和缩放的隐形容器,然后你可以用组件来填充它来做一些事情,这包括给它图像的“精灵渲染器”,给它物理属性的“刚体”,能够让它撞到东西的“碰撞器′,最重要的是能够让你为它编写程序代码的脚本,一旦我脑子冒出了这些想法,我就会把我为了制作游戏而真正需要知道的事情列在一起,就像我该如何让一个游戏对象与另一个游戏对象对话,我如何生成和删除新的游戏对象,当两个游戏对象相互碰撞时,如何让一些事情发生,我该怎么做UI、声音效果以及动画,我如何处理关卡和游戏结束之类的事情,然后我使用教程、谷歌以及与人们交流来解决这些问题,从而学会Unty的基础,当然现在可能有很多使用 Unity的人正在看这个,他们认为这不是一个非常全面的列表,这不会让你走得很远,可能没有更好的方法来做你刚学会的所有事情,是的,这是真的,但这已经足够让我开始了,我可以让东西出现在屏幕上,让它四处移动让碰撞发生,生成东西再删除它们,这些都是游戏运作的基础,这是一种类型,无论我今后做什么游戏我都需要知道这些东西,这是我可以用来建造知识库的的基石。因此我接下来想做的是第二步,是证明我理解并很熟悉这些东西,通过重复制作简单的项目,我发现在游戏开发方面实现这一目标的最佳方法便是,就是古老的艺术-剽窃,我的意思是复刻非常简单的游戏,比如,街机游戏,手机游戏、网页游戏、以及小游戏,我认为都非常基本的游戏规则,通过复刻它们,我可以向自己证明我理解了 Unity是如何运作的,我认为这是一个很好的训练工具,因为你不必担心艺术、设计、规则或者其他类似的东西,这些都是现成的,你所需要关心的就是代码,你会得到非常清晰客观的结果,我能否可以拿一个游戏并只靠自己在∪nity重建它,我做的第一款游戏是“ Flappy Bird“,这是一个非常简单的 iPhone端时间消磨游戏,讲的是一只大胖鸟如何与地心引力搏斗,是的讲在Unity中制作这个的毛茸茸鸟的教程大约有10000个,但我不想使用它们我想靠我自己做出来,所以我开始玩这个游戏并弄清楚它是如何运作的,然后制定一个游戏计划关于我将如何重建它,把完成这些的步骤拆分的尽可能小真的很重要,比如第一步让一只鸟出现在屏幕上,第二步让它掉落,第三步,让它振翅,就是一件事接着一件事,没什么太疯狂的然后我就开始做了,我创造了一个游戏对象,并为小鸟提供了精灵渲染器,为翅膀提供了动画控制器,给它一个刚体让它能够掉落,给它一个方盒碰撞器让它撞击管道,还有一个脚本这样当我按下空格键时,它会在刚体的底部施加一定的速度,让小鸟飞向空中,棒极了,然后我制作了管道,并把它们变成了一个预制对象或者叫“预制件”,可以让我在不同高度产生无限数量的管道,正是在这里我发现了开发一款游戏的一个小技巧,你看直观的做法是让鸟飞过一堆管道,但这很难做到,更简单的方法是让小鸟保持静止,让管道在屏幕上移动,然后在它们离开屏幕时删除它们,相信我我觉得自己是个天才当我明白这一点时,我还对碰撞进行了排序,所以当小鸟撞到管道时,游戏就结束了。但如果小鸟在两个管道之间穿过,就会触发触发器,并在UI中加一分,这涉及到将信息从一个游戏对象发送到另一个,我在基础课中学到的每一个技能都被发挥出来了,然后我完成了一些音效,以及一些基本的东西比如带有视差的云飞过,这感觉真是太棒了,我知道它看起来很平庸,就像你剽窃了有史以来最简单的游戏,我希望你为自己感到骄傲,但我是真的我为自己感到骄傲,我挑选了这款游戏,我把它拆解开,然后自己用Unty重新做了一遍,我已经证明了我知道Unity是如何运作的了,我只靠自己就让它运作起来了,这种感觉很棒,比我第一次尝试学习Unty时那种泄气的感觉好太多,事实上我感觉非常好然后迫不及待地再次尝试,这一次是复刻游戏“啪啪解锁,这是围绕一个圆圈旋转的一条线,你必须再次收集其他圆圈,再次强调这很简单,但它很容易上瘾。整个过程几乎是相同的,即先玩游戏,然后进行逆向工程,最终获得一份准设计文件,把它分解成尽可能小的步骤,比如让一个东西在屏幕上旋转,一步一步地构建它,这个确实造成了一些很大的问题,因为它是基于旋转而Unty的旋转使用了四元数,就像是四维的旋转轴,当我试图阅读它们的时候,我的大脑就像会从我的耳朵里流出来一样,所以这是相当困难的。但我发现了一个Unity很酷的内置函数,叫做 RotateAround,它允许你围绕一个点旋转游戏对象,这解决了很多问题,现在这些都在我的记忆库里了,我还明白了游戏对象的父子项目的含义和关系,这也解决了许多问题,再次的我做出了能够在自己电脑上运行的游戏,当时的感觉真的很酷,我无法描述它,但就像是我做到了,我达到了这个目标做出这款游戏,我做到了,最重要的是我证明了,我知道如何使用 Unity,同时我也对 Unity这个工具非常熟悉了,以及我在制作游戏时需要解决的,一开始做不到的事情,我现在已经学会了,因为我知道在哪里点击,我知道看哪里,我知道在谷歌中输入什么,所以在这一点上 ,我对Unity感觉很好,就像,我当然不是专家,但是我已经找到了开始的地方。我认为现在我应该进入第三步,开始创造自己的游戏并开始试验,当然,我会遇到麻烦的,有些事我不知道该怎么做,我会面对很多问题,但我恢复了信心以及对工具的很适应,我在概念层面上理解了 Unity,我理解了我需要知道如何做的基本事情,从这一点开始,当我遇到问题时也许我能解决它,我至少可以尝试一下,至少知道要在谷歌中输入什么,或者知道如何向一个比我聪明得多的人提一个有用的问题,现在我不能保证这种学习方式对你有用,每个人都以不同的方式学习,也许你就是这样学习的,就是有看起来就很懂的人向你解释事情,但对我来说作为一个很容易厌倦辅导课的人,我可能有多动症吧我不知道,有些人只有不断实验、尝试以及经历失败,才能真正把东西放进他们的大脑,这个方法对我很有效,学习基础知识、不断熟悉它们然后随着时间慢慢积累技能,我想我们会看看它是否有效。


Unity学习笔记 Vol.88 游戏开发怎么学习的评论 (共 条)

分享到微博请遵守国家法律