Vibe coding + Mixed Reality = OpenGate

Vibe coding + Mixed Reality = OpenGate

第1章 – 最初的需求:加速 POC 创建

OpenGate 源于一个具体而务实的需求:加快混合现实和增强现实体验的 proof of concept(POC)创建。在 Metagate 这种高速试验的环境中,每一天都像是在与时间赛跑。创意很多,Meta Quest 3 等 XR 设备的性能也越来越强,但我们缺少一个轻量、动态且集中的工具,用于统筹内容访问和数据管理。目标非常明确:用更短的时间开发更多体验,同时获得更强的控制能力和迭代空间。

当时最灵活、最直接可用的工具是 Google Sheets。一份可以实时更新、共享,并且 Unity 也能轻松读取的表格,就足以管理最初的多媒体 asset(图片、3D、声音)和动态链接测试。只要插入一个 URL、更新一个参数或修改一个坐标,头显中的体验就会即时变化。这种 no-code 方案让创意团队与开发人员无需复杂架构即可协同工作。

与此同时,我们还开发了与表格直接连接的小型 Google Apps Script API。这些 script 可以自动管理行数据、提取特定数据、生成访问 token,甚至实时修改 MR 体验的配置。每个 API 都是针对特定用途的小工具:用于更快测试场景、角色或交互机制。由此形成了一套敏捷、轻量但非常强大的微型基础设施。

虽然这种方法最初只是临时方案,但很快就证明了它的有效性。团队能够同时管理多个 XR 项目 ,并通过集中式 setup 远程调整已经加载到头显中的体验。只需打开表格并修改一个值,就能实时改变数字环境。对于经常往返于活动、展览和 demo 之间的 Metagate 这样的 startup 来说,这种灵活性至关重要。

不过,局限也很明显。基于 Google Sheets 的方法无法真正实现可扩展性。没有结构化系统来处理访问控制、avatar 集成、复杂场景管理,也无法系统性支持与 NFT 平台之间的 interoperability。此外,与表格关联的代码以碎片化方式编写,经常采用“vibe coding”式的解决方案:速度快、创意强,但长期维护成本很高。

正是在这个阶段,我们产生了一个想法:把这套临时系统转变为更加稳固、模块化并可扩展的架构。


第2章 – 与 alpha tester 的首次测试

当基于 Google Sheets 和 API 的微型基础设施可以正常运行后,就到了实地测试的阶段。于是我们邀请了第一批alpha tester:艺术家、开发者、策展人,以及已经与 Metagate 社区关系密切的高级用户。我们的目标是验证,这套轻量、动态的系统能否真正简化混合现实体验的创建与使用。

反馈很快就非常积极。alpha tester 尤其喜欢即时修改内容的能力,而无需重新编译 Unity 项目。只要更新表格中的一个链接,头显里的体验就会实时变化。这为现场 workshop 和活动前测试都带来了新的可能。

一些完全没有编程经验的用户,也已经能够通过在单元格里粘贴链接来spawn 3D asset、图片和视频。no-code 的特性成为促进不同专业角色之间协作的关键因素。

在这个早期阶段,我们还没有真正意义上的 UI:界面就是表格本身。但这已经足以让我们意识到这种方法的潜力。我们仿佛找到了一种全新、直接且共享的方式来组合 XR 体验。Mixed Reality 体验的搭建实际上是在真实世界中通过人工和物理方式完成的。这是一种介于物理与数字之间、非常符合 Mixed Reality 精神的新型“builder”思路。

这种积极反馈推动我们进一步考虑更结构化的方案。系统能够运行,但如果要继续进化,就必须离开表格,成为真正的平台。那时甚至还没有名字的 OpenGate,正准备真正诞生。

第3章 – GPT-o3、vibe coding 与圣诞假期

圣诞假期期间发生了一件意料之外的事。Marco Pizzini 拥有经济学背景,但没有计算机专业训练,他出于兴趣开始尝试 GPT-o3。想法很简单:看看 AI 是否能够帮助编写代码,从而扩展和强化我们已经在使用的系统。

随后进入了一段纯粹的“vibe coding”时期:直觉、生成式 prompt 和立即投入实践的代码不断往返。无论是集成新的 asset 类型,还是管理用户 ID,每项新功能都在 AI 的帮助下完成。缺少严格规则,反而与基于 Sheets 和轻量 API 的现有系统的灵活性结合,使这段时期极具创造力。

很快,真正的产品组件开始出现:最初的 login、基础 avatar 管理,以及初步的 cloud 概念。一切仍然很“手工”,但确实可以运行。更重要的是,这些功能由一名非技术背景的人在 AI 支持下,以跨领域方式构建出来。

就在那一刻,我们意识到:如果借助 GPT 能够做到这种程度,那么 OpenGate 真的可以面向所有人。

于是这变成了一个挑战:至少在 web-app 部分,仅依靠 GPT 究竟可以走多远?

第4章 – webapp 开始成形

在最初的试验和测试成功后,把这些表格和 script 转变为更稳固的东西成为自然选择。于是,第一个使用 Flutter 和 Supabase 开发的OpenGate webapp prototype 出现了。目标很明确:建立一个中央 hub,用于管理不同 Mixed Reality 体验之间的 asset、用户以及 interoperable 功能。

最先迁移的是使用最频繁的功能:用于上传多媒体 asset 的 cloud、用于连接 Metamask 和 WalletConnect 等Web3 wallet 的界面,以及与 Ready Player Me 的集成,用于创建并保存 3D avatar。此外,我们还加入了一套基础系统,用 OpenAI 管理与 avatar 关联的AI assistant。

这种方式的优势,在于它与 XR 头显应用保持连续性,而后者在当时仍然继续读取 Google Sheets。但现在,我们也可以直接通过 webapp访问同一批数据与内容,从而统一整个生态系统。

虽然架构仍处于早期阶段,但已经开始模块化。cloud、NFT、AI、avatar 等每个模块都被设计成独立但可以连接的组件。OpenGate 真正的使命逐渐清晰:成为连接数字世界的模块化桥梁。

第5章 – 告别 Google Sheets

从 Google Sheets 迁移到 webapp 的速度比预想更快。虽然前几个月里表格非常关键,但它的限制开始变得明显:访问安全性不足、结构脆弱,以及难以管理复杂内容或多个场景。随着 Supabase backend 和可用的 Flutter frontend 到位,webapp 接管了核心角色。

迁移过程非常明确。我们先在 database 中复制表格原有字段,然后让头显应用直接从 Supabase 读取数据。同时,新用户也改为在 webapp 中注册,不再通过 Google。最终得到的是一套 更可扩展、更安全且更一致的系统。

很快,Google Sheets 被完全从应用中移除。原本作为临时工具的东西,被真正的、集成式且可以继续演进的基础设施所取代。这表明 OpenGate 正在成为不只是一个实验的项目:它拥有愿景、用户以及真实的增长潜力。

 

第6章 – 围绕 interoperability 的 brainstorming

webapp 稳定下来后,一个关键问题出现了:现在,我们真正能用它做什么? 正是在这个时候,我们进行了一次非常重要的 brainstorming。坐在一张真实或虚拟的桌子旁,我们开始思考 OpenGate 的真正潜力:成为平台之间的桥梁,成为连接不同数字世界的 interoperability 工具。

这已经不再只是上传 asset 或在 Mixed Reality 中将其 spawn 出来。我们的设想更加宏大:让用户可以携带自己的内容、avatar 和数据自由移动,从一个 metaverse 到另一个 metaverse,从一种体验到另一种体验,同时保持叙事和身份的一致性。NFT、Ready Player Me avatar、AI assistant、cloud asset……所有这些内容都应该可以在不同环境中重复使用。

从这时起,OpenGate 开始被定义为真正的连接基础设施。它不只是 Mixed Reality builder,而是横向层、连接节点,是兼容 XR、gaming、Web3 和数字文化逻辑的 interoperability 界面。

这是一次范式变化。OpenGate 从 Metagate 的简单内部运营支持,开始发展成拥有明确使命的独立产品:在数字生态系统之间建立连续性。这些生态系统目前仍然彼此割裂,但也正因此,为这一类此前尚未被充分利用的解决方案留下了空间。


第7章 – 可扩展重构与头显应用的新 UI

当 OpenGate 作为模块化、interoperable 基础设施的愿景清晰以后,我们意识到,薄弱环节正是头显应用本身。它仍然与旧的 Google Sheets 逻辑绑定,已经累积了大量 patch、快速测试和“临时”编写的代码。虽然能工作,但结构脆弱、难以维护,尤其是难以扩展。

因此我们又进行了一次 brainstorming,这次重点是如何清理并重新建立 XR 应用的 UI。这个界面最初只为快速测试设计,但随着时间推移,已经堆积了不必要的结构、没有优化的步骤,以及来自过去那个时期的逻辑——当时每个元素不是 hard-code,就是直接从 Google Sheets 读取。

我们真正想要的是一套面向最终用户、而不仅仅是开发者的 UI:流畅、模块化、一致,并且能够在 Mixed Reality 中轻松导航。目标是建立一套可以在多个项目中重复使用的结构,让组件能够适应不同类型的体验,从展览到协作游戏。

与此同时,我们开始从逻辑上拆分各个模块:asset、AI、multiplayer、NFT、cloud。每个模块都应该独立运行,同时又能够与其他模块通信。这是 OpenGate 真正转变为灵活 XR 系统的起点。


第8章 – 入选 BeFuture 与 KNOBS 的支持

就在系统重构和整体重新思考的阶段,一条消息成为转折点:OpenGate 入选 BeFuture 的获选项目。这个面向创新与实验的项目,为我们带来了两个关键要素:可信度与资源。我们终于有了真正整理代码、让平台更加安全、稳定并具备生产就绪能力的条件。

通过获得的资金——将在随后的几个月内可用——我们能够在明确愿景与共享行动计划下,精确规划接下来的步骤。尤其是,我们开始与 KNOBS 团队讨论技术 refactoring、compliance 改进以及 webapp 安全加固的路径。

目标非常有挑战性:清理整个 backend、模块化代码、加入安全控制、强化 login、优化 API,并确保系统长期稳定。但在这个阶段,这些工作都还没有真正进入运行状态:一切仍处于定义和设计阶段。

与此同时,最可见的部分也在同步推进:头显应用。它将承载计划在夏季发布的首批公开 release。BeFuture 带来的真正技术工作将在不久后正式开始。


第9章 – 双轨推进:开发新 UI,同时让旧 UI 适配 Meta Store

春季的几个月里,OpenGate 沿着两条平行路线发展。一方面,Daniele 正在开发头显应用的新 UI/UX:一次全面、整洁且模块化的重新设计,目标是为最终用户提供流畅、直观的交互。整个设计从零开始,重点关注流程清晰度、可扩展性以及视觉一致性。

但与此同时,我们决定不等待新界面就开始面对真实世界。因此,Paolo 和 Giada 并行处理另一个优先事项:清理并调整旧 UI,去除 Google Sheets 时期积累的大量冗余结构,至少让它达到可以在 Meta Store 发布的程度。

目标非常务实:即便只是有限版本,也要尽早发布,从而测试 submission 流程、提前遇到可能的技术或行政障碍,并开始理解经常不够透明且复杂的Meta 发布政策。这是一种“可控地面对现实”的方式,有助于提前发现问题并为后续版本铺路。核心是降低风险。

OpenGate 由此第一次真正走出实验室:还不完美,但已经真实存在。

“如果你不为自己的第一个产品感到有点尴尬,那就是发布得太晚了!” 引用。


第10章 – 6月首次免费 release,并在 ATLAS MEET 测试

6月,OpenGate 首次公开 release正式到来。虽然 UI 仍然只是临时版本,仅做了足以通过 Meta Store submission 的基本调整,但我们还是决定免费发布第一个版本。此时的目的还不是获取用户,而是测试技术稳定性以及平台在真实环境中的表现。

最合适的机会就是ATLAS MEET,该活动由米兰 MEET Digital Culture Center 举办,Maria Grazia Mattei 连续第二年邀请我们参加。针对活动,我们发起了一次Call for Artists,让内容可以在极短时间内上传到头显并通过 Mixed Reality 展示。

这是一次非常重要的全方位测试:cloud 管理表现良好,系统保持稳定,而且我们真的可以无需编写代码就“spawn” asset。同时,这也是一次收集现场反馈的机会:哪些功能有效、哪些无效、哪些部分不清晰,以及体验还能在哪里改进。

这次首次公开使用具有象征意义:OpenGate 不再只是内部项目或 prototype,而是已经准备好真正面对用户的 XR 平台。


第11章 – 7月第二次 release,并在 Broletto di Novara 测试

7月,OpenGate 的第二个 release上线,这一次有了重要进展:经过前几个月开发的第一版新 UI正式加入。它还不是最终版本,但相比那个仅为通过 Store 发布流程而准备的版本,已经能提供更流畅、更一致、更现代的体验。

测试的关键机会来自Broletto di Novara 的邀请,这得益于与 Andrea Barbara Romita 的合作以及 Marta Ballara 的支持。在艺术与文化场景中,我们把 OpenGate 作为 no-code 工具展示,用来管理 Mixed Reality 中的数字内容,并提供面向不同观众群体的互动 demo。

这次体验非常有价值:新的交互流程确实简化了应用的使用方式,即使此前从未使用 XR 头显的人也更容易上手。cloud、avatar 和 AI 功能开始在同一个统一界面中共存。


第12章 – 8月第三次 release:multiplayer、场景与持久化世界

8月发布的 OpenGate 第三个 release 是一个真正的转折点。这是头显应用第一版真正结构完整且功能完善的版本,包含多项期待已久的功能:多场景系统、同步 multiplayer,以及现实空间中对象的持久化。

用户现在可以在不同场景之间导航,每个场景都有自己的环境、规则、内容和 layout。每个场景都可以实时修改,并且能够重复使用,配置存储在 cloud 中。最大的变化在于,第一次,用户放置在 Mixed Space 中的 asset、对象和其他元素都能够持续保存并保持同步,即使应用重新启动也不会丢失,使体验真正成为持久且共享的空间。

multiplayer 允许多名用户进入同一个场景,并在完全相同的位置看到相同对象,为协作、游戏和多用户互动展览打开了空间。这是迈向集体 XR 空间的第一个具体步骤。

这个 release 上线还只有几天,我们目前处于主动观察阶段:希望了解人们会怎样使用这些工具、会创建什么内容,以及这种全新的增强数字存在形式最终会把我们带向哪里。


第13章 – 与 KNOBS 一起强化 backend 安全性与可扩展性

第三个 release 终于上线后,我们需要处理一个核心问题: backend 安全性。此前代码一直按照创意需求和持续测试的节奏逐步编写,以实用性为先。虽然整体架构能够运行,但为了确保可靠性和可扩展性,显然需要有针对性的技术介入。

在这个阶段,KNOBS 正式参与实际工作。他们的任务是对现有代码进行精准修正,巩固已经能够正常工作的部分,同时降低未来出现问题的风险。

优先事项非常明确:保护 API key、加强访问安全、集中管理敏感变量,尤其是建立更稳固的结构,从而能够安全测试 update,并支持不断增加的用户与内容。

Metagate

订阅我们的 新闻通讯 ,获取全部优势与更新。

如需观看我们的体验视频,请关注 Instagram、 YouTube 和 Twitter。

我们的相关链接可在 Linktree 查看,或通过 联系我们。

作者: Marco Pizzini 

术语表

 

返回博客

发表评论

请注意,评论必须在发布之前获得批准。