艾莉尔 · 曼祖尔,Godot引擎的共同创建者
    Godot engine 1是在2007年底构思的,当时我们 (胡安Linietsky和艾莉尔Manzur) 注意到
    可用于游戏开发的硬件。第一个只是硬件的改进,这使得它在低端和
    便携式设备,如PlayStation便携式 (PSP) 和第一款iPhone。当然,便携式游戏存在于2007年 (任天堂DS
    当时已经推出了),但是这些设备太低端了,以至于必须专门为它们制作游戏,而且使用通用设备是不可行的
    目的游戏引擎在那里。就iPhone和PSP而言,它们首次成为 “普通计算机”,但可移植。
    1Godot引擎在麻省理工学院许可下作为开源项目发布。
    第二个变化是中央处理单元 (CPU) 的构建方式。以前,我们习惯了 “计算机” 是单个CPU
    一些内存、存储和图形处理单元 (GPU),随着时间的推移,CPU变得更快,GPU变得更强大。但
    突然,我们开始看到CPU被分成多个内核。随着行业的开始,它是新的,也有点不可预测
    实验 (例如PlayStation 3上的单元架构)。这意味着经典的 “游戏引擎主循环”,包括
    “收集用户输入> 更新游戏逻辑> 更新图形> 返回开始”,不再是运行游戏的最有效方式,所以平行
    处理是必要的。
    这两个因素导致了一个决定: 我们不得不放弃我们正在使用的当前的低级引擎架构,并重新开始设计
    更适合多核系统和具有多种功能的系统,从低端便携式设备到大型异国情调
    控制台。我们采用了一种架构,其中每个核心系统都由一个 “服务器” 以异步方式处理。服务器操作在
    比通常更高级别的抽象 (例如,与旧的渲染抽象相反,visual server执行自己的空间索引编制,
    它只是绘制对象),但它们可以更好地利用底层硬件来实现。
    当时,我们的引擎已经是第四代了,被用来制作一些游戏,包括MMORPG Regnum Online和
    项目完结,系统自动填充内容但并不是所有的东西都被扔掉了,许多功能都被保留了下来,最重要的是
    场景树。
    虽然Godot的架构是基于服务器系统的,但从表面上看,内容是以对人类非常友好的方式组织的。这
    对我们来说非常重要,因为我们知道在游戏开发过程中,大部分时间 (和金钱) 将用于整合
    内容进入游戏。这意味着项目的每个成员都需要能够使用工具来集成这些内容,并且他们都需要
    负责自己的内容,从创建到在运行游戏中实现。场景树系统非常适合这个,
    因为这是人类已经习惯看待世界的方式。
    想象你早上醒来,拿起你的背包,把你的电脑和充电器、雨伞和一个水瓶一起放进去。你
    把你的手机放在口袋里,口袋里有20个应用程序,还把手机充电器放在背包里。当你出去的时候,你不会想,“我
    我需要带着我的手机和20个应用程序,还有我的背包,我的电脑
    t
    呃,我的雨伞、水瓶和充电器。”你想,“ 我需要
    带上背包和电话。”
    你和另外20个人一起乘公共汽车,公共汽车司机知道如何在城市里开车,他没有想,“我和5个人一起开车20个人
    背包、7个钱包、6个公文包、12台电脑、5本书、7支口红等等。”他在想,“ 我在开公共汽车。”
    我们以不同的抽象级别来组织事物,我们分别担心每个级别,并且我们专注于每个级别。当你打包
    背包,你担心里面有什么,然后你就随身携带一个背包。公共汽车司机知道怎么开公共汽车,他不知道
    必须担心里面有什么,公共汽车上的所有乘客都负责搬运他们的东西。
    场景树inGodot是组织游戏内容并让团队所有成员为此做出贡献的好方法,
    专攻树的不同层次,不要被其他层次的人分散注意力。程序员调用
    “爆炸” 动画并忘记了它,艺术家负责动画的内容,而不依赖于来自
    程序员。这在游戏开发中至关重要,不仅因为它通过更多地利用程序员的时间来节省金钱
    高效,但是通过让艺术家更好地控制他们的资产,他们能够为游戏提供更高质量的内容。
    这本书是针对游戏开发团队的所有成员的,每个人都会带走与
    他们的纪律。但是有一个领域我们希望我们能帮助每个人一起学习,那就是如何利用提供的工具
    通过引擎来设计最有效的工作流程,以便团队中的每个人都能尽最大努力工作并产生出色的
    游戏。我们将介绍引擎的所有主要领域: 2D、3D、物理和用户界面,以及一些示例游戏来展示所有的知识
    付诸实践。程序员将有代码示例,但其他所有人也将学习引擎的特性和过程,以
    以最好的方式整合他们的内容。
    我们将使用即将推出的Godot版本3.0,其中包括对3D渲染的巨大改进、GDNative模块、C # 模块和
    在过去的两年里,我们出色的贡献者社区做了很多工作。