罗恩·吉尔伯特为Delore出版源代码

2020-05-27 03:54:57

我不小心按错了按钮,在GitHub上提供了Delore源代码。

我确实在GitHub上向Delore发布了所有源代码,但这不是意外。这是一次精心策划的努力,目的是让你在大流行封锁期间有更多的事情要做。我相信每个人都厌倦了玩动物穿越游戏,还有什么比改变你最喜欢的游戏更好的锻炼你的灰质的方法呢?

我不仅上传了所有的源代码,还上传了所有的艺术作品和整个FMOD项目(非常感谢FMOD)。

我还上传了Delore引擎的dev版本(包括完整的调试器),以便您可以运行所有编辑和更改。还包括Wimpy,这是一个允许您在房间中添加和编辑对象的可执行文件。

虽然你几乎可以对游戏做任何你想做的事情,包括编写一个全新的用户界面,或者翻译成任何语言,或者将其返回动词矩阵,但你不能发布或发布游戏。这仅供个人和业余爱好使用。

另一个缺点是,这些确实是我们用来制作游戏的开发工具,就像大多数内部开发工具一样,它们的文档很少,而且非常粗糙。虽然我确实提供了一些帮助文档,但它主要局限于Dinky命令的索引,而不是教程。

需要相当高的技术和编程知识。我一直远离可视化编程和对话引擎。虽然它们对初学者来说很棒,但要完成真正的工作是有问题的。再说一次,这些是我们使用的真正的工具,而不是冲淡的消费者工具。

我已经使用Git 10多年了,但这是我第一次公开回购,不得不处理拉回请求等等。这将是我们两个人的一条巨大的学习曲线。

我一般不会接受拉拉请求只是为了修改游戏,除非他们修复了与让这个回购工作相关的错误。我可能会接受文档和新翻译的拉式请求,如果他们很好,他们可能-可能会被整合到运输游戏中。

在“蒸汽”、“史诗”或“GOG”上进行的游戏需要大量的测试。Delore有/有两名全职付费测试员,在任何版本上传到商店之前,它都会围绕修复程序进行大量测试,而且每个平台都需要完整播放30张照片。每家商店都使用相同的比特,但我们仍然必须从每家商店下载每个平台并进行遍历。

这是为了一个简单的解决办法。如果修复过程更加复杂,或者明显改变了逻辑,则可能需要20-40小时的测试时间。如果我们破坏了商店的建筑,那将需要几个小时的技术支持电子邮件。

我相信很多测试和测试人员,其中很大一部分来自我在卢卡斯电影公司的时间和与硬媒体打交道。我制作并验证了5个以上的软盘,为了测试猴岛的建造,我需要一个多小时的工作。仅将Summ脚本重建到猴岛就花了一个多小时(对于Delore来说,这项工作只需要零点几秒)。

发布一个即将投入生产的版本是非常伤脑筋的,而且非常昂贵。如果你引入了一个愚蠢的错误,你会重新制作20万张软盘。虽然猴岛正在进行最后的测试,但任何变化都必须在测试中生活两周。如果我们发现了一个错误并创建了一个新的版本,我们就会重新设置时钟。

今天,这很容易。我启动一个shell脚本,等待15分钟让CI机器构建新引擎,5秒后它就会启动Steam,我可以按下发布按钮。这太容易了。

额外提示:不要相信程序员可以测试他们自己的代码的神话。他们不能。程序员会测试他们能想象到的所有条件,但是一个好的测试人员会想象更多的条件,玩家会尝试程序员从未考虑过的事情。了解他们的代码是程序员的致命弱点。我已经有了代码,我100%地确定它是坚如磐石的,结果我们的一名测试员让我流下了眼泪。一名优秀的测试人员擅长在您从未考虑过的地方插入您的代码。我不是在谈论你的单元测试排序例程,我是在谈论复杂的拼图逻辑和奇怪的UI使用。这是单元测试永远不会发现的东西,但是一个好的测试人员会。测试人员是你们团队中的无名英雄,好好对待他们。

每次进行构建时,您还会冒着意外引入错误的风险。有一次我从错误的分支进行构建,一切看起来都很好,但在几个bug出现后,我意识到有些地方非常不对劲。我很高兴我没有只是构建并点击发布。即使是修复打字错误也需要测试。

由于几个原因,发布引擎源代码(c++)是有问题的。首先,它使用了我的一个非常大的库,其中大部分没有在这个引擎中使用,所以我必须仔细检查并剔除所有的缺点,更不用说所有专有的控制台垃圾了。我也使用一些第三方来源,我没有权利发布。这是一项很大的工作,会将我的主引擎从发布的引擎中分离出来,这将成为一场合并灾难(要么是这样,要么是一百万#if#s)。

又是小提米,我有一个后续问题……。您为什么不授权我们在我们的装船游戏中使用可执行文件呢?

允许其他人使用该引擎发布游戏对我来说是一场支持的噩梦。一款游戏发布后,客户就会遇到问题,否则它就不能在特定的硬件上运行,然后我就会(间接地)支持它。我可以收费,但除非数百人(如果不是数千人)获得引擎许可,否则我担心成本将超过一款游戏可能赚到的钱。

但最重要的原因是我喜欢做游戏,想把大部分时间花在做新的游戏上,而不是支持引擎。

一旦你有机会看过所有的来源,我想你就会意识到这里没有秘密的调味汁。它只是一个冒险游戏引擎。为什么我要创建一个新的?因为我很享受。

这篇帖子最终比我预想的要长。我希望你喜欢看我和大卫的烂代码。造型愉快。我很想看看你会做什么。

请记住,Delore源代码仅供个人学习和探索。请尊重我们的选择,通过按计划使用源代码来发布源代码。

另外,开发引擎和游戏有相同的限制,所以Mac10.10,Win10(DX12),不幸的是(目前)没有Linux版本。一旦Linux版本完成,我也会将其上传。可能是一个月,也可能是几个月,或者更长。