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. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
Altri collegamenti
- Hitman e Azure: creare funzionalità di gioco come Elusive Targets, possibili solo usando il cloud
- Azure come ingrediente segreto per Hitcents, Game Troopers e InnoSpark
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.
-
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) 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
-
Microsoft for Startups offre vantaggi di prodotto, tecnici e go-to-market per accelerare la crescita delle startup. Un vantaggio è l'acquisizione di un account gratuito di Azure. Si avranno $200 credito per esplorare i servizi per 30 giorni, 12 mesi di servizi gratuiti e oltre 25+ servizi sempre gratuiti. Per maggiori informazioni, consultare Dare vita a una startup con un account Azure gratuito.
-
Microsoft offre diversi programmi per sviluppatori come ID@Xbox e Xbox Live Creators Program per aiutare a sviluppare e pubblicare giochi.
Risorse di formazione
- //build 2016: CodeLabs: usare il servizio per app Microsoft Azure e il back-end di Microsoft SQL Azure per salvare il punteggio del gioco in Unity
- //build 2017: Offrire esperienze di gioco di livello mondiale con Microsoft Azure: lezioni apprese da titoli come Halo, Hitman e Walking Dead (video)
- Set riutilizzabile di blocchi predefiniti, progetti, servizi e procedure consigliate progettate per supportare carichi di lavoro di gioco comuni con Azure in GitHub: Costruire giochi in Azure
- Servizi di gioco in Azure (video)
Strumenti e altri collegamenti utili
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.