介绍 - Godot引擎游戏开发项目实践

介绍

无论你是为了的职业还是娱乐爱好,游戏开发都是一项有趣且有益的尝试。从未有过开始游戏开发的最佳时机。现代编程语言和工具使构建高质量游戏并将其分发到世界变得前所未有的简单。如果你正在阅读本书,那么你就已经踏上了制作梦想游戏的道路。

本书介绍了Godot游戏引擎及其新的3.0版本,该版本于2018年初发布。Godot 3.0具有大量新特性和新功能,使其成为昂贵的商业游戏引擎的强大替代品。对于初学者,它提供了一种学习基本游戏开发技术的友好方式。对于更有经验的开发人员而言,Godot是一款功能强大,可定制且开放的工具,可将你的愿景变为现实。

本书采用基于项目的方法,向你介绍引擎的基础知识。它由五个游戏组成,旨在帮助你充分理解游戏开发概念以及它们如何应用于Godot。在此过程中,你将了解Godot的工作原理并学习可应用于项目的重要技术。


一些建议

本节根据作者经验,向读者提供一些学习建议。在阅读本书时,请牢记这些提示,特别是你对编程比较陌生。

请尝试按顺序学习本书中的项目。后面的章节内容可能建立在前面章节中的主题之上,在新章节中将对它们进行更详细的解释。当你遇到一些你不记得的事情时,请返回并在前一章中查看该相关内容。

这里有很多功能需要学习。如果你一开始没有学会,不要感到沮丧。我们的目标不是一夜成为游戏开发专家 - 这是不可能的。重复是学习复杂主题的关键,你使用Godot的功能越多,也就越熟悉越容易的使用它们。完成第7章“其他主题”后,请仔细阅读第2章硬币收集。与你第一次阅读相比,你会对自己理解的内容感到惊讶。

你在学习本书之时,请抵制复制和粘贴代码的诱惑。自己输入代码会吸引更多的大脑。它类似于在演讲期间记笔记如何帮助你学习而不仅仅是倾听,即使你从未阅读过笔记。如果你是一个慢打字员,它也将帮助你的打字速度。简而言之:你是一名程序员,所以习惯于输入代码!

新游戏开发者犯下的最大错误之一就是承担了一个比他们能够处理的更大的项目。在开始时保持项目范围尽可能小是非常重要的。如果你完成两到三个小型游戏,那么您将获得更多成功(并了解更多),而不是你拥有一个超出你管理能力的大型且不完整的项目。

你会注意到本书中的五个游戏都严格遵循此策略。它们的范围都很小,既有实际的原因 - 合理地适合书本大小的课程 - 而且还要专注于教你基础知识。在构建它们时,你可能会发现自己正在考虑其他功能和游戏元素。如果宇宙飞船有升级怎么办?如果角色想要实现跳墙怎么办?

想法很棒,但是如果你还没有完成基本项目,请将它们写下来并保存以供日后使用。不要让自己被一个又一个很酷的想法所牵制。开发人员将此功能称为蠕变,这是一个导致许多未完成游戏的陷阱。不要让自己成为受害者。

最后,别忘了一次又一次地休息一下。你不应该只是几次坐下来试试整本书。在每个新概念之后,特别是在每个章节之后,在学习下一个概念之前,给自己时间吸收新信息。你会发现你不仅保留了更多信息,而且你可能更喜欢这个过程。


什么是游戏引擎

游戏开发很复杂,涉及各种各样的知识和技能。为了构建一个现代游戏,你需要大量的底层技术才能制作出真正的游戏。想象一下,在开始编程之前,你必须构建自己的计算机并编写自己的操作系统。如果你真的不得不从头开始并构建你需要的一切,那么游戏开发就会很艰难。

此外,每个游戏都有许多共同的需求。例如,无论游戏是什么,它都需要在屏幕上绘制内容。如果已经编写了这样做的代码,那么重用它比为每个游戏重新创建它更有意义。这就是游戏框架和引擎的用武之地。

游戏框架是一组带有帮助程序代码的库,可以帮助构建游戏的基础部分。它并不一定提供所有部分,你可能仍然需要编写大量代码来将所有内容组合在一起。因此,使用游戏框架构建游戏可能比使用完整游戏引擎构建游戏花费更多时间。

游戏引擎是一系列工具和技术,旨在通过消除为每个新游戏项目重新发明轮子的需要来简化游戏制作过程。它提供了一个通常需要的功能框架,通常需要在开发时间上进行大量投资。

以下是游戏引擎将提供的一些主要功能列表:

渲染 (2D和3D):渲染是在玩家屏幕上显示游戏的过程。良好的渲染方式必须考虑现代GPU支持,高分辨率显示以及照明,透视和视口等效果,同时保持非常高的帧速率。

物理:虽然这是一个非常普遍的要求,但构建一个强大而精确的物理引擎是一项艰巨的任务。大多数游戏需要某种碰撞检测和响应系统,许多游戏需要进行物理模拟,但很少有开发人员想要承担编写游戏物理的任务,特别是如果他们曾试图这样做过。

平台支持:在当今的市场中,大多数开发人员希望能够在多种平台上发布他们的游戏,例如控制台,移动设备,PC和网页。游戏引擎提供统一的导出过程,可在多个平台上发布,无需重写游戏代码或支持多个版本。

开发环境:通过使用统一界面制作多个游戏,每次启动新项目时都不必重新学习新的工作流程。

此外,还将提供多种工具来协助网络等功能,简化图像和声音处理过程,动画,调试,关卡创建等等。通常,游戏引擎将包括从其他工具(例如用于创建动画或3D模型的工具)导入内容的功能。

使用游戏引擎允许开发人员专注于构建他们的游戏,而不是创建使其工作所需的所有底层框架。对于小型或独立开发者而言,这可能意味着在开发一年后发布游戏而不是三年。

目前市场上有许多流行的游戏引擎,例如Unity,虚幻引擎和GameMaker Studio,仅举几例。需要注意的一个重要事实是,大多数流行的游戏引擎都是商业产品。他们可能需要或可能不需要任何金融投资来开始使用,但如果你的游戏赚钱,他们将需要某种许可和或版税支付。无论你选择何种引擎,你都需要仔细阅读用户协议,并确保你了解自己的身份是否允许使用引擎,以及你可能担负的隐藏成本(如果有的话)。

另一方面,有一些非商业和开源的引擎,例如Godot游戏引擎,这是本书的全部内容。


什么是Godot

Godot是一款功能齐全的现代游戏引擎,提供上一节中描述的所有功能以及更多功能。它也是完全免费和开源的,在非常宽松的MIT许可下发布。这意味着没有费用,没有隐藏的费用,也没有特许授权使用费来支付游戏的收入。你使用Godot 100%制作的所有东西都属于你,而许多商业游戏引擎并不支持。对于许多开发人员来说,这非常有吸引力。

如果您不熟悉开源,社区驱动开发的概念,那么您可能会觉得很奇怪。然而,很像Linux内核,Firefox浏览器以及许多其他非常著名的软件,Godot并非由公司开发为商业产品。相反,一个由热情的开发人员组成的专门社区将他们的时间和专业知识贡献给构建引擎,测试和修复错误,生成文档等等。

作为游戏开发者,使用Godot的好处是巨大的。因为它不受商业许可的影响,所以您可以完全控制游戏的分配和发布。许多商业游戏引擎限制您可以制作的项目类型,或者需要更昂贵的许可证来构建某些类别的游戏,例如赌博。

Godot的开源性质也意味着商业游戏引擎不存在透明度。例如,如果您发现特定引擎功能不能满足您的需求,您可以自由修改引擎本身并添加所需的新功能,无需任何权限。在调试大型项目时,这也非常有用,因为您可以完全访问引擎的内部工作。

这也意味着你可以直接为Godot的未来做出贡献。有关如何参与Godot开发的更多信息,请参见第7章,其他主题。

你可能感兴趣的:(介绍 - Godot引擎游戏开发项目实践)