Nowadays latency and packet loss in Internet connections are still a problem in client-server systems for multiplayer videogames. In fact, in a virtual environment where multiple users interact in real time, such events can result in difficulties in using the application. This thesis proposes a methodology to mitigate the effects of such problems. The strategy (already adopted in the videogame field, e.g. Heroes of the storm) mainly consists in replacing players experiencing connection problems with agents that can play on their behalf until the connection is re-established. When the connection is re-normalized the control is returned to the player. Before now this approach has been adopted in several videogames, e.g. Heroes of the Storm for example already adopts it. The implemented methodology consists of the following steps: 1) Make the game playable locally; 2) Build and train an agent in the local environment; 3) Implement the online client/server modules of the game, making the server able to use the agent constructed in 2. In order to provide reliability and consistency between connected peers, the server has been developed adopting an authoritative approach. This solution makes the server able to manage the game state of and to switch between a client and the corresponding agent when network problems occur; moreover, this type of server allows to block any attempts of cheating by the players, since the game consistency is accomplished by a server that cannot be accessed by users. This work has been developed using Unity 3D framework with Unity ML-Agents Toolkit; furthermore, online multiplayer has been developed with Mirror networking package, which at present is a standard-de facto in Unity 3D projects.
Gestire problemi di connessione, quali latenza di rete e perdita di pacchetti, in un sistema client-server per il gioco online rappresenta una sfida a tutt'oggi. Infatti in un ambiente virtuale in cui più utenti interagiscono in tempo reale, tali eventi possono rendere difficoltosa l’esperienza d’uso dell’applicazione. In questa tesi si è sviluppata una metodologia atta a mitigare le conseguenze di tali problemi. La strategia (già adottata nel campo videoludico, es. Heroes of the storm) consiste principalmente nel sostituire i giocatori aventi problemi di connessione con agenti intelligenti che possano sostituirli finché la connessione non venga ristabilita. La metodologia di sviluppo che è stata analizzata ed sviluppata si compone delle seguenti fasi: 1) realizzazione del gioco in modalità locale; 2) sviluppo e addestramento di un agente di gioco nell'ambiente creato al passo 1; 3) estensione del gioco precedente con modalità di rete, in grado di riconoscere problemi di connessione o latenza e utilizzare l’agente sviluppato al passo 2 per sopperirvi. Per garantire condizioni di affidabilità e coerenza tra i giocatori collegati e per semplificare la decisione sulla sostituzione del giocatore con l'IA (e viceversa) si è deciso di adottare un server di tipo autoritativo. Questa soluzione permette infatti di demandare al server la gestione dello stato del gioco e il passaggio di controllo tra un client e il corrispondente agente in caso di problemi di rete; infine tale tipologia di server permette di contrastare eventuali tentativi di imbroglio da parte dei giocatori (cheating), dal momento che tutte le informazioni sono gestite da un server a cui nessun utente può accedere. Durante la tesi è stato utilizzato il software Unity 3D, per la realizzazione e l'addestramento dell'IA si è utilizzata la libreria ML-Agents; infine, per l'implementazione del multiplayer online è stato utilizzato il pacchetto Mirror che sta diventando uno standard-de facto nei progetti sviluppati con Unity 3D.
Analisi e sviluppo di una IA per mitigare gli effetti dei problemi di connessione in un sistema client-server per il gioco online
MARTELLO, MATTIA
2021/2022
Abstract
Gestire problemi di connessione, quali latenza di rete e perdita di pacchetti, in un sistema client-server per il gioco online rappresenta una sfida a tutt'oggi. Infatti in un ambiente virtuale in cui più utenti interagiscono in tempo reale, tali eventi possono rendere difficoltosa l’esperienza d’uso dell’applicazione. In questa tesi si è sviluppata una metodologia atta a mitigare le conseguenze di tali problemi. La strategia (già adottata nel campo videoludico, es. Heroes of the storm) consiste principalmente nel sostituire i giocatori aventi problemi di connessione con agenti intelligenti che possano sostituirli finché la connessione non venga ristabilita. La metodologia di sviluppo che è stata analizzata ed sviluppata si compone delle seguenti fasi: 1) realizzazione del gioco in modalità locale; 2) sviluppo e addestramento di un agente di gioco nell'ambiente creato al passo 1; 3) estensione del gioco precedente con modalità di rete, in grado di riconoscere problemi di connessione o latenza e utilizzare l’agente sviluppato al passo 2 per sopperirvi. Per garantire condizioni di affidabilità e coerenza tra i giocatori collegati e per semplificare la decisione sulla sostituzione del giocatore con l'IA (e viceversa) si è deciso di adottare un server di tipo autoritativo. Questa soluzione permette infatti di demandare al server la gestione dello stato del gioco e il passaggio di controllo tra un client e il corrispondente agente in caso di problemi di rete; infine tale tipologia di server permette di contrastare eventuali tentativi di imbroglio da parte dei giocatori (cheating), dal momento che tutte le informazioni sono gestite da un server a cui nessun utente può accedere. Durante la tesi è stato utilizzato il software Unity 3D, per la realizzazione e l'addestramento dell'IA si è utilizzata la libreria ML-Agents; infine, per l'implementazione del multiplayer online è stato utilizzato il pacchetto Mirror che sta diventando uno standard-de facto nei progetti sviluppati con Unity 3D.File | Dimensione | Formato | |
---|---|---|---|
859715_tesimattiamartello.pdf
non disponibili
Tipologia:
Altro materiale allegato
Dimensione
1.45 MB
Formato
Adobe PDF
|
1.45 MB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14240/51466