RUNVERSE
Multiplayer platform procedurale.
Scegli il mondo di gioco, la difficoltà e il numero di giocatori con combinazioni infinite.

Raccogli i tesori dai pianeti esplorati e aggiungi funzionalità alla tua nave e potenzia te stesso.

Migliora il tuo velivolo e raggiungi il centro dell'universo o corri nel tuo livello preferito per ottenere il tempo migliore.
NOTA: questo gioco è un prototipo.
Runverse è un progetto a cui ho lavorato per due mesi circa. Mi sono concentrato sulla parte multiplayer (di cui la clip video si è corrotta e ho perso i file originali ahimé).
Ho realizzato la parte online con Photon PUN 2 e ho integrato un sistema di database tramite MySQLi.

Nella modalità multiplayer è possibile giocare sia con, sia contro.
Nella modalità con, i giocatori condividono le stesse piattaforme: appena uno dei due passa alla sezione successiva, le piattaforme della sezione corrente cominciano a sparire per entrambi. Nella modalità contro, le piattaforme sono ognuno di proprietà del giocatore in questione.

Ho creato un sistema di database che conteneva il seed di ogni mondo giocato, che si riempiva in automatico appena un giocatore nel tempo giocasse quel certo seed per la prima volta. La banca dati conteneva anche il tempo migliore e il nome di chi lo ha vinto. I mondi sono procedurali, e quindi mettere lo stesso seed su due computer diversi porta alla stessa generazione.

In maniera molto poco ortodossa, ho creato un server di MySQL sul mio computer in localhost con MAMP per conservare i dati, mentre per le richieste e invio dati ho collegato ogni computer che si connetteva in gioco al mio computer, l'host, tramite PUN. I dati che mi venivano inviati passano in automatico per un modulo PHP chiamato direttamente da Unity. Il modulo PHP poi mi restituiva i valori del database di MySQL, dandomi anche l'ok se l'operazione era andata a buon fine. I dati poi venivano caricati sul server MySQL con MAMP se c'era da scrivere e... si otteneva un finto database MySQL, online, gratuito.

Ovviamente ho avvertito tutti gli utenti a cui ho fatto provare il gioco del metodo che stavo utilizzando. Metodo assolutamente instabile e non-commerciale. Però funzionava.

Alla fine mi sono impegnato molto di più nello studiare PHP e MySQLi che nel gioco vero e proprio. Il sistema di movimento mi dava molti problemi che non riuscivo a risolvere all'epoca. Ho utilizzato un sistema di switch e case per definire tutti gli stati possibili del giocatore, come idle, walk, run, jump, falling, dashing, etc. Sono passato poi a una state machine che però si è rivelata molto più complessa da implementare del previsto, visto i numerosi stati diversi.

Runverse mi è stato di appoggio per imparare le basi di PHP, MySQLi e MAMP. Anche se il progetto l'ho accantonato, è stata una esperienza molto formativa.
Runverse
Published:

Owner

Runverse

Published: