World of Warcraft

L'angolo del programmatore: sviluppo su mobile e PC

Blizzard Entertainment

Mentre lo sviluppo di Shadowlands prosegue a gonfie vele in beta, vogliamo offrirti uno sguardo dall'interno al processo di sviluppo e di creazione di alcune delle migliori funzioni che utilizzerete nell'espansione. In questo episodio dell'angolo del programmatore, ci concentreremo sullo sviluppo simultaneo di una funzione per mobile e PC con le "Avventure", il nostro nuovo sistema di progressione offline per Shadowlands. Il sistema delle Avventure è il degno successore di quello delle missioni e dei seguaci introdotto nelle precedenti espansioni, che permette di inviare gruppi composti da un massimo di cinque avventurieri a combattere i nemici in una battaglia automatica.

Progettazione del sistema

La creazione di tutte le funzioni parte dalla progettazione del sistema, con il quale i nostri progettisti impostano una serie di obiettivi e creano una proposta che diventa quindi una caratteristica giocabile. Per le Avventure, volevamo conservare ciò che di buono c'era nel precedente sistema delle missioni e dei seguaci, variando altri aspetti. In particolare, ci piaceva come il sistema presentasse ai giocatori ricompense e obiettivi, consentendone la progressione mentre il giocatore era offline, proponendo un altro modo di raccontare la storia ed enfatizzando al contempo l'elemento fantastico del gioco. Abbiamo voluto rendere la dinamica di gioco più intrigante e il susseguirsi delle missioni più fluido. Precedenti iterazioni del sistema di missioni e seguaci erano stati risolti in maniera sommaria, specialmente con l'utilizzo di add-on. D'altro canto, il sistema delle Avventure è interno al gioco, non un gioco a sé stante. I nuovi giocatori dovrebbero poterlo utilizzare sin dall'inizio, senza dover leggere delle guide, ma dovrebbe essere abbastanza profondo da ricompensare equamente chi ci investe più tempo. Inoltre, non volevamo creare un sistema che progredisse offline e che non rubasse una sensibile quantità di tempo al giocatore quando siede al PC.

In questa fase di sviluppo, i migliori amici dei progettisti sono i fogli di calcolo, che consentono di colmare il gap tra idee e dati. I fogli di calcolo forniscono un'istantanea, per quanto abbozzata, di come quell'idea possa funzionare applicando diverse variabili come esperienza e potenza d'attacco, permettendo rapide iterazioni in una fase di lavoro durante la quale sperimentare è ancora facile ed economico.

Alla fine, siamo arrivati a un modello tipo "auto chess", ma più leggero, utilizzando un sistema di combattimento a turni che si risolve automaticamente. I giocatori posizionano cinque avventurieri in modo strategico in base alle abilità di ciascuno. Quando tutti i nemici sono stati sconfitti, viene assegnata la ricompensa. Con un efficace e accorto posizionamento degli avventurieri, i giocatori possono minimizzare la quantità di danni subiti durante il combattimento, potendo così utilizzare gli avventurieri per l'avventura successiva senza dover aspettare che recuperino salute.

Sfide mobile e considerazioni

Le Avventure sono una funzione che si integra naturalmente nella WoW Companion App. Sviluppare contemporaneamente questa funzione per PC e mobile ci ha permesso di creare un ambiente di lavoro cooperativo tra i sistemi e l'interfaccia utente (UI), che poi è diventata unica per entrambe le piattaforme. Uno degli obiettivi che ci siamo prefissi per la UI delle Avventure è stato quello di equiparare il più possibile la versione PC a quella mobile. Bisogna però ricordare che la Companion App è complementare a quella PC, quindi tale somiglianza non deve essere forzata a spese dell'esperienza del gioco principale.

Mobile Graybox

Mobile Graybox

PC Graybox

PC Graybox

Se il PC propone sfide complesse, come la renderizzazione del mondo tridimensionale su una vasta gamma di hardware e la gestione del numero di giocatori connessi contemporaneamente, lo sviluppo di quella mobile ha tutta un'altra serie di problematiche da affrontare. I telefoni hanno una gran varietà di proporzioni e misure che la UI e la user experience (UX) devono tenere in considerazione. L'afflusso di dati dev'essere minimizzato per permetterci di supportare quanti più modelli possibile. L'ostacolo più grande da superare quando si sviluppano funzioni per mobile è che il gioco non è nato originariamente per queste piattaforme. Ripensando al 2004, quando World of Warcraft venne pubblicato, il telefono standard era il Motorola Razr e il gioco più diffuso era Snake. Inutile specificare che l'impianto di gioco ai tempi non era stato sviluppato con la componente mobile in mente. Anche la funzione più semplice può richiedere un gran lavoro su PC prima di essere implementata su mobile.

Progettazione

Fortunatamente per le Avventure, abbiamo potuto usare molte delle precedenti iterazioni di missioni e seguaci: fondamentalmente, i giocatori scelgono da una selezione di seguaci e li assegnano a una missione. Abbiamo scelto di implementare contemporaneamente entrambe le piattaforme, mobile e PC, invece che farlo in successione, per via della natura strettamente correlata dei due design. Sviluppare le piattaforme da zero ci ha permesso di scrivere i messaggi del server affinché le supportino esplicitamente entrambe. Prima di implementare in gioco la maggior parte degli elementi dell'UI, abbiamo usato un software sperimentale che ci ha permesso di trasporre le avventure in un ambiente di gioco più interattivo.

Client GUI
Client GUI

Come si presenta

Una delle sfide più grandi da superare su entrambe le piattaforme riguardava gli effetti speciali (FX) usati durante i replay dei combattimenti. Sapevamo sin da subito che gli effetti speciali erano cruciali per rendere chiaro lo svolgimento del combattimento e renderlo visivamente più immersivo. Questo voleva dire sperimentare con la UI e così entrambe le piattaforme hanno avuto un proprio trattamento. Anche se il PC dispone di una solida base di effetti speciali esistenti, la tecnologia a disposizione per inserirli nella cornice della UI non era abbastanza sofisticata per le animazioni di combattimento. La piattaforma mobile aveva un buon impianto di animazioni, ma gli effetti speciali non erano ottimizzati per l'uso su mobile. Alla fine, per entrambe le piattaforme abbiamo deciso di sviluppare i "pezzi mancanti", con la consapevolezza che l'intero impianto sarebbe stato utilizzato per altre funzioni in futuro.

Per la piattaforma mobile sapevamo già che le dimensioni dell'app sarebbero state un problema. Aggiungere effetti speciali per una serie completa di avventurieri e scontri, oltre ai contenuti già esistenti, sarebbe stato un problema per la memoria. Oltre alla parte visiva degli effetti speciali, siamo passati da una manciata di effetti audio all'avere un set completo di suoni per ogni incantesimo. Con la collaborazione del team degli effetti speciali di WoW e Hearthstone, abbiamo fatto tesoro delle lezioni passate, incorporandole nel nostro flusso lavorativo. Abbiamo adottato un approccio per il quale viene scelto l'effetto dell'incantesimo da riprodurre in base alla scuola di magia e al tipo di avventuriero, introducendo un sistema che discuteremo in un altro articolo dove analizzeremo i dati più in dettaglio.

Test di gioco

Quando l'implementazione è a buon punto, è importante avviare delle sessioni di test di gioco frequenti. Il gioco può anche essere tecnicamente perfetto, ma se i giocatori non lo trovano divertente, l'obiettivo non è stato raggiunto. L'attuale situazione di lavoro da remoto ha rappresentato un ostacolo ulteriore da superare per il team mobile. Il procedimento di testing standard prevede di caricare la build di gioco su diversi dispositivi mobili e giocare tutti insieme in una stanza. Con l'avvento dello smartworking, abbiamo dovuto trovare un modo affidabile e sicuro per distribuire le build sui dispositivi mobili in un paio di settimane prima che la gente iniziasse a lavorare fissa da casa. Grazie alla rapida collaborazione di più team Blizzard, siamo stati in grado di distribuire abbastanza build per il test. Questo ci ha permesso non solo di coordinare correttamente le sessioni di test, ma anche di far avere l'app ad altri team che lavorano su WoW, aprendo le porte a funzioni future.

Uno sguardo al futuro

Non abbiamo ancora finito di sviluppare questa funzione e continueremo a lavorare sulle Avventure durante la transizione alla beta di Shadowlands e oltre. Speriamo che questo sguardo dietro le quinte abbia gettato nuova luce sui procedimenti, sulle sfide e sulle soluzioni che entrano in gioco durante lo sviluppo delle Avventure per World of Warcraft. In ambito di testing, per quanto la nostra forza lavoro possa essere robusta, non è niente rispetto al numero dei nostri fan. I feedback che possono aiutarci a migliorare le Avventure possono essere pubblicati sui forum della beta di Shadowlands. Grazie e... ci vediamo nelle Terretetre!