In questo articolo ti spiego, in modo semplice e ordinato, come è costruito Space Boom, un gioco che ho creato io con la programmazione a blocchi.
L’obiettivo non è solo giocare: è capire come funziona il coding, cioè come si danno istruzioni a un computer.
Prima di tutto: che cos’è MakeCode Arcade
Per creare Space Boom ho usato Microsoft MakeCode Arcade, un sito gratuito dove programmi trascinando blocchi.
Vai qui: https://arcade.makecode.com/
In MakeCode Arcade puoi:
- costruire un gioco con blocchi tipo puzzle
- provarlo subito nel simulatore
- cambiare i blocchi e vedere cosa succede

Che cos’è Space Boom
Space Boom è un gioco spaziale 2D:
- tu controlli una navicella
- i nemici scendono dall’alto
- tu spari
- fai punti
- se un nemico ti tocca, perdi vite
- il gioco diventa più difficile col tempo

🔹 1. L’avvio del gioco (blocco “all’avvio”)

Quando il gioco parte, il computer esegue tutti i blocchi contenuti in “all’avvio”.
Questa parte serve a preparare il gioco prima che il giocatore inizi.
Qui succede questo:
- il punteggio viene impostato a 0
- le vite vengono impostate a 3
- la variabile livello parte da 1
- la variabile attesa viene impostata a 2000 (millisecondi)
- la variabile velocità viene impostata a 30
- la variabile tempospawn viene impostata usando il tempo dall’inizio del gioco
👉 In pratica: il gioco decide da dove si parte e quanto è difficile all’inizio.
🔹 2. Sfondo e introduzione visiva

Subito dopo l’avvio:
- viene impostata un’immagine di sfondo
- viene riprodotto un suono di accensione
- il gioco aspetta 1 secondo
- viene impostato un nuovo sfondo
Questo serve a:
- rendere l’avvio più coinvolgente
- far capire che il gioco sta iniziando
- migliorare l’esperienza visiva
Lo sfondo non cambia le regole, ma aiuta il giocatore a entrare nel gioco.
🔹 3. Creazione della navicella (Player)

Ora viene creato il personaggio principale del gioco: la navicella.
- la navicella è uno sprite
- viene salvata nella variabile mySprite
- è di tipo Player
Questo è fondamentale perché:
👉 il computer deve sapere qual è il giocatore per controllare movimenti, collisioni e spari.
🔹 4. Posizione e movimento della navicella

Dopo aver creato la navicella:
- viene posizionata in basso (x 76, y 107)
- può muoversi con i pulsanti
- si muove solo a destra e sinistra (vx 100, vy 0)
- non può uscire dallo schermo
Questo rende il gioco:
- più semplice da controllare
- adatto a chi sta imparando
- chiaro dal punto di vista del gameplay
🔹 5. Creazione dei nemici nel tempo (ciclo “per sempre”)

Questa è una delle parti più importanti del gioco.
Il blocco “per sempre” dice al computer: controlla continuamente se è il momento di fare qualcosa.
Qui il gioco fa questo controllo:
- se il tempo dall’inizio è maggiore o uguale a tempospawn
- allora crea un nemico
Il nemico:
- viene salvato in myEnemy
- appare in alto
- ha una posizione orizzontale casuale
- scende verso il basso con una certa velocità
Alla fine: tempospawn viene aggiornato aggiungendo attesa.
👉 Così il gioco sa quando far arrivare il prossimo nemico.
🔹 6. Sparare: quando premi il pulsante A

Qui vediamo un evento.
Quando il giocatore preme il pulsante A:
- viene creato un proiettile
- il proiettile parte dalla navicella
- va verso l’alto (vy -50)
- viene riprodotto un suono
- il gioco aspetta 500 millisecondi
Questa pausa serve a:
👉 evitare che il giocatore spari troppo velocemente.
🔹 7. Colpire un nemico (collisione proiettile – nemico)

Quando un proiettile tocca un nemico:
- il nemico viene eliminato con un effetto
- anche il proiettile viene eliminato
- viene riprodotto un suono
- il punteggio aumenta di 10
Questo è un esempio di regola: se succede questo, allora fai queste azioni.
🔹 8. Essere colpiti (collisione Player – Enemy)

Quando un nemico tocca la navicella:
- il giocatore perde una vita
- viene riprodotto un suono di impatto
- il nemico viene eliminato con un effetto
Se le vite arrivano a zero:
👉 la partita finisce.
🔹 9. I livelli: il gioco diventa più difficile

Il gioco controlla continuamente il punteggio.
Quando:
- punteggio ≥ 100 e livello = 1
- punteggio ≥ 250 e livello = 2
- punteggio ≥ 400 e livello = 3
Allora:
- viene mostrato un messaggio
- aumenta la difficoltà
- i nemici arrivano più spesso
- i nemici sono più veloci
- il valore di livello aumenta
👉 La variabile livello serve a evitare che lo stesso blocco si ripeta all’infinito.
🔹 10. Le variabili del gioco

Nel gioco vengono usate queste variabili:
- mySprite → la navicella
- myEnemy → il nemico
- projectile → il proiettile
- livello → livello di difficoltà
- attesa → tempo tra un nemico e l’altro
- velocità → velocità dei nemici
- tempospawn → momento in cui creare il prossimo nemico
Le variabili sono la memoria del gioco.
✅ Conclusione
Space Boom mostra che programmare significa:
- pensare prima di agire
- dare istruzioni precise
- usare regole, eventi e variabili
Ogni blocco ha uno scopo.
Ogni numero cambia il comportamento del gioco.
Qui potete scaricare il progetto, che potete importare in Microsoft Arcade e personalizzare. Potete cambiare lo stile della navicella, del paesaggio…oppure implementare i livelli sulla base del codice scritto.
Puoi accedere ad una copia del gioco cliccando qui!
Potrai personalizzare il tuo gioco oppure implementarlo!













What do you think?
It is nice to know your opinion. Leave a comment.