Ready Player - Web

Creare giochi per il web moderno.

Tom Greenaway

I bravi sviluppatori di giochi sanno che per sfruttare le opportunità offerte da una determinata piattaforma è importante accettarne le caratteristiche uniche. Quali sono le caratteristiche uniche del web? E cosa definisce 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 giochi web moderni e sugli obiettivi del settore. In questo post del blog, riassumerò alcuni dei punti chiave del mio discorso che puoi guardare per intero su YouTube:

Le sfide dei giochi web

Prima di entrare a far parte di Google, ho creato un gioco mobile chiamato Duet, che è stato scaricato quasi 20 milioni di volte. Grazie a questa esperienza ho imparato che i tre ingredienti essenziali per costruire 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. Gli ecosistemi HTML5 chiusi come WeChat, Facebook Instant Games e altri hanno dimostrato che la creazione di giochi con HTML5 è possibile.

Best practice moderne

Per "gioco funzionale" mi riferisco ai tre elementi principali che determinano il funzionamento di un gioco:

  • Esibizione
  • Immagini
  • Audio

In ognuna di queste aree, la piattaforma web ha fatto passi avanti significativi negli ultimi anni. Per le prestazioni della CPU, abbiamo accesso a un nuovo standard dalle prestazioni chiamato WebAssembly. Per quanto riguarda la grafica, WebGL 1.0 ha un buon supporto per più browser e standard futuri come WebGPU stanno posizionando la piattaforma web per un futuro ampliabile 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.

Recentemente, 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, in modo che il motore principale abbia 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, non c'è mai stato momento migliore per adottare lo sviluppo di giochi web.

Entra nel loop

Un ottimo gioco non si limita a semplici prestazioni, grafica e audio: per essere grande, un gioco deve essere divertente.

Il divertimento è un elemento difficile da misurare in un prodotto. Se un gioco è divertente, interessante o innovativo, gli utenti vorranno dirlo agli amici, ovvero condividere l'esperienza. Sfruttare questa opportunità e abbinarla al web è una combinazione potente che sblocca un grande potenziale di crescita virale. Sul web in particolare, senza una piattaforma centrale di scoperta, la nostra scommessa migliore per l'acquisizione di utenti è far sì che i nostri giochi siano il più virali possibile.

I bravi sviluppatori di giochi sanno che per sfruttare una determinata piattaforma, a livello di software o di hardware, è importante adottare le caratteristiche uniche di quella piattaforma. Ad esempio, se stai creando un gioco per una console con controlli di movimento, probabilmente dovresti pensare a qual è il modo migliore per utilizzare questi controlli.

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 si carichino rapidamente e siano interattivi rapidamente. Ho presentato diversi esempi di giochi, sia sul web che offline, con cui i giochi sono stati progettati per caricarsi rapidamente, attirare gli utenti nei loro mondi di gioco, coinvolgere gli utenti e fornire loro ulteriori incentivi per condividere le loro esperienze.

Tre giochi con stili artistici minimalisti.

Personalmente credo che la chiave per creare un gioco web di successo sia affidarsi a questa caratteristica unica del web. In particolare, l'efficacia della struttura di URL del web e il ciclo di condivisione a cui gli utenti possono partecipare.

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

L'interfaccia di un editor di livelli di un gioco.

Space Board è un gioco molto semplice a cui si può giocare sia da dispositivo mobile con controlli touch sia da computer con l'input da tastiera. L'obiettivo è affrontare un labirinto di ostacoli per raggiungere l'obiettivo alla fine.

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

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

È brutta, ma fa il suo lavoro.

Dopo aver completato un livello nella bacheca spaziale, il giocatore ha l'opportunità di progettare il proprio livello utilizzando il semplice editor di livelli mostrato sopra. Permettendo ai giocatori di progettare i propri livelli, offriamo loro la possibilità di personalizzazione. Quando un utente percepisce un legame con un gioco e un senso di possesso tramite la creazione e la personalizzazione, è più propenso a condividere quel "cosa" con il mondo.

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

Ritorno sull'investimento

Al momento, esistono due scuole di pensiero relative al modo in cui uno sviluppatore di giochi può generare entrate attraverso i giochi web:

  • Monetizzazione diretta dei giochi
  • Trattarli come un canale di acquisizione

Trattare i giochi web come un canale di acquisizione significa sfruttare la versione web del tuo gioco per iOS/Android/computer come meccanismo per attirare l'attenzione dei giocatori e convincerli a scaricare il tuo file binario iOS/Android/desktop più grande. In seguito, puoi generare entrate con i backend di fatturazione e pagamento integrati nella piattaforma iOS/Android/desktop.

La monetizzazione è di solito una combinazione di pubblicità e microtransazioni. C'è ancora del lavoro da fare perché il web possa competere con le piattaforme mobile nella pubblicità dei giochi. Ad esempio, già da diversi anni, formati come gli annunci video con premio sono molto popolari per i giochi mobile, eppure solo ora vediamo che le reti pubblicitarie implementano questi formati sul web.

Ciononostante, ci sono sviluppatori di giochi che continuano ad avere successo sul web aperto grazie alla pubblicità tramite i tradizionali annunci banner e gli 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. Il lato negativo di tutto ciò è che i giocatori hanno meno fiducia implicita nei confronti di un nuovo sito web che scoprono rispetto alla familiarità dei metodi di pagamento specifici per i negozi mobile specifici per piattaforma.

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

Il futuro

Negli ultimi anni abbiamo visto diversi giochi web di notevole successo. Slither.io ha creato un'attività mista, specifica per il web e per la piattaforma, che dimostra l'enorme copertura e l'opportunità di crescita virale offerta dal web. Portali come Poki.com si innovano per quanto riguarda l'esperienza utente e rilasciano nuovi giochi ogni giorno, inclusi titoli affini a quelli delle controparti mobili, come Subway Surfers o Crossy Road.

Inoltre, se guardi al di fuori del web aperto puoi vedere che i giochi web stanno già decollando. Gli ecosistemi chiusi come WeChat e LINE offrono giochi soddisfacenti che non sono giocabili sul web aperto, ma che sono basati su tecnologie web come HTML5 e WebView. Questo è un chiaro segnale che il web ha raggiunto un livello di fedeltà in grado di competere con i giochi mobile specifici delle piattaforme, forse non in una definizione di fedeltà da libri di testo, ma in una metrica più importante: l'attenzione dei giocatori.