主页 > 超变传世私服 > >

为Unity开发冒险游戏框架

发布时间:2019-04-27 13:46

你好,叙事游戏的朋友,哦,你好2019年!

过去几个月对我们来说很忙。我们一直致力于一些较小的委托工作,但主要实施了我们即将推出的度假村的基本框架。这将是一个相当技术性的帖子,它将介绍我们新框架的基本结构。

我们将Unity用作游戏的游戏引擎。鉴于我们是一个非常小的团队,我们开始使用Unity资源商店的插件来节省时间和资源。对于Unforeseen事件,我们使用Adventure Creator,这是开发经典风格点和放大器的重要资产。点击冒险。

然而,依赖插件实现非常基本的功能也被证明是令人沮丧的原因,并引导我们为我们的新项目和未来项目开发自己的核心框架。

为了编写故事和对话框,我们决定改用Ink,这是Inkle的一种脚本语言,它允许一个非常自由和创造性的写作过程。整个游戏的脚本是用简单纯文本编辑器编写的。基本上,故事流的整个逻辑可以直接在Ink中实现。

在过去的几周传奇世界sf外挂免费版里,我们开发了一个系统,允许我们使用Ink故事在Unity中创建一个探索性的叙事3D游戏。这里是一个关于系统如何工作的草图:

为避免分配内存,所有故事文件都会在运行时解析。然后我们的解析器创建一个游戏中使用的方向数据库。方向是Ink故事中的命令,看起来有点像这样:

>>> TIMELINE intro runinbackground:true

上面的命令告诉Unity运行一个名为intro的时间轴,并且不要等到它完成,直到它运行下一个Ink命令或显示脚本的下一个对话框行。我们不想解析并创建运行方向,因为这会随着时间的推移产生大量垃圾。我们将字符串命令解析为Directions。方向是ScriptableObjects,它包含对Story Elements的引用,场景中的GameObjects以及在运行时执行的逻辑。

游戏由多个场景组成,故事元素分布最新开区传世私服在不同的场景中。为了不丢失引用,我们使用William Armstrong出色的Cross Scene Reference脚本。路线使用交叉场景参考,而不是直接引用游戏对象。

解析器还为对话框创建了一个数据库,允许我们将脚本转换为其他语言,并为语音角色(使用不同语言)创建脚本。 Ink文件中的对话框行如下所示:

劳拉:那你在做什么?

使用Ink语法,整个游戏都是在纯文本文件中编写的。当游戏运行时,Ink文件由Director执行,遵循故事中的逻辑。 Director使用预先创建的数据库,负责执行方向和对话行。故事的整个逻辑位于Ink文件中,而所有故事元素都放置在Unity场景中。

现在已经实现了基本系统,我们可以开始在游戏中获取所有Ink文件,3D模型和动画!我们会随时向您发布有关此流程的信息。

加入我们的Discord,不要错过未来的更新!

上一篇:EA Giving Away Dragon Age- Origins for Free on PC

下一篇:E3 2011索尼新闻发布会报告卡1

相关文章