本文是“Godot官网新闻翻译”系列的第1篇,该系列旨在翻译和汇总Godot官网所发布的所有新闻。让更多英文不好的童鞋可以领悟官方新闻中的重要信息和真谛。
官网新闻地址:https://godotengine.org/news
2014年
导航:2014 | 2015 | 2016
首次公开发布!
作者: Juan Linietsky(胡安·利涅茨基) 2014年1月4日
编写游戏引擎是一个非常困难的过程,需要很长时间,我们意识到生活不足以添加我们想要的每个功能。长期以来,Godot一直是内部引擎,新功能的优先级始终与每个游戏的需求和客户的优先级相关联。
正因为如此,我们正在向社区开放引擎,这样任何人都可以使用Godot开发游戏,并从其惊人的工作流程设计中受益。我们还以最慷慨的许可证打开源代码,MIT希望其他开发人员能够参与其中并不受任何限制地发布他们的游戏。
我们理解,为了让开发人员获得兴趣,发布不完整的软件是不够的,因此我们正在为第一个版本发布一个功能齐全的测试版。在这一点上,引擎是稳定的,一切都可以正常工作,但是我们需要来自"真实用户"的反馈和输入来完成体验的调整,以使其完全流畅。
所以,感谢您对Godot Engine的兴趣!在您的帮助下,我们希望它成为世界上最令人惊叹的游戏引擎!
图像中的戈多历史!
作者: 胡安·利涅茨基 2014年1月5日
沿着戈多的发展历程,戈多并不总是被称为戈多,它经历了许多(可怕的)名字,顺序如下:
- Larvotor
- Legacy
- NG3D
- Larvita
- Larvita2
- Larvita3
- Godot
事实上,Godot只是一个代号,一个具有适当UI的更通用的引擎,而不是一组各种各样的工具。我们知道这需要很长时间,所以我们用了一个基于塞缪尔·贝克特(Samuel Becket)戏剧的名字来表达这种感觉。最终,这个名字会变成与我们的祖国阿根廷有联系的东西。
在命运的奇怪转折中,在引擎开发的某个时候,我们玩了一个视频游戏,其中的角色形成了这种联系(奖励点指向任何弄清楚它的人),所以引擎也以这个名字命名。这很好,因为最初的戈多从来没有到达过(好吧,这是一种解释…)。
图片中的历史
说得够多了。那么,十多年的引擎开发是什么样的呢?显然,像是一团糟!
在Kickstarter上支持我们!
作者:Ariel Manzur(阿里尔·曼祖尔) 20 十月 2014年10月20日
如您所知,开发Godot引擎的公司Okam Studio也生产游戏。我们最古老的项目之一是The Interactive Adventures of Dog Mendonça & Pizza Boy,这是一个2D点和点击图形冒险,我们一直在内部开发,作为一个副项目,我们已经推出了一个Kickstarter来筹集资金来完成它。
你可以在这里找到它:http://kck.st/1CVtDF3
除了获得一个很酷的游戏之外,你还会帮助我们继续开发引擎,如果我们达到第一个延伸目标,我们计划发布模板以及有关如何制作自己的点和点击图形冒险的文档(旁注:Tim Schafer去年访问了我们的工作室,当我们向他展示我们用来编写对话/过场动画的脚本工具时,他说"它看起来就像SCUMM!", 我们无言:P)。
我们感谢任何支持,谢谢!
网站又回来了
作者: 胡安·利涅茨基 1 十二月 2014
Godot网站又回来了,并进行了轻微的重新设计。说实话,我们不确定在被黑客攻击几次后它会持续多久,但似乎最新的更改,安全补丁和整体维护都有效。
我们是引擎开发人员,而不是Web开发人员,因此保护托管站点绝对不是我们的强项。
在二月份开源之后,Godot的开发陷入了困境。我们得到了很多热情和积极的反馈,但也有很多错误和可用性报告。对于我们和当时使用它的少数其他人来说,这个引擎是稳定的,但是,当接触到这么多新开发人员时,所有的缺陷,错误和一般的可用性问题以及缺乏抛光仍然在阳光下闪耀。几个月来,我们把这个问题放在首位,并努力解决其中的大部分问题,而没有试图引起太多关注。最后,这项工作得到了回报,我们即将宣布我们的第一个稳定版本Godot 1.0!
源代码已经稳定了几个星期,所以在这一点上,我们正在研究仍然存在的微小细节和问题。欢迎回到网站,希望我们能很快庆祝!
戈多 1.0 RC1 来了!
作者: 胡安·利涅茨基 2 十二月 2014
编辑:候选版本 2 现已发布。
在烘焙中很长一段时间,但第一个候选版本就在这里。这并不意味着Godot现在没有错误,但没有什么应该太严重而不会影响你的生产力。在稳定发布后,我们将继续修复问题,然后转到1.1(请参阅路线图!
如果本周在这个版本中没有发现任何太严重的问题,它将变得1.0稳定,所以一定要在你的项目中很好地测试!
寒假戈多游戏果酱!
作者: 胡安·利涅茨基 9 十二月 2014
来自论坛的Gaming企鹅正在组织一个冬季假期Godot Game Jam!(南半球的暑假游戏果酱)。
规则似乎是(从论坛复制):
游戏必须与戈多一起制作
游戏应该有一个寒假主题
您必须使用此处的输入线程进入:(即将推出)
您必须开源完整的项目,代码和资产,Windows,Mac和Linux的二进制文件不是必需的,但非常受欢迎
禁止色情或冒犯性游戏
游戏可以由多个人制作
一个人可以提交多个游戏
这可能是一个很好的机会,可以使用或学习Godot进行一个小项目,更好地了解社区,以及从其他项目中学习。
论坛网址为:http://www.godotengine.org/forum/viewtopic.php?f=7&t=1172
请传播!
戈多引擎达到1.0,首次稳定发布
作者: 胡安·利涅茨基 15 十二月 2014
10个月的辛勤工作
经过10个月的辛勤工作,经过Godot开源,我们很自豪地发布了我们的第一个稳定版本Godot 1.0!
修复了数百个问题,并合并了来自社区的数十个贡献。与此同时,在开发者媒体上没有任何宣传或提及的情况下,用户社区已经默默地通过口口相传增长了几个数量级。论坛(编辑:现在被问答取代),IRC和Facebook现在充满活力!
同样,文档和演示也得到了极大的改进,YouTube上提供了几个由社区创建的视频教程。很快,我们将开放公共wiki供用户贡献文档。
1.0版本是将Godot视为严肃生产工具的好时机。
网站问题
正如可能注意到的那样,由于黑客攻击,该网站在一年中的大部分时间里都处于关闭状态。它现在似乎处于良好状态并得到妥善保护(希望如此),因此新闻将更频繁地发布。计划在此版本发布后每月进行一次开发综述。
我们仍然无法找到论坛上出现的问题,有时它根本不会发送验证电子邮件。如果您有 PHPBB 的经验,请告诉我们。
前途
此版本并不意味着 Godot 尽可能稳定,但可确保 Bug 足够罕见,无法找到,并且具有不影响工作流的简单解决方法。随着Godot的成熟,稳定性和工作流程将不断改进。
1.1 的计划是专注于使用我们在过去几个月中收集的所有反馈来改进 2D 引擎,改进对 2D 的着色器支持、可视化着色器编辑(用于 2D 和 3D)以及更多绘制选项,例如每节点 z 优先级。版本1.1还将看到一个大大改进的界面,具有可移动的扩展坞,改进的代码编辑功能,初始拖放支持,实时编辑和更好的平台支持,如WindowsRT,Chrome PNACL和改进的HTML5导出。
Godot仍然薄弱的领域之一是3D渲染器,虽然它仍然相对强大,但它是为兼容性而设计的,并针对移动和低端PC进行了优化。最终,计划是创建一个新的下一代渲染器,支持PBM和实时全局照明。由于这种渲染方法太新,它将被分析和评估几个月,并可能在2015年半年之前实施。
参与进来!
Godot开发由Okam赞助,因此目前不需要捐款。代码贡献总是非常感谢,我们一直在寻求扩展开发人员社区。但是,您可以提供帮助的最好方法是传播这个词。Godot面临的最大问题是,大多数潜在用户和贡献者(以及世界上大多数)甚至不知道Godot的存在。我们没有商用发动机的新闻预算,因此传播这个词对我们来说非常困难。
因此,为了帮助引擎和社区成长,请向您的同行和您通常参与的社区提及Godot。帮助我们让世界知道这个小游戏引擎的存在!
正在推出。。。全新的代码完成!
作者: 胡安·利涅茨基 22 十二月 2014
智能完成
自稳定发布以来,只有一周的时间,开发正在转向其他新的很酷的功能!本周已推送到GitHub,为内置编辑器提供了新的代码完成。
Godot以前只支持编辑器中的有限代码完成(仅限符号)。由于 GDScript 是一种动态类型的脚本语言,因此变量不一定是类型化的,这意味着在运行时,变量的值可以是任何值。
它是如何工作的?
静态类型语言(如 C、C++、Java 或 C#)要求程序员显式指定每个变量的类型(支持变体和泛型对象,但这些对象仅在特殊情况下使用)。验证数据类型转换的解析树是这类语言的典型特征,因此在解析时可以知道所有内容的数据类型,从而使代码完成的实现变得非常容易。
在 GDScript 中,这是不可能的,因为类型转换发生在运行时。但是,Godot 为 GDScript 提供了一些东西:
引擎函数和属性都是键入的。
键入函数参数(包括虚拟参数)。
键入信号参数。
对导出的变量进行类型化。
键入常量。
预加载的资源(在解析时初始化)。
许多内置函数是确定性的(即 sin() )。
许多对象在编写代码时是实时的(即场景节点)。
使用此信息,新的代码完成将执行一些有趣的事情。它尝试以递归方式将变量回溯解析到其源。不出所料,大多数时候,这个起源确实有一个类型,因为它是上面列表中的项目之一。
智能代码完成将通过数组、字典、函数、局部变量块、成员、常量等追溯标识符。它将尝试通过各种方式返回到解析树中的类型化节点,并且在大多数情况下,它将成功。例如。。
全球,本地和类范围
全局和局部变量和函数是最简单的完成类型,因为它们与类型无关。只需填写标识符名称。该算法只是从当前块向上从当前块向上移动到全局范围,尝试找到要完成的相关关键字。唯一的问题是,它必须弄清楚当前块是否在静态函数内部,在这种情况下,它必须排除常规函数和成员变量。
(编辑:图像在翻译中丢失)
索引
索引是指完成表达式后跟 “.”。(句点)令牌。为此,必须猜测前面表达式的类型,无论它是函数调用,标识符字符串还是常量等。智能完成将对标识符进行反向跟踪,以猜测其类型,甚至猜测其实例(在活动对象或预加载的情况下)。
(编辑:图像在翻译中丢失)
甚至字典或数组也可以追溯到它们的源来猜测它们的类型。
(编辑:图像在翻译中丢失)
由于在Godot中,实现的许多函数来自信号或虚函数,因此它们的参数类型是已知的并且是可计算的。例如,标识符的类型来自参数中的函数,而参数又来自虚函数的参数。
(编辑:图像在翻译中丢失)
活动对象
场景节点(用于节点脚本)和资源可用于跟踪类型。调用返回泛型对象(并且是 const)的函数来猜测潜在的返回类型。例如,对于节点,整个场景树显示为完成提示:
(编辑:图像在翻译中丢失)
或者,对于动画播放器,动画包含在:
cc6.png
最重要的是,使用此功能还可以更轻松地连接来自代码的信号:
(编辑:图像在翻译中丢失)
参数提示
新的智能完成也会提示参数,只要它们完成。对于常规脚本函数,将显示该方法的脚本形式:
(编辑:图像在翻译中丢失)
对于引擎函数,将显示其具有数据类型的完整形式。
(编辑:图像在翻译中丢失)
最后,内置类型可以显示其许多版本的构造函数提示:
(编辑:图像在翻译中丢失)
前途
可能还有更多的空间来进一步改进智能代码的完成。如果您正在使用此功能,并且您觉得Godot应该能够以某种方式猜测您正在编写的代码的类型,请写信给我们,我们将确保添加此方案。
导航:2014 | 2015 | 2016