Condividi tramite


Uso dei servizi cloud per giochi UWP

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

Se si sta cercando una soluzione di back-end cloud completa per il proprio gioco, vedere Software as a Service per il back-end del gioco.

Che cos'è il cloud computing?

Il cloud computing usa applicazioni e risorse IT on-demand tramite Internet per archiviare ed elaborare i dati per i dispositivi. Il termine cloud è una metafora per la disponibilità di grandi risorse (non locali) a cui è possibile accedere indipendentemente da dove ci si trovi. Il principio del cloud computing offre un nuovo modo di usare risorse e software. Gli utenti non devono più pagare per il prodotto completo o le risorse iniziali, ma possono usare 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 occorre investire inizialmente in server hardware fisici, ma è sufficiente versare una cifra 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). Ciò mantiene stabili le prestazioni del gioco. Inoltre, è possibile accedere alle risorse cloud da qualsiasi dispositivo in esecuzione su qualsiasi piattaforma in qualsiasi punto del mondo, il che significa che è possibile fare arrivare 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 di gioco attraverso il cloud senza considerare attendibile il client e avere la logica del gioco lato server. Le connessioni da servizio a servizio (service-to-service) 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 più reti di gioco e la condivisione di aggiornamenti in-game a portali di social media 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.

Inoltre, i giochi che richiedono funzionalità di gestione intensiva dei dati, ad esempio giochi social 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 Altre informazioni
Tencent Games Tencent Games ha sviluppato una soluzione innovativa con Azure Service Fabric che consente di distribuire giochi PC tradizionali come servizio (as-a-service). La loro soluzione Cloud Game utilizza un modello "thin client + rich cloud" che esegue carichi di lavoro come microservizi nel back-end.
  • I tradizionali giochi per PC vengono distribuiti come giochi cloud agli utenti di tutto il mondo
  • Processo di recapito ottimizzato dei giochi
  • 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 riprodurre il contenuto del gioco più recente (dimensioni ridotte del pacchetto da GB a MB)
  • Costi di manutenzione ridotti
343 Industries Halo 5: Guardians ha implementato Halo: Spartan Companies come piattaforma di gioco social usando Azure Cosmos DB (tramite l'API documentDB), selezionato per la sua velocità e flessibilità dovute a funzioni 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 Games Illyriad Games ha creato Age of Ascent, un epico gioco spaziale 3D multiplayer online che può essere giocato su dispositivi dotati di browser moderni. Può perciò 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 intensivi in tempo reale
  • Scalabilità sul numero di giocatori
Next Games 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 fatto registrare un milione di download nel fine settimana di apertura, mentre durante la prima settimana è salito al primo posto nella classifica delle app gratuite per telefono & iPad nell'app store degli Stati Uniti, al primo posto nelle app gratuite in 12 Paesi e al primo posto nei giochi gratuiti in 13 paesi.
  • Multipiattaforma
  • Multiplayer basato su turni
  • Ridimensionamento elastico delle prestazioni
  • Protezione contro le frodi dei 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 social disponibile per Android, iOS e Windows. Azure Blob Storage, Managed Azure Redis Cache, una matrice di macchine virtuali IIS con carico bilanciato e hub di notifica Microsoft sono stati usati nel gioco. Informazioni su come hanno gestito il ridimensionamento e 5000 giocatori simultanei.
  • Multipiattaforma
  • Gioco online multiplayer
  • Scalabilità sul numero di giocatori
  • Come il gioco Crime Coast di MMO ha usato Azure Cloud Services

Come progettare il back-end cloud

Mentre i produttori e i progettisti di giochi discutono su quali funzionalità siano necessari nel gioco, è consigliabile iniziare a considerare come si desidera progettare la propria infrastruttura. Azure può essere usato come back-end quando si vogliono sviluppare giochi per vari dispositivi e su diverse piattaforme principali.

Informazioni su IaaS, PaaS o SaaS

Per prima cosa, devi pensare al livello di servizio più adatto per il gioco. Conoscere le differenze nei tre servizi seguenti consente di determinare il migliore approccio da adottare per la creazione del back-end.

  • Infrastructure as a Service (IaaS)

    Un'infrastruttura distribuita come servizio (IaaS, Infrastructure as a Service) è un'infrastruttura di calcolo subito disponibile di cui viene effettuato il provisioning e che viene gestita tramite Internet. Immaginiamo di avere la possibilità di molti computer prontamente disponibili per aumentare e ridurre rapidamente le prestazioni a seconda della domanda. Il modello IaaS aiuta a evitare costi e complessità legate all'acquisto e alla gestione di server fisici e altra infrastruttura di data center.

  • Platform as a Service (PaaS)

    La piattaforma distribuita come servizio (PaaS) è simile alla IaaS, ma include anche la gestione dell'infrastruttura, ad esempio server, archiviazione e rete. Quindi, oltre a non acquistare server fisici e infrastrutture 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 è possibile acquistare con pagamento al consumo da un provider di servizi cloud. Esempi comuni sono gli strumenti di posta elettronica, il calendario e app per l'ufficio, (come le app di Microsoft 365). Noleggi l'uso di un'app per l'organizzazione e gli utenti si connettono all'app tramite Internet, in genere con un Web browser. Tutta l'infrastruttura sottostante, il middleware, il software e i dati delle app si trovano nel data center del provider di servizi. Il provider di servizi gestisce hardware e software e, con un contratto di servizio appropriato, garantirà la disponibilità e la sicurezza del gioco e dei dati. Le soluzioni SaaS consentono all'organizzazione di essere rapidamente operativa con un'app con costi iniziali minimi.

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 come Ruby, Python, Java e PHP. Per maggiori informazioni, vedere Azure per il gaming.

Requisiti Scenari di attività Offerte del prodotto Funzionalità del prodotto
Ospitare il dominio nel cloud Rispondere alle query DNS in modo efficiente DNS Azure Ospitare il dominio con prestazioni e disponibilità elevate
Accesso, verifica dell'identità L'accesso e l'identità del gamer viene autenticata Azure Active Directory Accesso Single Sign-On a qualsiasi app Web cloud e locale con autenticazione a più fattori
Gioco che utilizza il modello IaaS (Infrastructure as a Service) 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 integrata e bilanciamento del carico; coerenza ibrida con sistemi on-site
Giochi Web o per dispositivi mobili che usano un modello PaaS (Platform as a Service) Il gioco è ospitato su 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 per cloud a più livelli scalabili e altamente disponibili con maggiore controllo del sistema operativo (PaaS) Il gioco è ospitato su una piattaforma gestita Servizio cloud di Azure PaaS è progettato per supportare applicazioni scalabili, affidabili ed economicamente convenienti.
Bilanciamento del carico tra prestazioni e disponibilità 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ò riunire sistemi locali e cloud.
Archiviazione cloud per i dati di gioco 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 di gioco possono essere archiviati in uno schema flessibile in base alle esigenze
Accodamento di transazioni/richieste di gioco Le transazioni di gioco vengono elaborate sotto forma di coda Archiviazione code di Azure Le code assorbono i picchi di traffico imprevisti e impediscono che i server vengano sovraccaricati in seguito a un aumento improvviso delle richieste durante il gioco
Database di gioco relazionale scalabile Risorse di archiviazione strutturate dei dati relazionali, come le transazioni nel gioco. Database SQL di Azure Database SQL as a Service (Confronto con SQL in una macchina virtuale)
Database di gioco a bassa latenza distribuito e scalabile Lettura rapida, scrittura ed esecuzione di query sui dati di gioco e dei giocatori con flessibilità dello schema Azure Cosmos DB Servizio NoSQL a bassa latenza
Usare il proprio data center con i servizi di Azure Il gioco viene recuperato dal proprio data center e inviato ai dispositivi client Azure Stack Consente 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 popup di rete per la distribuzione di contenuti (rete CDN) più vicina con Azure CDN Rete per la distribuzione di contenuti di Azure Basato su una topologia di rete moderna di nodi centralizzati di grandi dimensioni, Azure CDN gestisce picchi improvvisi del traffico e carichi pesanti per aumentare notevolmente la velocità e la disponibilità, con conseguenti miglioramenti significativi dell'esperienza utente
Bassa latenza Esegue la memorizzazione nella cache per creare giochi veloci e scalabili con maggiore controllo e isolamento garantito dei dati; può essere usato anche per migliorare la funzionalità di match-making per il gioco. Cache Redis di Azure Accesso ai dati con bassa latenza costante e velocità effettiva elevata per creare applicazioni Azure scalabili e veloci
Scalabilità elevata, bassa latenza Gestisce le fluttuazioni nel numero di utenti del gioco con bassa latenza di lettura e scrittura Azure Service Fabric Può alimentare gli scenari più complessi, a bassa latenza, a elevato utilizzo di dati e con scalabilità affidabile per gestire più utenti alla volta. Service Fabric permette di compilare giochi senza dover creare un archivio o una cache separata, necessaria invece per le app senza stato.
Possibilità di raccogliere milioni di eventi al secondo dai dispositivi Registrazione di milioni di eventi al secondo dai dispositivi Hub eventi di Azure Inserimento di telemetria scalabile per cloud da giochi, siti Web, app e dispositivi
Elaborazione in tempo reale per i dati del gioco Analisi in tempo reale dei dati dei giocatori per migliorare il gameplay Analisi di flusso di Azure Elaborazione di flussi in tempo reale nel cloud
Gameplay predittivo Gioco dinamico personalizzato in base ai dati dei gamer Azure Machine Learning Servizio cloud completamente gestito che ti consente di creare, distribuire e condividere facilmente soluzioni di analisi predittiva
Raccolta e analisi dei dati di gioco Elaborazione parallela elevata dei dati da database relazionali e non relazionali Azure Data Warehouse Data warehouse elastico distribuito come servizio con funzionalità di livello enterprise
Coinvolgimento degli utenti per aumentare l'utilizzo e la conservazione Notifiche push mirate a qualsiasi piattaforma da qualsiasi back-end per generare interesse e incoraggiare azioni specifiche del gioco Hub di notifica di Azure Push di trasmissione veloce 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.
Trasmissione di contenuti multimediali ai destinatari locali e in tutto il mondo, proteggendo al tempo stesso i contenuti Trasmissione di trailer del gioco e clip cinematografiche su qualsiasi dispositivo Servizi multimediali di Azure Streaming di video live e on demand con funzionalità integrate di rete per la distribuzione di contenuti. Usa un lettore per tutte le esigenze di riproduzione e include la protezione e la crittografia del contenuto.
Sviluppo, distribuzione e beta test di app per dispositivi mobili Test e distribuzione di pacchetti di 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 app e commenti e suggerimenti degli utenti. Supporta app Android, Cordova, iOS, OS X, Unity, Windows e Xamarin Si consideri anche Visual Studio Mobile Center: controllo per le app che combinano analisi avanzate, report di arresto anomalo del sistema, notifiche push, distribuzione di app e altro ancora.
Ccampagne di marketing per aumentare l'utilizzo e la conservazione 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 nel marzo 2018 ed è attualmente disponibile solo per i clienti esistenti. Maggiore tempo di gioco e conservazione degli utenti su tutte le principali piattaforme: iOS, Android, Windows, Windows Phone

Risorse di avvio e sviluppo

Risorse di formazione

Software-as-a-Service per back-end del gioco

Azure PlayFab serve oltre 1200 giochi live, con più di 80 milioni di giocatori attivi al mese. Si tratta di una piattaforma back-end completa che include liveops con stack completo 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 autenticazione, gestione dei dati dei giocatori, multiplayer e analisi in tempo reale per far crescere la propria base di utenti. La potenza della pipeline di dati in tempo reale e LiveOps aiuta a 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 maggiori informazioni, vedere Azure PlayFab; per i prezzi, vedere Prezzi.