將雲服務用於 UWP 遊戲
Windows 10 中的 Universal Windows Platform (UWP) 提供一組 API,可用於開發跨 Microsoft 裝置的遊戲。 在跨平台和裝置開發遊戲時,您可以使用雲端協助根據需求擴充遊戲。
如果您要為遊戲尋找完整的雲端解決方案,請參閱軟體 Software as a Service for game backend。
什麼是雲端運算?
雲端計算使用網際網路上的隨需 IT 資源與應用程式,來儲存及處理您裝置的資料。 術語 cloud 是表示海量資源 (非本機資源) 的可用性的比喻,您可以從非特定位置存取這些資源。 雲端計算原理為資源和軟體的消耗提供一種新的途徑。 使用者不再需要預先支付完整的產品或資源,而是能夠使用平台、軟體及資源作為服務。 雲提供商通常根據客戶的使用或服務計畫來為其開具帳單。
為何使用雲服務?
將雲服務用於遊戲的優勢之一是,您無需提前投資於物理硬體伺服器,而只需在以後階段根據使用或服務計畫進行付費。 這是幫助管理開發新遊戲標題所涉風險的方法之一。
另一個優勢是,您的遊戲可以利用海量雲資源實現可擴充性 (有效管理併發玩家數量突然增加的情況、即時性極強的遊戲計算或資料要求)。 這樣可以保持遊戲全天候的穩定性。 此外,您可以從運行於全球任何平台的任何裝置存取雲資源,這意味著您可以將遊戲帶給全球所有人。
為玩家提供驚人的遊戲體驗非常重要。 由於雲端中執行的遊戲伺服器不受使用者端更新影響,因此它們可以讓您在整體上擁有更受控制且更安全的遊戲環境。 您也可以透過不信任使用者端和具有伺服器端遊戲邏輯的方式,透過雲端達到遊戲的一致性。 服務對服務的連線也可以配置為允許更整合的遊戲體驗;例如,將遊戲中的購買連結到不同的支付方法,跨不同的遊戲網路橋接,以及共用遊戲中的更新到流行的社群媒體入口網站,如 Facebook 和 X。
您也可以使用專屬的雲端伺服器來建立大型的持久遊戲世界、建立玩家社群、收集並分析玩家資料,以提升遊戲玩法,並最佳化遊戲的貨幣化設計模式。
此外,需要密集的遊戲資料管理功能的遊戲,例如具有非同步多人機制的社交遊戲,可以使用雲服務來實現。
遊戲公司如何使用雲技術
瞭解其他開發人員如何在遊戲中實施雲解決方案。
開發人員 | 描述 | 主要遊戲情境 | 深入了解 |
---|---|---|---|
Tencent Games | Tencent Games,已開發一個使用 Azure Service Fabric 的創新解決方案,使傳統 PC 遊戲能夠以服務形式提供。 他們的雲端遊戲解決方案使用「精簡型用戶端+豐富型雲端」模式,以後端微服務的形式執行工作負載。 |
|
|
343 Industries | Halo 5: Guardians 使用 Azure Cosmos DB (透過 DocumentDB API) 實現 Halo: Spartan Companies 作為其社交遊戲平台,由於其自動索引功能而被選中。 |
|
|
Illyriad Games | Illyriad Games 創造 Age of Ascent,一個大型多人線上遊戲,史詩般的 3D 空間遊戲,可以在擁有現代瀏覽器的裝置上玩。 所以這個遊戲可以在 PC,筆記型電腦,手機和其他流動裝置上在沒有外掛程式的情況下進行。遊戲使用 ASP.NET Core、HTML5、WebGL 和 Azure。 |
|
|
Next Games | Next Games 是基於 AMC 原創系列的 The Walking Dead: No Man's Land 電子遊戲的創作者。 Walking Dead 遊戲使用 Azure 作為後端。 遊戲首週末下載量達 1,000,000 次,並在第一週內成為美國應用商店的 iPhone & iPad Free App 第一名,12 個國家的 Free App 第一名,以及 13 個國家的 Free Game 第一名。 |
|
|
Pixel Squad | Pixel Squad 使用 Unity 遊戲引擎和 Azure 開發 Crime Coast。 Crime Coast 是一個在 Android、iOS 和 Windows 平台上的社交策略遊戲。 Azure Blob Storage、Managed Azure Redis Cache、負載平衡的 IIS VM 陣列以及 Microsoft Notification Hub 已用於他們的遊戲。 瞭解 5000 名同時進行的玩家數量激增,如何管理擴充與處理玩家。 |
|
|
其他連結
- Hitman 與 Azure:建立只能使用雲端才能實現的遊戲功能,例如難以捉摸的目標
- Azure 是 Hitmines、Game Troopers 和 InnoSpark 的秘藏
如何設計雲端後端
當製作人和遊戲設計師討論遊戲需要哪些遊戲功能和功能時,最好開始考慮如何設計遊戲基礎設施。 當您想要為各種裝置及跨不同主要平台開發遊戲時,可以將 Azure 用作遊戲後端。
瞭解 IaaS、PaaS 或 SaaS
首先,您需要考慮最適合您遊戲的服務級別。 瞭解下列三種服務中的差異有助於您決定建構後端的方法。
-
基礎設施即服務 (IaaS) 是一種即時計算基礎設施,透過網際網路提供和管理。 想象一下,有許多機器可以隨時隨地根據需求快速擴充或縮小規模。 IaaS 可協助您避免購買及管理自己的實體伺服器及其他資料中心基礎建設的成本、複雜程度。
-
平台即服務 (PaaS) 與 IaaS 類似,但也包括管理基礎架構,如伺服器、儲存和網路等。 因此,除不購買物理伺服器和資料中心基礎架構之外,您還無需購買和管理軟體許可證、底層應用程式基礎架構、中介軟體、開發工具或其他資源。
-
軟體即服務 (SaaS) 可讓使用者透過網際網路來連線並使用雲端式應用程式。 它提供完整的軟體解決方案,可供您從雲服務提供商那裡按使用量付費購買。 常見的範例是電子郵件、行事曆和 Office 工具 (例如 Microsoft 365 Office 應用程式)。 您替組織租用應用程式,而您的使用者透過網際網路連接至該應用程式,這些程序通常都是利用網頁瀏覽器進行。 所有的基礎結構、中介軟體、應用程式軟體和應用程式資料都位於服務提供者的資料中心。 服務提供商將管理硬體和軟體,並透過適當的服務協定來確保遊戲的可用性和安全性以及您的資料。 SaaS 可讓您的組織以最低的前期成本快速啟動並執行應用程式。
使用 Azure 設計遊戲基礎結構
以下是 Azure 雲端服務可用於遊戲的一些方式。 Azure 可搭配 Windows、Linux 和常見的開放原始碼技術,例如 Ruby、Python、Java 和 PHP。 如需詳細資訊,請參閱 Azure for gaming。
需求 | 活動案例 | 產品方案 | 產品功能 |
---|---|---|---|
在雲端中裝載您的網域 | 有效回應 DNS 查詢 | Azure DNS | 以高效能與可用性主控您的網域 |
登入,身份認證 | 玩家登入並驗證玩家身份 | Azure Active Directory | 透過多重驗證,單一登入任何雲端和內部部署 Web 應用程式 |
使用基礎設施作為服務模式 (IaaS) 的遊戲 | 遊戲裝載在雲端的虛擬機器器上 | Azure VMs | 透過內建的虛擬網路與負載平衡功能,將虛擬機器器執行個體從 1 個擴充至數千個,成為遊戲伺服器;與內部部署系統的混合式一致性 |
使用平台作為服務模型 (PaaS) 的 Web 或移動遊戲 | 遊戲託管於受管理的平台上 | Azure App Service | 網站或移動遊戲的 PaaS (即具有中介軟體/開發工具/BI/DB管理的 Azure VM) |
高可用性、可擴充的 n 層雲端遊戲,更可控制作業系統 (PaaS) | 遊戲託管於受管理的平台上 | Azure 雲端服務 | PaaS 可支援可擴充、可靠且廉價的程式 |
跨區域進行負載平衡,以提升效能和可用性 | 路由內送遊戲要求。 可以做為第一級的負載平衡。 | Azure 流量管理員 | 提供多重自動容錯移轉選項,以及平均分配流量或使用加權值分配流量的能力。 可緊密結合內部部署與雲端系統。 |
遊戲資料雲端儲存裝置 | 最新的遊戲資料會儲存在雲端,並傳送至使用者端裝置 | Azure Blob 儲存體 | 可儲存的檔案型別沒有限制;物件儲存可儲存大量非結構化資料,例如影像、音訊、視訊等等。 |
臨時資料儲存表 | 遊戲交易 (遊戲狀態的變化) 暫時儲存在表格中 | Azure 資料表儲存體 | 遊戲資料可以根據遊戲需求靈活地儲存在模式中 |
佇列遊戲交易/要求 | 遊戲交易以隊列的形式處理 | Azure 佇列儲存體 | 佇列會吸收意外的流量突發,並可避免伺服器因遊戲期間突然的大量要求而忙碌不堪 |
可縮放的關係型遊戲資料庫 | 將關係資料 (如遊戲中的交易) 結構化儲存到資料庫 | Azure SQL Database | SQL 資料庫即服務 (與 VM 上的 SQL 相比較) |
可擴充的分散式低延遲遊戲資料庫 | 具有模式靈活性的遊戲和玩家資料的快速讀取、寫入和查詢 | Azure Cosmos DB | 以服務方式提供低延遲的 NoSQL 檔案資料庫 |
使用自己的資料中心搭配 Azure 服務 | 從您自己的資料中心擷取遊戲,並傳送至使用者端裝置 | Azure Stack | 讓您的組織能夠透過自己的資料中心提供 Azure 服務,協助您取得更多成果 |
大型資料區塊傳輸 | 大型檔案 (例如遊戲影像、音訊和視訊) 可透過 Azure CDN 從最近的 Content Delivery Network (CDN) 快顯位置傳送給使用者 | Azure 內容傳遞網路 | Azure CDN 建立在大型集中式節點的現代網路拓撲之上,可處理突發的流量高峰和繁重的負載,大幅提高速度和可用性,從而顯著改善使用者體驗 |
低延遲 | 執行快取以建立快速、可擴充的遊戲,並具備更佳的控制與保證的資料隔離;也可以用來改善遊戲的配對功能。 | Azure Redis 快取 | 高輸送量、一致的低延遲資料存取,可讓您建置快速、可調整的 Azure 應用程式 |
高擴充性、低延遲 | 處理低延遲讀取與寫入的遊戲使用者數目波動 | Azure Service Fabric | 能夠處理最複雜、低延遲、資料密集的情境,並可靠地擴充以同時處理更多使用者。 Service Fabric 可讓您根據無狀態應用程式的需要,建立遊戲,而無需建立個別的存放區或快取 |
每秒從裝置收集數百萬個事件的能力 | 每秒從裝置記錄數百萬個事件 | Azure 事件中樞 | 從遊戲、網站、應用程式及裝置擷取雲端範圍遙測資料 |
遊戲資料的即時處理 | 執行玩家資料的即時分析,以改善遊戲性 | Azure 串流分析 | 雲端中的即時串流處理 |
開發預測性遊戲 | 根據玩家資料建立自訂的動態遊戲 | Azure Machine Learning | 完全受控的雲端服務,可讓您輕鬆地建置、部署及共用預測性分析解決方案 |
收集並分析遊戲資料 | 關聯與非關聯資料庫資料的大規模並行處理 | Azure 資料倉儲 | 彈性資料倉儲作為具有企業級功能的服務 |
讓使用者參與以提升使用率與保留率 | 從任何後端傳送目標推播通知到任何平台,以產生興趣並鼓勵特定的遊戲動作 | Azure 通知中樞 | 快速播出,將覆蓋所有主要平台,iOS、Android、Windows、Kindle、Baidu,上百萬的流動裝置。 您的遊戲可在任何後端 (雲端或內部部署) 託管。 |
將媒體內容串流傳送給您的本機及全球觀眾,同時保護您的內容 | 所有裝置皆可觀賞廣播品質的遊戲預告片和電影剪輯 | Azure 媒體服務 | 具備整合式內容傳遞網路功能的隨選和即時視訊串流。 使用一個播放器滿足您所有的播放需求,包括內容保護和加密。 |
開發、散發行動應用程式,以及對其進行 Beta 測試 | 測試並發佈您的行動應用程式。 應用程式效能與使用者經驗管理。 | HockeyApp | 將崩潰報告和使用者指標與應用程式分發和使用者反饋平台整合。 支援 Android、Cordova、iOS、OS X、Unity、Windows 和 Xamarin 應用程式。 另外,請考慮 Visual Studio Mobile Center,針對結合豐富分析、崩潰報告、推送通知、應用程式分發等功能的應用程式的任務控制。 |
建立行銷活動,以增加使用率及保留率 | 根據資料分析向目標玩家傳送推送通知以生成興趣並鼓勵特定遊戲操作 | 行動服務,將於 2018 年 3 月停用,目前僅向現有客戶提供 | 增加所有主要平台 (iOS、Android、Windows、Windows Phone) 的遊戲時間和使用者保留時間 |
啟動和開發人員資源
-
Microsoft for Startups 提供產品、技術和上市優勢,協助加速初創企業的發展。 一項權益包括獲得 Azure 免費帳戶。 你有 200 美元的信用額度,你可以探索提供 30 天的服務,12 個月廣受歡迎的免費服務,並且永遠有超過 25 天的免費服務。 如需詳細資訊,請參閱使用 Azure 免費帳戶,將初創企業的想法付諸實踐。
開發人員程式
Microsoft 提供數個開發人員程式,如 ID@Xbox、Xbox Live Creators Program,協助您開發並發行遊戲。
學習資源
- //build 2016:CodeLabs,使用 Microsoft Azure App Service 和 Microsoft SQL Azure 後端在 Unity 中儲存遊戲分數
- //build 2017:使用 Microsoft Azure 提供世界級的遊戲體驗:從 Halo、Hitman 和 Walking Dead 等遊戲中學到的經驗教訓 (影片)
- 可重複使用的建構區塊、專案、服務和最佳實務集,可支援使用 Azure on GitHub 的一般遊戲工作負載:Azure 上的遊戲建築區塊
- Azure 上的遊戲服務 (視訊)
工具和其他有用的連結
- MSDN 論壇:Azure 平台
- Cloud Based Load Testing 工具
- SDK 和命令列工具
針對遊戲後端設計的軟體即服務
Azure PlayFab,目前提供超過 1,200 個即時遊戲,每月有 8,000 萬活躍玩家。 它是一個完整的後端平台,包括完整堆疊的 LiveOps 和即時控制。
您可以使用 SDK 將此解決方案整合到您的行動裝置、電腦或主機遊戲中。 所有流行的遊戲引擎和平台都提供 SDK,包括 Android、iOS、Unreal、Unity 和 Windows。
它提供驗證、玩家資料管理、多人遊戲和即時分析等遊戲服務,協助您的遊戲擴充其使用者基礎。 利用即時資料流程和 LiveOps 的強大功能,讓您的使用者參與遊戲中的自訂專案、活動及促銷。 您還可以執行 A/B 測試、產生報告、傳送推入通知等等。
我們不斷創新,不斷增加新功能。 如需詳細資訊,請參閱 Azure PlayFab;如需定價,請參閱 Pricing。