f9837153a02e110399c02f732c08c75a42340878
JuggleBoard Game
Un gioco arcade reaction & chaining per dispositivi mobili (orizzontale), realizzato in Godot 4.7 (GDScript).
Prodotto per la Cooperativa Sociale UPENDI (Gravina in Puglia) — Pedagogia del Circo e Circo Sociale.
Il logo UPENDI è stato generato con l'API Gemini.
Un gioco arcade reaction & chaining per dispositivi mobili (orizzontale), realizzato in Godot 4.7 (GDScript), ispirato al prodotto riabilitativo "Juggle Board".
Gameplay
- 5 corsie orizzontali, ognuna con una pallina colorata a riposo sul lato destro.
- Un bersaglio in alto indica quale pallina toccare.
- Toccando la pallina giusta: scivola a sinistra e poi torna a destra, con un suono di conferma.
- Un nuovo bersaglio appare solo se c'è almeno una pallina a riposo.
- Devi concatenare i lanci prima che scada il timeout: più concateni, più punti (combo).
- Difficoltà crescente: il tempo parte molto disteso (~4,5s) e si riduce con il tempo trascorso e il punteggio.
- Tap sbagliato → suono di errore e reset combo (nessun game over).
- Combo con decadimento: il combo cresce con i tap rapidi ma si riduce pian piano in proporzione al tempo che aspetti prima di cliccare la pallina bersaglio (rate configurabile
COMBO_DECAY). - Timeout scaduto → suono dedicato, reset combo, nuovo bersaglio (nessun game over).
- I suoni (lancio, errore, timeout) sono generati proceduralmente in 8-bit.
Requisiti
- Godot 4.x (sviluppato e testato con 4.7.1, renderer GL Compatibility).
Eseguire
# dal percorso del progetto
godot --path .
Oppure apri il progetto con l'editor Godot (godot -e .) e premi Play (F5).
Controlli
- Desktop: click del mouse sulla pallina.
- Mobile: tocco sullo schermo.
Struttura
project.godot # configurazione (viewport 1280x720, landscape, GL Compatibility)
icon.svg
scenes/
main.tscn # scena principale (radice Node2D + script)
scripts/
main.gd # logica di gioco, HUD, punteggio, difficoltà
ball.gd # pallina: Area2D, scivolata sinistra↔destra, input
target_dot.gd # indicatore del colore bersaglio
Personalizzare la difficoltà
In scripts/main.gd (sezione "Tuning difficoltà"):
START_TIME→ tempo iniziale tra un ordine e l'altro (s). Più alto = partenza più distesa.MIN_TIME→ tempo minimo (velocità massima) raggiunto a difficoltà piena.TIME_RAMP→ secondi di gioco per raggiungere la difficoltà piena.SCORE_RAMP→ punteggio per raggiungere la difficoltà piena.
La difficoltà cresce col massimo tra il fattore-tempo e il fattore-punteggio.
Esportazione mobile
Installa dal Project Manager il template Android (o iOS su macOS), poi
Project → Export con preset Android / Web.
Description
