Space Galaxa: Lorenzo Livrieri crea il suo videogame!

Space Galaxa

Nei due anni di corso, gli studenti di JAC sono chiamati a sviluppare dei projectwork, che hanno lo scopo di far emergere le competenze acquisite durante il percorso e di realizzare un progetto proprio.

È il caso di Lorenzo Livrieri Talento JAC del corso di Web Development che ha sviluppato un suo videogame chiamato “Space Galaxa”, un videogioco ambientato nello spazio nata da un’idea creativa che racchiude il suo bagaglio di competenze acquisite in JAC.

Space Galaxa: il videogame

L’obiettivo del projectwork di Lorenzo è stato creare un videogame utilizzando java.swing come libreria base, senza nessun altro codice di programmazione.

Nello sviluppo del progetto sono stati poi utilizzati gli strimenti “Eclipse” e “Adobe Photoshop”.

Il gioco consiste in una rivisitazione del classico gioco “sparatutto” con navette spaziali, dove il “nemico” scende in linea verticale e il giocatore deve distruggerlo.

Una volta che si eliminano tutti i nemici, si passa al livello successivo, fino ad arrivare al livello 10 dove il giocatore incontra il “boss finale”.

Gestione delle immagini

Le immagini sono create da delle sprite sheets, ovvero file di immagini che contengono diversi elementi grafici più piccoli in una disposizione a griglia piastrellata, traslando l’immagine ad ogni “tick” per fare in modo che si crei l’animazione.

Il risultato è che anche cambiando immagine, questa resterà sempre allo stesso livello.

Varie spreadsheets

Come vengono gestite le collisioni

Il metodo che Lorenzo ha ideato per gestire le collisioni del videogioco delle collisioni si basa una serie di regole:

Sì, parte prendendo tutti i punti del perimetro di uno sprite che può esplodere (precedentemente inseriti) e si controlla se questi appartengono all’area di un altro sprite.

Se la risposta è positiva, allora si genera l’esplosione, si aumentano i punti del gioco oppure si diminuiscono le vite.

Il ciclo del gioco

Come lo sviluppo di tutti i videogame, è necessario stabilire un ciclo di avvenimenti per dare vita e forma al gioco.

Nel caso di Space Galaxa il ciclo seguito per la creazione del videogame prevede:

  • Inizializzazione dei contenuti
  • Creazione di un loop dove:
    • Si aggiornano i valori
    • Si controllano le collisioni
    • Si aggiornano le immagini
    • Disegno

Tutto questo finché il giocatore finché o vince o perde.

Il tutto si riassume in questo schema:

Il ciclo del gioco

Gerarchia delle classi

Per gli appassionati e tecnici di videogiochi, questa è la gerarchia delle classi utilizzata da Lorenzo nella creazione del suo videogame.

  • Programma: classe contenente il main, estesa da un jFrame
  • Gioco: classe contenente il loop, estesa da un Jpanel
  • Sprite: classe con i metodi base per disegnare l’immagine, l’aggiornamento della stessa e per i poligoni di collisione
  • Sprite_auto: classe, estesa da Sprite, che permette di modificare i metodi delle sprite automatiche
  • Sprite_cont: classe, estesa da Sprite, che permette di modificare i metodi delle sprite Controllate dal giocatore
  • Audio: classe con i metodi per le musiche del gioco
  • Più varie classi per la connessione al database

Web Development: un corso pratico e laboratoriale

Il videogame Space Galaxa è un esempio di quanto JAC mette al centro della formazione un’esperienza pratica laboratoriale.

Il corso di Web Development di JobsAcademy è costruito appunto per premetterti di acquisire competenze concrete immediatamente spendibili nel mondo del lavoro.

Grazie a questo corso, infatti, potrai imparare:

  • Sviluppare software
  • Sviluppo web
  • sviluppo web di backend (tra cui api e database)
  • sviluppo web di frontend

In questo modo potrai, dopo due anni di corso, presentarti nel mondo del lavoro con un bagaglio di conoscenze e competenze tecniche che potrai da subito mettere in pratica, senza dimenticare che durante il corso avrai l’opportunità di effettuare due esperienze di stage in aziende del settore.

Anche tu vuoi creare il tuo videogame? Iscriviti al corso di Web Development corso.

Team Talenti di JAC
Articolo di:Team Talenti di JAC