【新的 Decentraland SDK 即将出现:SDK 7 宣言】SDK 7 旨在改善场景创建体验,同时不仅是开发人员,而是让每个人都更容易使用。通过官方宣言全面了解 SDK 7 如何打破界限并提高可用性、性能和可移植性。

2022-7-28文章

概括

Decentraland SDK 的新版本正在开发中,以使其更接近最初为该平台设想的理想化 SDK。最终目标是让 Decentraland 的 SDK 成为一个用于创建元宇宙内容的开放协议,对任何其它可能想要采用它的平台开放,并且任何人都可以使用。

目前正在进行的更改将对 Decentraland SDK 的多个维度产生巨大影响。改进的主要类别是:

  • 可用性:使内容创建者的开发更容易,并为添加 Decentraland Editor 铺平道路,这是一个强大的基于视觉的场景构建器(如 Builder),但仍允许完全控制场景的代码。
  • 性能:让玩家享受更流畅的体验,减少更多的问题,无需依赖创建者进行优化。
  • 可移植性:使 SDK 更适应其它引擎/平台。

目前的 SDK

Decentraland SDK 的第一个版本是 4 年前由一个团队开发的,该团队的成员在创建软件应用程序方面经验丰富,但从未开发过游戏或游戏平台。因此,需要对 SDK 进行几次不同的迭代才能使其工具更直观,并随着产品的发展而减少限制。在这个过程中,SDK 团队学到了很多东西,整个 Decentraland 基金会团队已经成长为包括许多经验丰富的游戏行业资深人士,他们为 SDK 项目提供了有用的反馈和贡献。

SDK 目前正处于其工具可以创建复杂场景的地步,甚至允许一些创建者以他们的创作为生。但是,这仅适用于经验丰富的开发人员,或者愿意付出大量努力学习如何使用开发人员工具并熟悉高级编程概念的人。我们希望改变这一点,以便任何想要参与的人都可以参与为元宇宙创建内容。

此外,当前可用于创建内容的开发人员工具并不适合用于迭代场景设计和感觉的一些纯视觉工作。例如,通过代码将场景的元素定位到位是碰巧的,而且通常是一个缓慢的过程。最终,SDK 7 的目标是让所有用户群体受益,不仅变得更易于访问,而且整体上更好。

主要改进领域

SDK 7 的开发主要围绕三个关键领域的改进:可用性性能可移植性。优先考虑这些领域的改进以使 Decentraland 的 SDK 更接近最初为平台设想的理想化版本至关重要。让我们深入了解 SDK 团队计划如何在 SDK 7 中实现这些总体目标。

可用性

目前,为 Decentraland 创建内容很困难,这是一个大问题,因为创建者群仅限于经验丰富的开发者,而使得平台错过了其他群体可以提供的所有潜在人才和创造力。拥有源源不断的多样化和令人惊叹的内容对于 Decentraland 的存在至关重要,这就是为什么让任何人都更容易使用 SDK 是 SDK 团队最重要的目标之一。

除了降低创建场景的障碍外,创建者还应该在 Decentraland 中构建任何可以想象的东西时获得最佳体验。 Decentraland 基金会对 Decentraland SDK 的愿景是成为创建者喜爱使用的产品。

SDK 7 将通过以下方式提高可用性

  • 更简单的多人游戏体验:制作多人游戏 Decentraland 场景是创建者至今遇到的最艰巨的挑战之一。结果造成大多数内容创建者只创建单人游戏体验,这是很可惜的,因为元宇宙​​旨在成为与他人会面的社交空间。 为了更轻松地创建多人游戏体验,SDK 7 旨在通过网络同步更改,实施复杂的无冲突复制算法。这将是一种默认行为,因此创建者无需弄清楚如何执行此操作。除了启用多人游戏体验外,此功能还将允许场景在服务器中存储持久的场景状态。例如,如果玩家打开一扇门然后离开,服务器会记住门是开着的,后来进来的玩家应该也会发现它是开着的。
  • 可扩展的复杂性:在设计任何工具时,几乎每一个决定都会反复出现权衡:您要么追求更易于使用,要么追求灵活性和范围更广。工具的范围越小,复杂性就可以隐藏在假设背后并远离用户视线。但如前所述,创建者应该能够在 Decentraland 中构建任何可以想象的东西,因此限制 SDK 的功能不是一种选择。因此,使 SDK 可供所有人访问但仍然能够构建任何东西的明显解决方案是在复杂层中设计 SDK 的 UX。该计划是实施默认设置,提供一条简单的路径,但如果创建者想亲自动手,他们也可以选择进入幕后。
  • 开箱即用的游戏服务器:新的架构设计和协议将使创建者更容易运行游戏服务器。该方法遵循在服务器和客户端之间共享代码的行业标准,在服务器中运行与在每个玩家实例中相同的模拟,并保证实体的同步。这些游戏服务器可以是无需信任的,也可以是权威的,这取决于场景的需要。
  • 为 Decentraland 编辑器铺平道路:这将是一个具有可视化界面(如 Builder)和代码编辑功能的一体化内容创建工具。这最终将成为技术和非技术创建者的首选工具,并将成为将非开发者用户带入为 Decentraland 创建场景的世界的游戏规则改变者。使用 Decentraland 编辑器,创建者不需要处理任何开发工具,如命令行、Node、Visual Studio Code、GitHub 等,如果他们无此意愿。这个单一工具将在一个地方提供创建者可能需要的所有内容,并将总体上改善创作体验。例如,调整 3D 对象的位置将成为一项直观的视觉任务,但编写描述系统行为的代码的选项仍然存在。 查看所有现有的可视化编辑器(Builder、DCL Edit、VR Bylder),没有一个可以在编辑模式下从 SDK 代码运行场景。相反,它们会跟踪某些模式中每个项目的位置,并且仅在预览或导出时按需生成 SDK 代码。这种方法有很多局限性。 Decentraland 编辑器将能够在每种模式下运行场景,进一步增强用户体验。
  • 新的文档平台:当前的 Decentraland 文档平台仅显示与 SDK 最新版本相关的信息。它不是一个完美的系统,因为它不一定是每个人都使用的版本。由于对 SDK 7 的更改将包含重大更改,并且每个人都可能不会立即加入,因此支持旧版本的 SDK 比以往任何时候都更加重要。除了支持内容版本控制,新的文档平台还将托管 Decentraland 协议的技术文档,针对代码贡献者。

性能

Decentraland 提出了一些独特的开发挑战,首先是 3D 虚拟世界需要在浏览器上运行,这不会给低效率留下太多空间。此外,由于场景是相邻渲染的,因此表现不佳的场景不仅会受到影响,还会拖累周围的所有场景。因此,SDK 不应依赖所有创建者来开发完美高效的场景,而应该拥有能够带来轻量级和优化内容的工具,即使创建者没有考虑这方面。

SDK 7 将通过以下方式提高性能

  • 静态场景:使用 SDK 7 构建的场景只会在用户远离时加载场景的主要 3D 模型(或它们的低分辨率版本),并在用户靠近时等待加载动态内容。这确实有助于优化世界,因为这意味着玩家将能够体验更大的可见区域,感觉更像是一个连续的世界,同时不需要平台实际运行所有可见的代码。
  • 新数据流:在 SDK 7 中,将场景与渲染器连接起来的消息传递协议将得到优化,不仅是轻量级的,而且还具有能够根据需要缓存/过滤/重新分发信息的中间件。例如,静态场景可以被认为是存储在文件中的简单“协议的缓存消息”;当用户远离场景时,渲染器可以预加载文件,而无需下载和执行实际代码。然后,当用户走近场景时,使用存储在服务器中的最后一个状态加载代码,该状态也可以被缓存。
  • 新的通信技术:当前的 P2P 架构在服务器和基础设施方面非常分散且轻量级,但事实证明,它不足以满足第一人称射击游戏和其它竞技游戏所需的近实时交互。 SDK 7 将默认实现当前的 P2P 网络模式,但它也将为通信技术的即时切换打开大门。内容创建者将能够自己处理玩家之间的配对,甚至建立私人联系。由于内容创建者将能够插入与界面匹配的任何技术,他们将能够使用更快(更集中)的通信技术。

可移植性

Decentraland 的参考渲染器基于 Unity 构建,但 Decentraland 基金会的使命始终是成为一个任何人都可以自由扩展的开放平台。这意味着有一天,可能会出现使用其它引擎的替代社区构建客户端,从而使 Decentraland 可供玩家使用各种硬件类型等等。

今天,SDK 和渲染器以某种方式深深地交织在一起,这使得构建替代渲染器变得非常困难。然而,在 SDK 7 的开发过程中,团队将迈出第一步,以更接近重新定义 SDK 和 Decentraland 运行引擎之间的接口。一旦完成,SDK 7 将围绕具有清晰文档的简洁模块化架构构建,如果一切顺利,将可以相对轻松地将其插入其它引擎。

SDK 7 将通过以下方式提高可移植性

  • 通用性:SDK 7 的设计方式将来应该可以在受限甚至远程环境中使用。这可能包括移动设备和可以嵌入移动设备或渲染引擎的自定义轻量级 JS 运行时。
  • 标准化协议:从场景代码到渲染器,每个组件都将被重新审视,以确保新协议得到优化并有据可查。目标不仅是重新实现每个组件以遵循新系统,而且还使未来的系统能够建立在现有系统之上。换句话说,正式化 Decentraland 协议
  • 欢迎新分支:一旦 Decentraland 协议正式化并记录在案,新的贡献者将能够使用 Godot、Unreal、独立 VR 和自定义引擎或平台等替代技术创建自己的 Decentraland 版本。

SDK 7 路线图

以下是 SDK 7 发布前后设定的里程碑:

2022年9月:软启动 SDK 7 beta 以收集反馈和测试功能(首先是朋友和家人,然后是整个社区)。

2022年10月:启动与 SDK 6 特性相同的 SDK 7 功能,包括文档和示例。

2022年11月:完成有关内部协议的 SDK 7 文档并建立 Decentraland 协议 1.0,以作为新技术(Godot、Unreal、独立 VR、自定义引擎或平台等)的新客户参考。

2022第四季度:创建一个适配器,自动将 SDK 6 场景的内部消息转换为 SDK 7 使用的更优化的协议,而无需部署场景的内容创建者执行任何操作。

2023第一季度:发布 Decentraland Editor 的第一个版本(用户对象:SDK 开发人员),该版本将是嵌入 SDK 7 的辅助工具,用于本地开发。

2023第二季度:发布 Decentraland Editor 的第二个版本(用户对象:非技术内容创建者)。此版本将取代 Builder。可以通过网络访问,并且可以使用服务器来存储项目。

2023第三季度:发布第三版 Decentraland Editor(用户角色:所有人)。此版本将整合代码和非代码用户以实现渐进式学习曲线。它还将包括支持新组件和系统经济的 NFT 系统。

SDK 产品过程完全发生在开源 GitHub 议题中。由于透明度是 Decentraland 基金会的核心价值,因此整个 SDK 的规划和组织过程都可以在 GitHub 上获得,供社区参与和审核。

选择您常用的频道加入与我们联系,关注Decentraland(MANA)的最新动态

DCL基金会全球社区:
Official Website

Telegram
Blog
Twitter
Discord

DCL中文社区:
Medium】用户指南
电报群
推特

微博
微信群】请加微信ID ChinWaan
微信公众号】manalandcn

Subscribe to Decentraland 中文社区
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.