雖然很長但很精彩

在房屋開放期間我們克服的技術難題

  • 開發原生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