虽然很长但很精彩

在房屋开放期间我们克服的技术难题

  • 开发原生VR/浏览器跨平台架构

  • 找出Unity WebGL中的漏洞并用我们自己的系统进行修复

  • 为Oculus Quest设计一个跨平台的钱包认证系统

  • 优化Web下高质量的视觉效果并实现在无GPU的情况下的高效加载

一月

2022.01.02,街道倒映着白色的月光,隔夜的粉雪铺满路面,空气中还弥漫着新年庆祝的氛围。这完全不是一个工作日的感觉,但是Highstreet的工程团队在一个旧砖房里已经为入住日开始做为期3个月的马拉松式开发。

最初,我们认为在浏览器上渲染Highstreet world的任何一个部分都是荒诞的,但是Web3社区日益增长的声音开始让我们重新审视我们作为VR专业团队的自豪感。很快,完全不可想象的东西变成了一个全新的提案,只建立在理论上的东西变成了需要克服的挑战。

一月份的时候,我们决定Highstreet元宇宙将在全年分阶段推出,每个阶段都将专注于Highstreet的各个基础建设。第一阶段是房地产,所以玩家可以通过这个进入虚拟世界。第二阶段是商业化,玩家将可以参与和现实世界中品牌结合的各种有意义的活动。第三阶段是Play to earn模式,第四阶段是MMO,以此类推。

现在,第一阶段的范围或多或少已经确定,团队决定成立一个专门的工作组来应对Web的挑战。确保在不牺牲视觉质量的情况下支持通过浏览器访问,未来我们也将添加跨平台的支持。

一月剩下的时间我们都在做研发,而智能合约团队为即将到来的Binance Initial Home Offering设计了代币支持,元宇宙团队拆分成了多个小组,第一组建立我们的元宇宙游戏服务器,第二组专注于游戏机制设计,第三组专注于游戏界面,第四组专注于建模,第五组专注于网页优化。随着需求的不断增长,我们团队规模也很快扩增到了60多人。

二月

二月份对于我们而言是一次大考。二月总是显得很短暂,因此非常适合反思自己在一月设定的目标。今年也不例外,二月里调平期望,发现令人惊讶和不愉快的事情,总体上缺乏突破。

最初的几周非常平静,研发处在验证代码阶段,为真正的实施铺平了道路。没过多久,VR应用程序架构就设置好了,一切都向着好的方向发展,我们等待美术团队完成模型建设,并将他们打包集成到一起。然而,当我们在月底开始将所有内容与网络集成时,一切开始分崩离析。

首先,我们为虚拟世界架构的服务器架构采用了Telepathy框架,对于那些不熟悉游戏服务器架构的人来说,Telepathy在C语言中使用了一个简单的、基于消息的TCP网络。 没有魔法或冗余代码,它非常适合像Highstreet World这样的开放世界MMORPG。然而,这套系统对KISS原则的适配非常糟糕,该系统与web完全不兼容。所以我们的整个网络不得不从零开始重新搭建,而时间仅剩下一个月。但不管怎么样,团队很快改变思路与基于Web Socket设计的Unity团队进行合作,我们从一开始就和他们保持着密切联系,并且他们刚刚发布了一个新产品来帮助托管和拓展项目合作。基于不必再建立自己的云基础设施的前提,我们认为早先浪费的时间和进度完全能够追赶回来; 稍后会详细介绍。

其次,事实证明我们之前选择并合作的生态系统合作伙伴也不支持WebGL。对于游戏内语音,我们选择了作为多人射击游戏常用的Vivox,但是我们又需要学习和集成在Clubhouse等应用程序中使用的语音聊天系统Agora。对于人物,我们采用了TAFI,尽管他们的默认头像系统并不是我们认为最该采用的技术。与Ready Player Me等竞争对手将每个头像渲染成一个GLB文件不同,TAFI是模块化的,这意味着对于我们的玩家能够在游戏中频繁更换服装的需求更为有效。然而,尽管我们尽最大努力与TAFI团队合作,但对于Web端的支持并不在第一季度末的路线图之中。 所以不幸的是,虽然一切都适用于VR版本,但我们不得不为Web设计一些专属的解决方法。对于入住日,我们已经渲染了4个默认头像在Web构架中,以及允许用户自定义他们自己的角色,这个功能也将会在稍晚些时间更新上去。我们知道这样并不理想,并为之道歉。

三月

在探索所有构架更改的同时,团队更像是在尝试建造一架已经在半空中飞翔的飞机。3月对于美术团队而言也是一个巨大的挑战,因为我们为VR渲染优化的惯用技术对于浏览器架构并不奏效。800MB大小的架构对于应用程序来说通常相对合理,但是不会加载到浏览器中,我们花费了无数个夜晚来优化方案,达成在保留资源原始视效质量的情况下将文件大小压缩到最小。此外,对于 WebGL,动态光照基本上是不可能的,因此必须使用巧妙的方法。所有这些都非常耗时,并且给团队带来了沉重的负担。最后,随着构建开始,QA 测试成为团队的新障碍。Unity WebGL 架构的模块并不是开箱即用的,调试后期 Web 集成是一个更大的挑战。测试员的日志似乎并不显示问题出在哪里,因此很快在三月份就变成了一个全员参与的情况,每个团队都不得不放弃他们正在做的事情来帮助入住日的目标能按时完成。

四月

还记得我们谈到过Unity为我们提供帮助托管和部署服务器的黑盒子吗?这和Apex Legend用户数达到百万级别时用的是同一个。然而,就在发布前三天,我们发现他们的系统也与webGL不兼容。理论上,因为Unity服务器部署到云端的方式,它没有附带SSL证书,这意味着对于我们的 HTTPS webapp,我们自己的应用程序将被视为不安全的流量,我们的用户将被阻止去访问它。这是一个不幸的消息,导致我们不得不在发布当天只推出单人游戏体验。 希望我们能在接下来的几天内解决这个问题并让服务器重新上线。

总而言之

整个搭建过程对于团队来说是一段艰辛的旅程,但对于所有参与其中的人来说,这也是一个巨大的学习机会。技术总是在变化和发展,平台必须保持灵活才能为未来构建。现在Web构建已经完成,我们很有信心能够快速修复剩余的bug并准备在接下来的几周内发布我们的VR版本。我们为 Home 系统做了很多准备,它将慢慢地与元宇宙的其余部分相链接,希望大家对我们的开发状态能感到满意,并继续关注我们未来的所有更新。

关于Highstreet

Highstreet是一个建立在MMORPG游戏上的去中心化元宇宙 ,无论是传统还是加密品牌,都可以使用我们的Merchant Portal无缝地整合并在Highstreet世界中建立他们的存在。从项目伊始, Highstreet就一直在努力实现平台与协议间的互操作性。“元宇宙作为服务层”一直是我们发展的方向,并且已经获得了Binance 、 Avax以及Republic和Animoca这样的行业领导者的积极支持。

Website | Medium | Twitter | Telegram | Discord