Condividi tramite


Uso dei servizi cloud per giochi UWP

La piattaforma UWP (Universal Windows Platform) in Windows 10 offre un set di API che possono essere usate per lo sviluppo di giochi tra dispositivi Microsoft. Quando si sviluppano giochi tra piattaforme e dispositivi, è possibile usare un back-end cloud per facilitare la scalabilità del gioco in base alla domanda.

Se stai cercando una soluzione cloud back-end completa per il tuo videogioco, consulta Software come Servizio per il back-end di gioco.

Che cos'è il cloud computing?

Il cloud computing usa applicazioni e risorse IT su richiesta tramite Internet per archiviare ed elaborare i dati per i dispositivi. Il termine cloud è una metafora per la disponibilità di grandi risorse là fuori (non risorse locali) a cui è possibile accedere da posizioni non specifiche. Il principio del cloud computing offre un nuovo modo in cui le risorse e il software possono essere utilizzati. Gli utenti non devono più pagare per il prodotto completo o le risorse iniziali, ma sono in grado di utilizzare la piattaforma, il software e le risorse come servizio. I provider di servizi cloud spesso fatturano i clienti in base alle offerte di piani di utilizzo o di servizio.

Perché usare i servizi cloud?

Un vantaggio dell'uso dei servizi cloud per i giochi è che non è necessario investire in server hardware fisici iniziali, ma è sufficiente pagare in base ai piani di utilizzo o di servizio in una fase successiva. È un modo per gestire i rischi coinvolti nello sviluppo di un nuovo titolo di gioco.

Un altro vantaggio è che il gioco può sfruttare grandi risorse cloud per ottenere la scalabilità (gestire efficacemente eventuali picchi improvvisi nel numero di giocatori simultanei, calcoli intensi del gioco in tempo reale o requisiti di dati). Questo mantiene le prestazioni del tuo gioco stabili tutto il tempo. Inoltre, è possibile accedere alle risorse cloud da qualsiasi dispositivo in esecuzione su qualsiasi piattaforma in qualsiasi punto del mondo, il che significa che è possibile portare il gioco a tutti a livello globale.

Offrire un'esperienza di gioco incredibile ai giocatori è importante. Poiché i server di gioco in esecuzione nel cloud sono indipendenti dagli aggiornamenti lato client, possono offrire un ambiente più controllato e sicuro per il gioco in generale. È anche possibile ottenere coerenza del gameplay attraverso il cloud senza fidarsi del client e avere la logica del gioco lato server. Le connessioni da servizio a servizio possono anche essere configurate per consentire un'esperienza di gioco più integrata; alcuni esempi includono il collegamento degli acquisti in-game a vari metodi di pagamento, il bridging su reti di gioco diverse e la condivisione di aggiornamenti in-game a portali di social media popolari come Facebook e X.

È anche possibile usare server cloud dedicati per creare un grande mondo di gioco persistente, creare una community di gamer, raccogliere e analizzare i dati dei gamer nel tempo per migliorare il gioco e ottimizzare il modello di progettazione della monetizzazione del gioco.

Inoltre, i giochi che richiedono funzionalità di gestione intensiva dei dati dei giochi, ad esempio i giochi sociali con meccanismi multiplayer asincroni, possono essere implementati usando i servizi cloud.

Come le aziende di giochi usano la tecnologia cloud

Informazioni su come altri sviluppatori hanno implementato soluzioni cloud nei loro giochi.

Sviluppatore Descrizione Scenari di gioco chiave Ulteriori informazioni
Tencent Games Tencent Games ha sviluppato una soluzione innovativa con Azure Service Fabric che consente di distribuire giochi PC tradizionali come servizio. La soluzione Cloud Game usa un modello "thin client + rich cloud" che esegue carichi di lavoro come microservizi nel back-end.
  • I giochi PC tradizionali vengono distribuiti come giochi cloud agli utenti di tutto il mondo
  • Processo di consegna dei giochi ottimizzato
  • Funzionalità del gioco isolate come microservizi per ridurre la complessità, ridurre le ripetizioni dei carichi di lavoro a causa delle dipendenze e la possibilità di aggiornare le nuove funzionalità in modo indipendente
  • Download di pacchetti di installazione di piccole dimensioni per giocare al contenuto di gioco più recente (dimensioni del pacchetto ridotte da GB a MB)
  • Riduzione dei costi di manutenzione
343 Settori Halo 5: Guardians ha implementato Halo: Spartan Companies come la sua piattaforma di gioco sociale utilizzando Azure Cosmos DB (tramite l'API DocumentDB), scelta per la sua velocità e flessibilità grazie alle capacità di indicizzazione automatica.
  • Livello dati scalabile per gestire la creazione/gestione dei gruppi per il gioco multiplayer
  • Integrazione di giochi e social media
  • Query in tempo reale dei dati tramite più attributi
  • Sincronizzazione di obiettivi e statistiche di gioco
Illyriad Giochi Illyriad Games ha creato Age of Ascent, un epico gioco MMO (Massively Multiplayer Online) in 3D che può essere giocato su dispositivi con browser moderni. Quindi questo gioco può essere giocato su PC, portatili, telefoni cellulari e altri dispositivi mobili senza plug-in. Il gioco usa ASP.NET Core, HTML5, WebGL e Azure.
  • Gioco multipiattaforma basato su browser
  • Singolo grande mondo aperto persistente
  • Gestisce calcoli di gioco intensivi in tempo reale
  • Varia con il numero di giocatori
giochi successivi Next Games è il creatore del videogioco The Walking Dead: No Man's Land basato sulla serie originale di AMC. Il gioco Walking Dead ha usato Azure come back-end. Ha avuto 1.000.000 download nel fine settimana di apertura e all'interno della prima settimana, il gioco è diventato #1 iPhone & iPad Free App nell'App Store degli Stati Uniti, #1 App gratuita in 12 paesi e #1 Gioco gratuito in 13 paesi.
  • Multipiattaforma
  • Multiplayer basato su turni
  • Ridimensionare in modo elastico le prestazioni
  • Protezione contro le frodi del gamer
  • Distribuzione dinamica di contenuti
Pixel Squad Pixel Squad ha sviluppato Crime Coast usando il motore di gioco Unity e Azure. Crime Coast è un gioco di strategia sociale disponibile nella piattaforma Android, iOS e Windows. Azure Blob Storage, Managed Azure Redis Cache, un array di macchine virtuali IIS con bilanciamento del carico e Microsoft Notification Hub sono stati usati nel loro gioco. Scopri come hanno affrontato la scalabilità e l'afflusso di 5000 giocatori simultanei.
  • Multipiattaforma
  • Gioco online multiplayer
  • Scala con il numero di giocatori
  • Come è stato usato il gioco MMO di Crime Coast con Servizi cloud di Azure

Come progettare il backend cloud

Mentre i produttori e i progettisti di giochi sono in discussione su quali funzionalità e funzionalità del gioco sono necessari nel gioco, è consigliabile iniziare a considerare come si vuole progettare l'infrastruttura di gioco. Azure può essere usato come back-end del gioco quando si vogliono sviluppare giochi per vari dispositivi e in diverse piattaforme principali.

Informazioni su IaaS, PaaS o SaaS

Prima di tutto, devi pensare al livello di servizio più adatto per il tuo gioco. Conoscere le differenze nei tre servizi seguenti consente di determinare l'approccio da adottare per la creazione del back-end.

  • Infrastruttura come Servizio (IaaS)

    L'infrastruttura distribuita come servizio (IaaS) è un'infrastruttura di elaborazione istantanea, di cui è stato effettuato il provisioning e la gestione tramite Internet. Si supponga di avere la possibilità di molti computer prontamente disponibili per aumentare e ridurre rapidamente le prestazioni a seconda della domanda. IaaS consente di evitare i costi e la complessità dell'acquisto e della gestione dei propri server fisici e di altre infrastrutture di data center.

  • Piattaforma come servizio (PaaS)

    La piattaforma distribuita come servizio (PaaS) è come IaaS, ma include anche la gestione dell'infrastruttura, ad esempio server, archiviazione e rete. Quindi, oltre a non acquistare server fisici e infrastruttura di data center, non è necessario acquistare e gestire licenze software, infrastruttura applicativa sottostante, middleware, strumenti di sviluppo o altre risorse.

  • Software as a Service (SaaS)

    Software as a Service (SaaS) consente agli utenti di connettersi ad app basate sul cloud e di usarle tramite Internet. Offre una soluzione software completa che si acquista con pagamento in base al consumo da un provider di servizi cloud. Esempi comuni sono la posta elettronica, il calendario e gli strumenti di office (ad esempio le app di Office di Microsoft 365). Si noleggia l'uso di un'app per l'organizzazione e gli utenti si connettono a esso tramite Internet, in genere con un Web browser. Tutta l'infrastruttura sottostante, il middleware, il software delle app e i dati delle app si trovano all'interno del data center del provider di servizi. Il provider di servizi gestisce l'hardware e il software e con il contratto di servizio appropriato garantirà anche la disponibilità e la sicurezza del gioco e dei dati. SaaS consente all'organizzazione di iniziare rapidamente a funzionare con un'app con un costo iniziale minimo.

Progettare l'infrastruttura di gioco con Azure

Di seguito sono riportati alcuni modi in cui è possibile usare le offerte cloud di Azure per un gioco. Azure funziona con windows, Linux e tecnologie open source familiari, ad esempio Ruby, Python, Java e PHP. Per altre informazioni, vedere Azure per i giochi.

Requisiti Scenari di attività Offerta di prodotti Funzionalità del prodotto
Ospitare il dominio nel cloud Rispondere alle query DNS in modo efficiente Azure DNS Ospitare il dominio con prestazioni e disponibilità elevate
Accesso, verifica dell'identità Il giocatore fa il login e l'identità del giocatore viene autenticata. Azure Active Directory Accesso unico a qualsiasi applicazione web, sia cloud che locale, con autenticazione a più fattori.
Gioco che usa un modello di infrastruttura distribuita come servizio (IaaS) Il gioco è ospitato in macchine virtuali nel cloud Macchine virtuali di Azure Scalabilità da 1 a migliaia di istanze di macchine virtuali come server di gioco con rete virtuale predefinita e bilanciamento del carico; coerenza ibrida con i sistemi locali
Giochi Web o per dispositivi mobili che usano un modello PaaS (Platform as a Service) Il gioco è ospitato in una piattaforma gestita Servizio app di Azure PaaS per siti Web o giochi per dispositivi mobili (ovvero macchine virtuali di Azure con middleware/strumenti di sviluppo/gestione BI/DB)
Gioco cloud a più livelli a disponibilità elevata e scalabile con maggiore controllo del sistema operativo (PaaS) Il gioco è ospitato in una piattaforma gestita Servizio cloud Azure PaaS progettato per supportare applicazioni scalabili, affidabili e economiche da usare
Bilanciamento del carico tra aree per prestazioni e disponibilità migliori Instrada le richieste di gioco in ingresso. Può fungere da primo livello di bilanciamento del carico. Gestione traffico di Azure Offre più opzioni di failover automatico e possibilità di distribuire il traffico in modo uniforme o con valori ponderati. Può combinare facilmente sistemi locali e cloud.
Archiviazione cloud per i dati dei giochi I dati di gioco più recenti vengono archiviati nel cloud e inviati ai dispositivi client Archiviazione BLOB di Azure Nessuna restrizione sui tipi di file che possono essere archiviati; archiviazione di oggetti per grandi quantità di dati non strutturati, ad esempio immagini, audio, video e altro ancora.
Tabelle di archiviazione dati temporanee Le transazioni di gioco (modifiche negli stati del gioco) vengono archiviate temporaneamente nelle tabelle Archiviazione tabelle di Azure I dati dei giochi possono essere archiviati in uno schema flessibile in base alle esigenze del gioco
Accodamento di transazioni/richieste di gioco Le transazioni di gioco vengono elaborate in modalità coda Code di archiviazione di Azure Le code assorbono picchi di traffico imprevisti e possono impedire che i server vengano sovraccaricati da un improvviso sovraccarico di richieste durante il gioco
Database di gioco relazionale scalabile Archiviazione strutturata di dati relazionali come transazioni nel gioco nel database Database SQL di Azure Database SQL as a Service (Confronto con SQL in una macchina virtuale)
Database di gioco a bassa latenza distribuito scalabile Lettura rapida, scrittura ed esecuzione di query sui dati di gioco e giocatore con flessibilità dello schema Azure Cosmos DB Database di documenti NoSQL a bassa latenza come servizio
Usare un data center personalizzato con i servizi di Azure Il gioco viene recuperato dal proprio data center e inviato ai dispositivi client Azure Stack Consente all'organizzazione di distribuire servizi di Azure dal proprio data center per ottenere maggiori risultati
Trasferimento di blocchi di dati di grandi dimensioni File di grandi dimensioni, ad esempio immagini di gioco, audio e video, possono essere inviati agli utenti dalla posizione pop più vicina della rete per la distribuzione di contenuti (CDN) con la rete CDN di Azure Rete di distribuzione dei contenuti di Azure Basata su una topologia di rete moderna di nodi centralizzati di grandi dimensioni, la rete CDN di Azure gestisce picchi improvvisi del traffico e carichi pesanti per aumentare notevolmente la velocità e la disponibilità, ottenendo miglioramenti significativi dell'esperienza utente
Bassa latenza Effettuare il caching per creare giochi veloci e scalabili con maggiore controllo e isolamento garantito dei dati; può anche essere utilizzato per migliorare il matchmaking del gioco. Azure Redis Cache Velocità effettiva elevata, accesso coerente ai dati a bassa latenza per le applicazioni Azure veloci e scalabili
Scalabilità elevata, bassa latenza Gestisce le fluttuazioni del numero di utenti del gioco con bassa latenza di lettura e scrittura Azure Service Fabric In grado di alimentare gli scenari più complessi, a bassa latenza, a elevato utilizzo di dati e scalabilità affidabile per gestire più utenti alla volta. Service Fabric consente di creare giochi senza dover creare un archivio o una cache separati, come richiesto per le app senza stato
Possibilità di raccogliere milioni di eventi al secondo dai dispositivi Registrare milioni di eventi al secondo dai dispositivi Hub eventi di Azure Inserimento di dati di telemetria su scala cloud da giochi, siti Web, app e dispositivi
Elaborazione in tempo reale per i dati del gioco Eseguire l'analisi in tempo reale dei dati dei gamer per migliorare il gioco Analisi di flusso di Azure Elaborazione del flusso di dati in tempo reale nel cloud
Sviluppare un gameplay predittivo Creare un gioco dinamico personalizzato in base ai dati dei gamer Azure Machine Learning Un servizio cloud completamente gestito che consente di creare, distribuire e condividere facilmente soluzioni di analisi predittiva
Raccogliere e analizzare i dati dei giochi Elaborazione parallela elevata dei dati da database relazionali e non relazionali Azure Data Warehouse Data warehouse elastico come servizio con funzionalità di classe Enterprise
Coinvolgere gli utenti per aumentare l'utilizzo e la conservazione Inviare notifiche push mirate a qualsiasi piattaforma da qualsiasi back-end per generare interesse e incoraggiare azioni specifiche del gioco Hub di Notifica di Azure Invio rapido di notifiche push per raggiungere milioni di dispositivi mobili su tutte le principali piattaforme: iOS, Android, Windows, Kindle, Baidu. Il gioco può essere ospitato in qualsiasi back-end, cloud o locale.
Trasmettere contenuti multimediali ai destinatari locali e in tutto il mondo, proteggendo al tempo stesso i contenuti La qualità di trasmissione di trailer di gioco e clip cinematografiche può essere guardata su tutti i dispositivi. Servizi multimediali di Azure Streaming video on demand e live con funzionalità integrate della rete per la distribuzione di contenuti. Usa un lettore per tutte le tue esigenze di riproduzione, include la protezione e la crittografia del contenuto.
Sviluppare, distribuire e testare beta le app per dispositivi mobili Testare e distribuire l'app per dispositivi mobili. Gestione delle prestazioni delle app e dell'esperienza utente. HockeyApp Integra la segnalazione degli arresti anomali e le metriche utente con una piattaforma di distribuzione delle app e feedback degli utenti. Supporta app Android, Cordova, iOS, OS X, Unity, Windows e Xamarin. Considerare anche Visual Studio Mobile Center , che funge da centro di controllo per le app, combinando analisi avanzate, report sugli arresti anomali, notifiche push, distribuzione delle app e altro ancora.
Creare campagne di marketing per aumentare l'utilizzo e la conservazione Inviare notifiche push ai giocatori di destinazione per generare interesse e incoraggiare azioni specifiche del gioco in base all'analisi dei dati Mobile Engagement : verrà ritirato marzo 2018 ed è attualmente disponibile solo per i clienti esistenti Aumentare il tempo di gioco e la conservazione degli utenti in tutte le principali piattaforme: iOS, Android, Windows, Windows Phone

Risorse per startup e sviluppo

Risorse di apprendimento

Software come servizio per il back-end del gioco

Azure PlayFab attualmente supporta più di 1.200 partite live con 80 milioni di giocatori attivi mensili. Si tratta di una piattaforma back-end completa che include operazioni live full stack con controllo in tempo reale.

È possibile integrare questa soluzione nei giochi per dispositivi mobili, PC o console tramite SDK. Sono disponibili SDK per tutti i motori e le piattaforme di gioco più diffusi, tra cui Android, iOS, Unreal, Unity e Windows.

Offre servizi di gioco come l'autenticazione, la gestione dei dati dei giocatori, il multiplayer e l'analisi in tempo reale per aiutare il gioco a crescere la propria base di utenti. Sfruttare la potenza della pipeline di dati in tempo reale e LiveOps per coinvolgere gli utenti con elementi, eventi e promozioni personalizzati nel gioco. È anche possibile eseguire test A/B, generare report, inviare notifiche push e altro ancora.

Stiamo costantemente innovando e aggiungendo nuove funzionalità. Per altre informazioni, vedere Azure PlayFab; e per i prezzi, vedere Prezzi.