Ready Player - Web

Creare giochi per il web moderno.

Tom Greenaway

I buoni sviluppatori di giochi sanno che per cogliere l'opportunità di una determinata piattaforma è importante adottare le sue caratteristiche uniche. Quali sono le caratteristiche uniche del web? E che cos'è un gioco web?

Alla conferenza Google I/O 2019 ho presentato le mie opinioni sullo stato dell'ecosistema dei giochi web, sulle attuali best practice per lo sviluppo di moderni giochi web e sui trend futuri del settore. In questo post del blog, riassumerò alcuni dei punti chiave della mia presentazione, che puoi guardare integralmente su YouTube:

Le sfide dei giochi web

Prima di entrare in Google, ho creato un gioco mobile noto come Duet che è stato scaricato quasi 20 milioni di volte. Da questa esperienza ho imparato che i tre ingredienti essenziali per creare un'attività di successo da un gioco sono:

  • Un gioco funzionale
  • Utenti
  • Un modo per monetizzare gli utenti

Senza questi tre elementi, uno sviluppatore di giochi non può avere successo. Oggi, questi ultimi due punti sono i più critici. Ecosistemi HTML5 chiusi come WeChat, Facebook Instant Games e altri hanno dimostrato che è possibile creare giochi utilizzando HTML5.

Best practice moderne

Per "gioco funzionale" intendo i tre elementi più importanti che fanno funzionare un gioco:

  • Prestazioni
  • Immagini
  • Audio

In ognuna di queste aree, la piattaforma web ha fatto passi da gigante negli ultimi anni. Per le prestazioni della CPU, abbiamo accesso a un nuovo standard efficiente chiamato WebAssembly. Dal punto di vista grafico, WebGL 1.0 offre un buon supporto tra i browser e gli standard futuri come WebGPU stanno posizionando la piattaforma web per un futuro estensibile della programmazione grafica simile a Vulkan e Metal. Infine, per l'audio web abbiamo l'API Web Audio comune e, più recentemente, l'API Audio Worklet.

Di recente, Unity ha presentato in anteprima un nuovo runtime chiamato Project Tiny, incentrato sulla creazione di giochi 2D per piattaforme basate su HTML5. Project Tiny applica un nuovo design modulare alla struttura del motore di Unity, consentendo al motore di base di Unity di avere dimensioni inferiori a 1 megabyte.

Due carri armati impegnati in una battaglia.
Demo di Tanks di Unity esportata tramite HTML5.

Dal punto di vista tecnico, questo è il momento migliore per adottare lo sviluppo di giochi web.

Entra nel loop

Un grande gioco è ovviamente più di buone prestazioni, grafica e audio: per essere grande, un gioco deve essere divertente.

Il divertimento è un elemento difficile da misurare in un prodotto. Quando un gioco è divertente, interessante o abbastanza innovativo, gli utenti vorranno raccontarlo ai loro amici, in altre parole vorranno condividere l'esperienza. Sfruttare questa opportunità e abbinarla al web è una combinazione efficace che offre un'enorme opportunità di crescita virale. Sul web in particolare, senza una piattaforma di scoperta centralizzata, la nostra migliore opzione per acquisire utenti è assicurarci che i nostri giochi siano il più virali possibile.

Gli sviluppatori di giochi sanno bene che per sfruttare al meglio una particolare piattaforma, a livello di software o hardware, è importante accettare le sue caratteristiche. Ad esempio, se stai creando un gioco per una console con controlli di movimento, dovresti probabilmente pensare al modo migliore per sfruttarli.

In altre parole, devi rispettare le aspettative degli utenti della piattaforma per cui stai creando. Cosa si aspettano gli utenti del web? Si aspettano che i contenuti web vengano caricati velocemente e siano interattivi rapidamente. Nel mio intervento ho illustrato diversi esempi di modi, sia sul web che al di fuori, in cui i giochi sono stati progettati per caricarsi rapidamente, attirare gli utenti nei loro mondi di gioco, coinvolgerli e offrire loro incentivi aggiuntivi per condividere le loro esperienze.

Tre giochi con stili artistici minimalisti.

Personalmente, credo che la chiave per creare un gioco web di successo sia sfruttare questa caratteristica unica del web. In particolare, la solidità della struttura degli URL del web e il loop di condivisione a cui gli utenti possono partecipare.

Ecco un esempio di un gioco web che ho creato utilizzando Construct 3 che sfrutta l'URL in modo divertente e coinvolgente.

Un'interfaccia di editor di livelli per un gioco.

Space Board è un gioco molto semplice che può essere giocato su dispositivo mobile con i controlli touch o su computer con l'input della tastiera. L'obiettivo è attraversare un labirinto di ostacoli per raggiungere un obiettivo alla fine.

In che modo Space Board sfrutta l'URL in modo unico? Codificando la struttura del livello nell'URL stesso. Tutti i livelli sono definiti come una griglia di 10 x 10 oggetti, ad esempio muri, torrette nemiche, chiavi, porte chiuse e così via. L'URL elenca quindi tutte le singole posizioni della griglia e i relativi contenuti. Un muro è rappresentato dal carattere W. Uno spazio vuoto è un carattere trattino basso.

Ecco un esempio:

https://io-space-board.firebaseapp.com/?gameWorld=_wwwwwwwwww___ww__eww_k__d___ww___ww___ww_wwwww_www_wwwww_www___ww___ww_s_ww_f_ww___ww___wwwwwwwwwwww

È brutto, ma fa il suo dovere.

Dopo aver completato un livello in Space Board, il giocatore ha la possibilità di progettare il proprio livello utilizzando il semplice editor di livelli mostrato sopra. Consentendo ai giocatori di progettare i propri livelli, offriamo loro la possibilità di personalizzarli. Quando un utente sente di avere un legame con un gioco e un senso di proprietà tramite la creazione e la personalizzazione, è più probabile che voglia condividere questa "cosa" con il mondo.

Il desiderio di condividere un gioco è l'inizio del loop virale che puntiamo a raggiungere con i nostri giochi web. Questo meccanismo di progettazione e condivisione dei giochi è solo un esempio possibile, ma esistono molte altre possibilità. Ti incoraggio a guardare il mio talk per altri esempi.

Ritorno sull'investimento

Al momento, esistono due scuole di pensiero su come uno sviluppatore di giochi può generare entrate tramite i giochi web:

  • Monetizzare direttamente i giochi
  • Trattarli come un canale di acquisizione

Trattare i giochi web come canale di acquisizione significa sfruttare la versione web del tuo gioco per iOS/Android/computer come meccanismo per coinvolgere i giocatori e convincerli a scaricare il file binario più grande per iOS/Android/computer. Potrai quindi generare entrate con i backend di pagamento e fatturazione integrati della piattaforma per iOS/Android/computer.

La monetizzazione è in genere una combinazione di pubblicità e microtransazioni. C'è ancora molto lavoro da fare affinché il web possa competere con le piattaforme mobile nella pubblicità dei giochi. Ad esempio, formati come gli annunci video con premio sono estremamente apprezzati per i giochi mobile da diversi anni, ma solo ora le reti pubblicitarie stanno implementando questi formati sul web.

Ciononostante, esistono sviluppatori di giochi che continuano ad avere successo sul web aperto grazie alla pubblicità tramite banner tradizionali e annunci video interstitial. Per ulteriori informazioni su questi formati, consulta AdSense per i giochi.

Per le microtransazioni, il web offre una flessibilità completa grazie al numero illimitato di metodi di pagamento che possono essere implementati. Tuttavia, questa qualità è un'arma a doppio taglio. L'aspetto negativo di questo aspetto è che i giocatori hanno meno fiducia implicita nei confronti di un nuovo sito web che scoprono rispetto alla familiarità dei metodi di pagamento dei negozi mobile specifici della piattaforma.

Una soluzione che offre un'interfaccia utente di pagamento più coerente sul web è l'API Payment Request. Questa API richiama un'interfaccia utente visualizzata dal browser e semplifica l'acquisizione dei dettagli sui pagamenti, come carte di credito e indirizzi di fatturazione. Tuttavia, l'acquisizione dei dati di pagamento è solo il primo passaggio per effettuare una transazione. È necessaria anche una piattaforma di fatturazione backend.

Il futuro

Negli ultimi anni abbiamo visto diversi giochi web di grande successo. Slither.io ha creato un business misto web e specifico per piattaforma che dimostra l'enorme copertura e l'opportunità di crescita virale offerta dal web. Portali come Poki.com stanno innovando la loro esperienza utente e rilasciano ogni giorno nuovi giochi, inclusi titoli che corrispondono alla fedeltà delle loro controparti mobile, come Subway Surfers o Crossy Road.

Inoltre, se guardi al di fuori del web aperto, puoi vedere che i giochi web stanno già spopolando. Ecosistemi chiusi come WeChat e LINE offrono giochi soddisfacenti che non possono essere giocati sul web aperto, ma che sono basati su tecnologie web come HTML5 e WebView. Questo è un chiaro segno che il web ha raggiunto un livello di fedeltà in grado di competere con i giochi mobile specifici della piattaforma, forse non in una definizione da libro di testo di fedeltà, ma in una metrica più importante: l'attenzione dei giocatori.