I 7 trend più rilevanti emersi al GDC 2017

I 7 trend più rilevanti emersi al GDC 2017

Abbiamo visitato i padiglioni del Game Developers Conference e assistito a qualcuno dei keynote indirizzati principalmente agli sviluppatori. Ecco quali considerazioni ne sono emerse sul futuro della tecnologia e dei videogiochi.

di Rosario Grasso pubblicato il nel canale Schede Video
GeForceNVIDIABlizzardMicrosoftWindowsEpicAkamaiCaptoGlove
 

Quanto è delicato il netcode di Overwatch e perché usa Statescript

Il netcode dei videogiochi multiplayer moderni è un aspetto molto importante, che richiede fasi di ingegnerizzazione prolungate e attente per garantire l'integrità dell'input e sufficiente reattività rispetto all'interazione dei giocatori. Se un gioco come Battlefield deve tenere conto di un numero molto elevato di elementi, come proiettili, distruzione, diversi soldati sul campo di battaglia, veicoli, e molto altro ancora; Blizzard deve assicurarsi che in Overwatch la logica di gioco venga riprodotta nel modo corretto e che abilità e armi dei tanti personaggi presenti siano tra loro sincronizzate nel modo giusto. Sappiamo bene che tipo di difficoltà hanno recentemente incontrato i produttori di giochi online nello scalare i server di gioco in funzione della domanda, che è sempre maggiore nelle fasi di lancio per poi inevitabilmente calare nelle fasi successive (ne abbiamo parlato anche nella pagina dedicata ad Akamai).

Overwatch

Statescript è un linguaggio di visual scripting in cui ogni script è rappresentato da un grafico a nodi come il Blueprint di Unreal Engine 4
Overwatch implementa la sua logica di alto livello attraverso Statescript, il quale consente di gestire questo tipo di logica tramite script senza dover intervenire a livello di codice. Statescript permette anche a coloro che non sono programmatori di creare le logiche di alto livello nei videogiochi. Aiuta a definire lo stato di gioco, incoraggia la programmazione modulare e gestisce senza grosse difficoltà la sincronizzazione tra i diversi stati macchina. Inoltre, nel caso di Blizzard, si adatta perfettamente alle altre componenti del motore di gioco di Overwatch. Con logica si intende, ad esempio, l'attivazione delle abilità e il funzionamento delle armi, come interagisce ogni abilità speciale con le azioni degli altri giocatori, e come tutto questo viene sincronizzato tra i client di gioco attraverso il server, e quindi come viene gestito a livello di netcode.

Statescript è un linguaggio di visual scripting in cui ogni script è rappresentato da un grafico a nodi come il Blueprint di Unreal Engine 4. Consente di definire sequenze temporalmente precise di eventi insieme ai loro fattori di attivazione, che normalmente nei giochi vengono utilizzati per l'attivazione di leve, l'apertura di passaggi e la gestione di puzzle logici. Quando uno script entra in funzione crea un'istanza di Statescript, dove ogni nodo è formato da un'entrata, da una condizione, dall'azione e, infine, da uno stato. Il comportamento di un nodo è definito dalle proprietà, mentre sono disponibili vari tipi di logiche come imperative e dichiarative.

Ci sono alcune prerogative perché un linguaggio di scripting possa essere scelto per rappresentare la base logica di un videogioco moderno. Ovvero non deve essere invasivo per lo scripter, deve essere in grado di garantire gameplay reattivo e ovviamente deve garantire la sicurezza, quindi non essere attaccabile da hacker e cheater. Inoltre, deve garantire che il gioco rimanga funzionante in ogni circostanza, minimizzando notevoli effetti collaterali. L'esperienza con Overwatch deve, insomma, essere continuativa e consistente. Gli script si suddividono in due categorie fondamentali, ovvero quella delle istanze sincronizzate tra di loro, come lo sono appunto armi e abilità, e quella delle istanze non sincronizzate con il resto, come lo sono i menù.

Overwatch

In conclusione, per Blizzard i benefici a usare questa tecnologia riguardano la rapida iterazione delle varie azioni con sincronizzazione automatica dello stato macchina. Inoltre, nuove caratteristiche di gameplay possono essere sommate agli script esistenti senza ricorrere alla sincronizzazione della logica stato macchina tramite codice. Questo approccio, infine, garantisce un impatto molto lieve di bug. Ci sono anche delle sfide da affrontare, che riguardano i costi di implementazione up-front per quanto riguarda il runtime, l'editor e il debugger. La curva di apprendimento per gli ingegneri del software non è così morbida, soprattutto nella fase in cui devono stabilire quali parti del software devono essere gestite tramite codice e quali tramite script.

Così come accade con i progetti Unreal Engine 4, quindi, anche la logica di base di Overwatch viene gestita da sistemi che possono essere utilizzati anche da non programmatori. Grazie a strumenti di sviluppo sempre più avanzati e pervasivi, la creazione di videogiochi è ormai alla portata del maggior numero possibile di persone. La tecnica permette al talento di sprigionarsi e alla creatività di fiorire, come è giusto che accada nel mondo dei videogiochi.

L'adrenalinico shooter competitivo multiplayer di Blizzard era molto presente in fiera e si è aggiudicato un nuovo importante premio. Dopo aver conseguito il titolo di miglior gioco dell'anno ai The Game Awards è valutato il migliore anche nell'ambito dei Game Developers Choice Awards, i premi che vengono assegnati proprio in occasione del GDC e che sono arrivati alla loro diciassettesima edizione. Altri dettagli si trovano qui.

 
^