这篇文章主要关注Unity游戏引擎,但对于萌芽的游戏开发人员可能还有其他一些用处
一年多以前,我制作了第一款游戏Tappy Toyts。 游戏背后的原因? 好吧,我花了无数个小时玩游戏,并认为那是我自己一个人的时间。 这绝非成功,但它确实在iOS和Android上实现了300多次下载。 对我来说,这还不错,因为它主要是为了娱乐。 现在,最近,我发布了第二款游戏Mushrun。 同样,它不过是您典型的手机游戏,但我对此感到非常高兴。
“ 吹这些小号怎么办? ”我听到你大喊。 好吧,在发布这两款游戏之前,我从未在游戏开发方面有过任何经验,因此“两部平底手机游戏叔叔”在这里说“您也可以制作一款游戏!”。 我基本上是亚当·桑德勒(Adam Sandler)早期电影中的罗伯·施耐德(Rob Schneider),适合那些想要开始制作游戏的人。 #nichereference。
- 使用Paper.js制作HTML5游戏
- 以下是通过Facebook Ads可能使您的独立游戏销量翻倍的五种方法...
- 我们在Go中制作了一款多人浏览器游戏,很有趣
- 全球游戏果酱:1月20日至22日
- 虚幻引擎中TypeScript入门
这是给谁的
任何想要制作游戏但不知道从哪里开始的人。
这是什么?
它不是关于如何制作游戏的教程。 它更多是我在构建游戏时获得的资源,技巧和窍门,以及一般的“您可以做到这一点”。
开始
首先,很明显。 我不认为自己是游戏开发人员。 我制作的游戏确实非常基础,我绝不会与适当的游戏开发者处于同一个联盟。 相反,我是一个热爱“视频游戏”并想尝试自己做一个的人。 幸运的是,我们正处在技术易于获取的时代,任何人都可以制作游戏,这就是我所做的,这也是您可以做到的!
制作游戏时有很多选择。 您可以从头开始编写代码,使用库或使用游戏引擎。 我之所以选择后者,是因为我没有1337 Skillz,并且两个主要选项是Unreal Engine或Unity。 两者现在都可以免费使用,在您的游戏上线后,Unreal会从中赚取任何收益,而在您获得超过10万美元的收入后,Unity需要许可证(或者如果您需要一些其他功能)。
最后,我选择了Unity。 选择Unity的原因? 主要是因为我认识某个人,在我想开始构建《 Tappy Toyts》时就发行了一款名为Bloater的游戏,而该游戏是在Unity中构建的。 现在,我已经在Unity上工作了好几年(无论是打开还是关闭),我真的不能指责它。
如果您希望自己开发游戏并且没有任何经验,我会全力推荐使用Unity。 该引擎非常易于使用,文档非常丰富,学习资料也很棒(以后会再介绍)。 您仍然需要一点技术知识,但这可以相对容易地掌握。
在游戏质量方面,Unity往往会受到不好的说唱。 忽略它。 没错,我并没有完全理解各种技术术语和深度计算伏都教,但我只留下几个指向Unity内置游戏的链接,让您自己决定。 奥里和盲人森林,尤卡-莱里,城市天际线,超热等。

你还在吗? 哥! 下一步是学习如何在您选择的引擎中构建游戏。 正如我之前所说,本文的其余部分集中在Unity上,但是即使您使用其他选择,您也可能会学到一些东西。 大概。
回到学校!
如果您像我一样喜欢,那么您就想先入为主,并立即开始构建一些东西-这是Unity教程真正发挥作用的地方。 一开始,我不建议您立即开始游戏。 相反,我将专注于学习有关引擎以及如何在其中执行基本操作的知识。 您将很快转到更多激动人心的教程,但是必须对系统有一个全面的了解。 我还要在这里强调两点。
- 这不会是一个非常快速的过程。 我花了两三个月的时间来做一份全职工作,观看教程以对Unity有很好的了解。 公平地讲,与在引擎之外学习游戏开发相比,这简直是荒谬的,但是周末您将不会学到任何东西。
- 您将需要编码。 当我最初开始研究Unity时,我看到了一些无需编写任何代码就能开发游戏的文章。 不幸的是,事实并非如此,但不要让它让您失望。 教程和文档非常容易遵循。
之前我提到过Unity有很多关于游戏开发的教程。 我没有说谎,这是证明。 在教程部分中,有一个小节专门讨论界面和使用Unity的基本要点-恰当地命名为“接口和要点”。 这是一个理想的起点,几乎可以让您快速入门。
在“无聊”的东西(实际上是非常有趣的恕我直言)之后,您可以跳到更有趣的东西,项目教程。 选择任何您喜欢的项目并加入其中。 每个教程都具有一个难度等级,这确实很方便 。 即使本教程没有直接链接到您最终想要制作的游戏类型,您仍将获得可用于最终游戏的有价值的信息。 这是我个人的最爱-Space Shooter
与Unity教程一样,我还购买了一本书,名为《 Unity in Action》。 这是一本鲜血淋漓的好书,以迷你游戏项目的形式教会了您Unity的核心原理。 您首先需要建立一个FPS,过渡到2D益智游戏,第三人称冒险以及以RPG结尾。 示例游戏是基本游戏,但鼓励您继续进行操作。 值得一读,对我有很多帮助。
我知道我很容易坐在这里,引导您按照教程,阅读书籍等来尝试帮助您,但徒劳无功,但是我保证,一旦您完成了其中的一些操作,您就会装备精良开始开发自己的游戏。
开始制作游戏之前,您需要学习多长时间? 听起来就像替罪羊,当您开始感到舒适时,您就会知道。 归根结底,即使您遇到任何问题,互联网仍将在那里回答任何问题,除非世界发生了可怕的错误。

游戏开发者故事
现在是令人兴奋的阶段。 您已经掌握了开始游戏的全部知识。 您可能在这个阶段对游戏有一个主意,或者您可能没有。 无论哪种方式,一开始最好的事情就是制定计划。 计划一切。 在记事本中向下绘制草图。 考虑诸如计分系统,可解锁内容,关卡设计,游戏功能之类的东西。 基本上计划所有您能想到的。
当我开始制作《 Tappy Toyts》时,这仍然是一个学习过程,但在开发过程中,我意识到游戏还需要其他东西。 到那时,我不得不开始将多余的碎屑塞进几乎完成的游戏中。 这是一个巨大的球痛。 疏忽是因为我缺乏耐心,想直接进来,所以请注意我的话。 计划。 计划。 计划。 您永远不会为所有可能发生的事情做计划,并且游戏会随着时间的流逝自然地发展,但是在开始开发游戏之前,您对游戏的了解越多,它将无穷无尽。

资源资源
制作游戏不只是其背后的代码,您还将需要艺术品,音效,音乐,模型,以及其他很多东西。 您的预算很可能很紧张,尤其是如果这是一种业余爱好,因此这里有一些很棒的资源,它们不会花您一分钱(或很少)。
软件
GIMP是用于创建2D图稿的绝佳工具。 它是完全免费的,并提供了与Adobe Photoshop类似的工具集。 它还没有那么先进,但是肯定会帮助您创建UI元素或Sprite艺术品。
Blender是用于创建3D模型的免费软件。 很棒的是,您可以从Blender导出模型并将其直接导入Unity。 您也可以在Blender中创建动画,也可以将其导入。 也可以将动画帧导出为平面图像,然后使用它们创建子画面。 这就是我在Tappy Toyts中为海龟制作动画的方式。
GarageBand(仅限Mac)是一款方便的应用程序,可以安装在任何Apple设备(手表除外)上。 使用GarageBand,您可以轻松地为游戏创建音乐片段并将其导入Unity。 我什至还使用GarageBand在Tappy Toyts上制作了一些音效,方法是制作出带有两个音符的令人难以置信的简短歌曲。 tbf可能有点矫kill过正。
网站
如果您不喜欢在GarageBand中创建声音效果的过于复杂的方法,则可以转到freesound.org。 Freesound具有许多可以在任何商业产品中使用的音效(不过请在使用前检查许可证! )
艺术资产可以说是最难以获取的物品之一,无论如何尤其是美观的物品。 Unity确实有一个内置的资产商店,您可以在其中购买或免费下载各种代码,模型,插件等。在为您的游戏寻找额外功能时,这是一个理想的选择,但还有一个不错的网站值得一看— Kenney.nl
肯尼(Kenney)在他的网站上有大量免费的艺术品,以及一些精美的零碎作品。 艺术品具有独特的风格,但可以用于任何类型的游戏。 即使您将它们用作占位符,在建立整体艺术风格的同时,它们也会帮助您在游戏中不断发展。
提示
分解
我不建议您细分。 请不要那样做。 而是将项目分解为可管理的块。 这看起来似乎很明显,但是如果您从整体上看待您的游戏,那可能会令人望而生畏,因此请一次解决所有问题。
在Mushrun中,您需要收集硬币,以便您为角色解锁新的上限。 我使用分解过程来完成这个稍微有些简单的任务,并分别处理每个问题。 首先,我致力于为玩家与硬币互动的时间设置触发器。 然后,当收集硬币并更新HUD计数器时,便可以播放声音效果。 然后,我可以专注于硬币的存储方式,最后转向如何使用它们。 你明白了。
如果将此过程应用于您的游戏,不仅会发现开发更容易,而且每个应用程序都将给您带来一点胜利,从而使您保持动力。
移动成就和排行榜
在两个游戏中集成成就和排行榜时,我面临的一个问题是在Android和iOS上使用相同的代码。 关于Unity的伟大之处在于,您可以拥有一个项目,并将其发布到多个平台上,因此我不希望任何内容分离。
当您处于创建成就的阶段时,建议您首先在Play开发者控制台(Android)中创建成就。 为Android创建成就和排行榜时,会自动为其分配一个ID。 但是,当您在iOS上创建成就时,您需要手动输入ID。 因此,在iOS上设置它们时,首先在Android中创建它们,然后使用自动生成的ID是有意义的。 这意味着,当您要在游戏中解锁它们时,只需引用一个ID。
接下来,您需要为Unity安装第三方插件— Play for Unity游戏服务。 如果您按照此页面上的说明进行操作,则可以在Unity中使用全局Social.API来解锁成就,使用相同的代码发布到两个平台的排行榜等。 真的很方便。
最终发行
希望您在这篇文章中找到了有用的东西,或者甚至被激发来开始您的项目。 如果您有任何疑问,请随时发表评论或在Twitter上打我。 美女,请继续做一些游戏。 最后一件事–尽情享受!