▲圖片標題(來源:iThome)
挾著在遊戲及媒體產業的經驗,2017 年成軍的狂點軟體開發專攻擴增實境(AR)及虛擬實境(VR)技術,全力打造元宇宙的新世界,拓展在行銷、公關、培訓等不同領域的應用。為了因應開發時程短、客戶需求變化快的雙重挑戰,狂點的首要開發目標就是確保效率和彈性。
狂點以 ASP.NET Core 搭配 C# 為主要開發環境實現上述目標,同時結合 Azure SignalR Service 及多種 Azure 服務,達成優化使用體驗、降低營運支出的雙重效益。
狂點軟體開發創辦人暨執行長賴錦德表示:「我們希望透過真實世界與虛擬世界、平行空間的連動,以虛實整合創造更多生活樂趣。遊戲上線的最大擔憂就是被流量衝垮,結合微軟的開發環境及 Azure 的營運平台,讓客戶及玩家感受到穩定、高品質的服務,也提升了與我們持續合作的意願。」
從 App 到平台化的業務模式蛻變
不同於傳統遊戲由集中化的伺服器進行控管,去中心化的區塊鏈和個人化的 Web 3.0 世代創造了截然不同的遊戲模式,包括因人而異的智慧內容(Smart Content)與獨一無二的 NFT(Non-Fungible Token)。
狂點據此打造 O2O(Online to Offline)無縫接軌的體驗,預定今年 6 月推出測試版本、下半年正式在台發行的 PARALAND,不僅是結合遊戲與社交的元宇宙平台,也是台灣首款結合領地爭奪、虛擬貨幣、社群互動、LBS 平行世界等各種虛實科技元素的元宇宙區塊鏈遊戲,提供玩家與各式 IP 或偶像的虛擬互動空間,形同是 3D 版的臉書粉絲團。
從創業之初針對個別客戶開發 App,到現在蛻變為平台化的業務模式,狂點順利轉換軌道的關鍵就在背後強大的開發動能。從成立的第一天開始,狂點就以 ASP.NET Core 平台搭配 C# 進行開發,並選擇 Azure 為營運平台。
狂點軟體開發技術長鮑承佑表示:「遊戲開發必須兼顧五大條件,分別是遊戲內容開發難度、研發營運付出成本、團隊規模分工程度、招募人力技術門檻,以及推出新內容所需時間。微軟在開發環境、雲端服務及全球社群的加乘效應,讓我們只需選定單一夥伴合作,就能達成所有目標。」
以最佳成本效益確保玩家體驗
對狂點而言,由於 ASP.NET Core 可跨平台在 Windows、macOS 和 Ubuntu 開發與執行,前後端開發人員都能使用 C#,無需區分為兩個團隊,可以更靈活地配置成員,進而大幅節省人力和時間。從技術面來看,前端 Unity3D 與後端 ASP.NET Core 的開發層次溝通語言一致,無論是協同作業或資料傳輸都無需重新定義,亦可免除遊戲前後端資料交換的轉換過程,開發速度更快且不易出錯。
除了 ASP.NET Core 以外,狂點還使用了 ASP.NET Core SignalR、Azure SignalR Service、Azure Logic Apps、Azure Cosmos DB、Azure PlayFab、Azure Front Door、Azure Kubernetes Service、Azure Database for PostgreSQL 等雲端服務。
以 Azure SignalR Service 為例,就與玩家的使用體驗息息相關。鮑承佑說明,傳統手遊程式通常採取弱連結,玩家會因短暫跳離程式而斷線;相對地,大型線上遊戲都是採取強連線,也就是保持玩家的連線狀態不中斷,但伺服器等營運費用也會隨之攀升。
為了確保強連線,開發人員必須使用客製化內容的虛擬機,開發及後續維運更為複雜且耗時,但透過 Azure SignalR Service 自動化處理上述問題,不僅可以保持強連線品質,還能降低遊戲伺服器營運成本,還能自動擴展或縮減,免除開發人員的工作負擔。此外,整合 Azure Function FaaS 服務,同樣也能以低成本、低負擔來開發遊戲維運工具的推送更新資料功能。
根據狂點以架構較為簡單的初版程式進行測試,是否使用 Azure SignalR Service,連線效能的差距可達3倍之多。狂點進一步以 Azure Logic Apps,結合 Azure Files 服務來做為遊戲企劃資料內容上傳流程的工具,而在維運監控的聊天機器人部分,則是整合 Azure Application Insight 和 Microsoft Teams,以緊密整合的原生雲服務為玩家提供流暢的使用體驗。
技術與營運的雙重助力
狂點希望透過 PARALAND 所打造的元宇宙,是可以自由探索、遊戲的新空間,首波目標是鎖定在以偶像和 IP 為主的粉絲經濟。賴錦德說:「遊戲上線的最大擔憂就是被瞬間流量衝垮,以及持續更版的時間壓力。Azure 雲端服務易於設定,微軟開發社群對問題的迅速反饋,都是極為實用的助力。」
舉例來說,Azure Cosmos DB 可橫跨不同區域及資料中心的 No-SQL 資料庫的優勢,不但可滿足上線期限內的快速交付需求,更可有效因應遊戲上線初期或舉辦活動時的流量爆增狀況。此外,Azure Cosmos DB 的線上動態擴充機制,無需像傳統資料庫必須停機調整,因此對於重大活動的開發時程壓力,就能先以簡化版打頭陣,並在不中斷服務的情況下,持續進行內容的更新及擴增。
值得一提的是,Azure Cosmos DB 還提供了 MongoDB API 相容模式,在開發及除錯階段時,開發人員可於地端使用 MongoDB 資料庫進行開發,再無痛轉移至雲端的 Azure Cosmos DB 資料庫。
Azure Front Door 亦可提供額外輔助,狂點在開發知名藝人林俊傑的新專輯網站及自家的 PARALAND 官網時,以跨資料中心的靜態網頁快取來減輕後端 Azure Web App 的流量壓力,並以 Web Application Firewall 來防禦 DDoS 攻擊。
隨著 PARALAND 即將上線測試,為了優化營運,狂點也規劃採用 Azure 相關服務來輔助,例如:Azure PlayFab 的 PlayStream 即時事件回傳功能就曾用來收集「宜蘭瘋尋寶 App」集印章積分活動的資料;狂點正在評估以 Azure PlayFab Party Chat 來實做 PARALAND 遊戲內對話系統的可行性。
至於 PARALAND 開發版後端服務目前使用的 Azure Web App,則會在正式上線後改採 Azure Kubernetes Service(AKS),如此一來,就能在不停機狀態下進行後端部署上版,也能同時容許新舊或不同區域版本的用戶端連線。
微軟透過 GitHub 以開源模式經營 ASP.NET Core,讓狂點的開發團隊迅速取得最新技術的大量公開文件,並與微軟的世界級團隊在線上互動,亦可向台灣本地活躍的 .NET 社群請益。鮑承佑表示:「對開發者而言,省時省工易掌握就是好工具,ASP.NET Core 的優異效能及一路走來的開發體驗都讓我們很滿意,也證明了微軟的開發工具很適合用於開發區塊鏈和即時互動技術,結合 Azure 更能帶來營運面的多重效益。」
轉貼自: iThome
若喜歡本文,請關注我們的臉書 Please Like our Facebook Page: Big Data In Finance
留下你的回應
以訪客張貼回應