Speciali

Programmare con Laboratorio di Videogiochi: creiamo uno sparatutto speciale con 3DClouds!

Game

Benvenuti alla seconda puntata nel nostro viaggio da programmatori in Laboratorio di Videogiochi insieme 3DClouds, uno dei più attivi team di sviluppo in Italia!

Benvenuti alla seconda puntata nel nostro viaggio da programmatori in Laboratorio di Videogiochi insieme 3DClouds, uno dei più attivi team di sviluppo in Italia!

Settembre 20, 2021

Nota del redattore: questo articolo è stato realizzato grazie alla gentile partecipazione di Sara Valdameri (Game Designer) e Alex De Nittis (QA & Game Tester) di 3DClouds, che ringraziamo per il loro tempo e il prezioso contributo!

Un piccolo, grande spazio

Bentornato! Eccoci di nuovo insieme a distanza di una settimana da quando abbiamo iniziato il nostro piccolo viaggio all’interno di Laboratorio di Videogiochi insieme agli amici di 3DClouds!

Dopo aver dato vita a “La Rapa di Gerry“, il nuovo capolavoro platform, ci prepariamo a testare le nostre neonate capacità di programmatori su un nuovo genere: lo sparatutto!

Ricordi come avevamo iniziato la scorsa volta? Con uno schermo vuoto, come sempre! Ma non facciamoci prendere dal panico: un nodon alla volta costruiremo un altro gioco e questa volta il protagonista sarà un po’ più extraterrestre del solito. Diamo il benvenuto al Nodon UFO!

Sono tondo, sono bello, sono ufomodello!
Ecco qua Alfredo (scelto da Sara)! Alex optava per “Bob”.

Abbiamo il nostro protagonista, ma forse conviene dargli un po’ più di “spazio”… da buon oggetto volante non identificato, è abituato a viaggiare tra le stelle! Permettiamogli di farlo associandogli correttamente i Nodon stick Su/Giù e Destra/Sinistra.

Questo “spazio” può sembrare un po’ ristretto: un modo rapido per aumentare l’area di gioco a disposizione è ragionare al contrario, rimpicciolendo il il nostro nodon!

Come abbiamo imparato nella scorsa lezione, una volta permesso ai nostri Nodon di muoversi, questi possono farlo liberamente arrivando anche fuori dallo schermo di gioco.

Andiamo quindi ad inserire i Nodon oggetto semplice squadrato e il Nodon schermo di gioco. Manca però il tocco fantascientifico che solo il Nodon Mondo può darci: chiamiamo anche lui (dal menù oggetti) e impostiamo il suo attributo Illuminazione su Spazio profondo.

Non ci resta che affidare una missione al buon Alfredo!

Sara non si perde in preamboli:

Sconfiggere tutti i nemici a schermo!

Alex, bello agguerrito, rincara la dose:

Tutti i nemici, nessuno escluso!

Quindi il nostro eroe avrà come compito, per considerare il gioco “concluso”, quello di eliminare tutti i suoi nemici facendone piazza pulita. Ma chi sono questi nemici e, soprattutto, dove sono?

Se devo essere sincero, prima penserei a preparare le armi per affrontarli! Dal menù Oggetti andiamo su Lancia/Distruggi/Attira -> Lancia oggetto -> Lancia 10 oggetti e colleghiamo il nostro Alfredo al nuovo nodon appena creato che ci permette di lanciare oggetti sferici per colpire i nemici!

Come puoi notare, c’è qualcosa che non va! Collegare i due nodon senza toccarne le impostazioni fa sì che il nostro Alfredo lanci grosse sfere – che sembrano palle mediche! – dalla sua sinistra, senza poterle controllare in modo efficace.

Sara e Alex condividono la mia idea di andare prima a definire la dimensione dei colpi… dove andranno lo vedremo dopo!

Nelle impostazioni del nodon Lancia oggetti troverai tre voci sotto “Dimensione“: puoi modificare quella che vuoi (X, Y o Z), perché trattandosi di oggetti sferici le altre misure cambieranno a loro volta sul valore che indicherai per una di loro.

Noterai che adesso i nostri colpi hanno sì una misura più adeguata, ma continuano ad avere il vizio di andare dove non dovrebbero. È il momento di sfruttare l’esperienza da sviluppatori di Sara e Alex per giocare sulle coordinate e impostare la corretta direzione del lancio.

Ricordate quelle brutte cose che insegnavano a scuola? Eccole qua!

Non so tu, lettore, come ti trovi nel gestire le coordinate cartesiane in un ambiente 3D, ma io devo ammettere di essere andato un po’ in crisi e aver iniziato a testare ogni opzione anziché provare a pensare prima quale fosse quella giusta.

Sembrava una sciocchezza, ma Alex mi ha rassicurato!

Da quello che ho visto finora, vedo che hai imparato la magica arte dell’iterazione: tu fai una cosa, la modifichi e la testi subito. È una cosa fantastica perché funziona proprio così.

Tu alla fine potresti provarle tutte, ottenendo alternative diverse o meccaniche che non avresti immaginato: anche provando un po’ a caso potresti arrivare a scoprire qualcosa di davvero speciale nel tuo gioco.

Alla fine ce l’abbiamo fatta impostando la direzione di lancio in “Z+”!

Finalmente la direzione giusta!

Missione compiuta, oppure manca qualcosa? Al momento i nostri colpi vengono lanciati automaticamente ad un ritmo regolare, cosa che rende l’esperienza meno interattiva di quanto vogliamo.

Possiamo quindi inserire un Nodon pulsante per metterlo al comando dell’azione stessa di lancio dei colpi. Farlo è molto semplice, basta metterlo prima del Nodon lancio oggetto, in modo che quest’ultimo riceva un avviso di “agire” solo quando noi premiamo il tasto scelto (in questo caso Y).

Il nostro UFO ora è in grado di sparare un sacco di colpi, che continuano a rimbalzare per lo schermo finché non incontrano un altro colpo, così da distruggersi a vicenda.

Alex nota la cosa e interviene, facendo una domanda a Sara:

Sara ma queste “palline” le vogliamo sempre presenti o preferiamo che ad un certo punto si distruggano o scompaiano?

Arriva la risposta puntualissima di Sara:

Potremmo farle distruggere a contatto con le barriere

Andiamo quindi a modificare gli attributi del Nodon lancia oggetto e delle nostre pareti!

Prima di procedere, riassumiamo velocemente quanto fatto finora.
Nello specifico abbiamo:

  • Creato un Nodon oggetto personaggio a forma di UFO
  • Dato all’UFO la capacità di muoversi in alto/basso e destra/sinistra collegando i relativi Nodon stick.
  • Creato e configurato un Nodon lancia oggetto per consentire al nostro UFO di sparare dei colpi.
  • Collegato il Nodon lancia oggetto ad un Nodon pulsante per essere sicuri di sparare solo quando vogliamo.
  • Sistemato gli attributi delle pareti per distruggere i colpi una volta arrivati al bordo dello schermo.

Come sempre è fondamentale nella realizzazione di un gioco realizzare prima le basi. E noi l’abbiamo fatto con successo!

A vederlo così sembra semplice, eppure abbiamo fatto tante cose!

Ancora non sappiamo cosa ci attenderà nel gioco finale, ma Sara avanza una proposta:

Per rendere le cose più difficili, più frizzantine, si potrebbero mettere degli ostacoli contro cui l’Ufo può distruggersi.

Alex rincara la dose:

Potremmo fare delle sfere che sembrano degli asteroidi.

Creiamo quindi un Nodon oggetto semplice sferico (visibile / solido / NON mobile) e diamo al nostro UFO un attributo “Distruttibile” che funziona con gli oggetti sferici: così quando Alfredo entrerà in contatto con un oggetto sferico “distruttivo”… dovrà andare a fare qualche riparazione!

Adesso che il nostro UFO è distruttibile, dobbiamo gestire il gioco in modo che si riavvii automaticamente quando Alfredo va in mille pezzi.

Abbiamo spiegato come fare nella scorsa puntata, ti ricordi? Ma ricapitoliamo: dobbiamo usare il Nodon oggetto distrutto, il Nodon riprova e il Nodon cronometro.

  • Il Nodon oggetto distrutto manda un segnale quando, appunto, viene distrutto un oggetto a nostra scelta.
  • Il Nodon riprova riavvia il gioco quando gli arriva un segnale
  • Il Nodon cronometro fa passare del tempo (a nostra scelta) prima di far uscire un segnale che riceve.

Impostiamo il Nodon oggetto distrutto in modo che faccia ripartire il gioco dopo 3 secondi (lo regoliamo dagli attributi del Nodon cronometro) quando Alfredo va in mille pezzi.

un terzetto di Nodon che è una garanzia!

Abbiamo creato un’area di gioco non proprio confortevole per il nostro Alfredo, ma il bello sta proprio nell’offrire una sfida al giocatore!

È arrivato dunque il momento di decidere quale sarà effettivamente la nostra missione: distruggere tutti i nemici!

Siamo nello spazio, controlliamo un UFO: che ne dici di combattere degli alieni?

Abbiamo riempito lo schermo con alieni grandi e piccoli!

Abbiamo fatto una importante modifica, inserendo un nuovo elemento nell’area di gioco: pensi ci sia qualcosa che dobbiamo sistemare?

Sicuramente dobbiamo fare in modo che gli alieni “distruggano” il nostro Alfredo (altrimenti che sfida sarebbe?), ma dobbiamo anche essere in grado di distruggerli con i nostri colpi! Ecco cosa devi fare:

  • Impostare l’attributo “Distruttibile” degli alieni su “Oggetto sferico”, così che i nostri colpi (che sono oggetti sferici distruttivi) possano farli esplodere
  • Impostare l’attributo “Distruttibile” del nostro UFO anche su “Alieno”, così che il nostro Alfredo perda quando va a toccare le sfere o gli alieni.
Ricordiamoci di cambiare le impostazioni dell’attributo “distruttibile” di Alfredo!

Siamo quasi arrivati alla fine! Abbiamo creato un gioco con un protagonista, degli ostacoli e dei nemici. Questo gioco si riavvia da solo quando il protagonista “perde”, toccando gli ostacoli e i nemici.

Come dici? Ti stai chiedendo come si vince a questo gioco? Hai ragione, manca proprio quella parte!

Qui ci viene in soccorso la matematica di base, ti spiego velocemente in pochi punti cosa faremo:

  • Conteremo tutti gli alieni per sapere quanti sono in totale e metteremo quel valore in un Nodon costante (in questo caso sono 10)
  • Creeremo un Nodon contatore che aumenta di 1 ogni volta che viene distrutto un alieno (grazie al Nodon oggetto distrutto)
  • Un Nodon paragone controllerà per tutta la durate del gioco se il numero di alieni totale è uguale a quello degli alieni distrutti (grazie al Nodon contatore)
  • Quando il numero di alieni totali e di alieni distrutti è uguale, il gioco ripartirà andando dal Nodon riprova e dal Nodon cronometro creati in precedenza.
Nel menù “Processi” trovi il Nodon Paragone, che ancora non conoscevi
Et voilà! Tutto ordinato!

Visto? Non è complicato come sembra!

Immaginare quali Nodon usare (e come) è stato naturale, tanto che ho detto a Sara e Alex di prepararsi perché gli avrei mandato un curriculum da programmatore! Abbiamo riso, ma Alex ha voluto comunque aggiungere una nota più seria:

Tu scherzi, ma Laboratorio di Videogiochi è un buon modo per smuovere la testa in questa direzione, fai ragionamenti molto interessanti a livello di Logica.

Per rendere la nostra avventura più emozionante, abbiamo aggiunto un Nodon Suono “Vittoria” e un Nodon Effetto “Coriandoli” che si attivano quando vengono distrutti tutti gli alieni.

Abbiamo salvato il mondo! O era lo spazio?

Non è finita qui: tu hai la possibilità di aggiungere musica, far muovere le sfere o gli alieni, cambiarne la dimensione: c’è tanto da fare e tanti strumenti a disposizione con Laboratorio di Videogiochi!

Intanto abbiamo completato il nostro “Alfredo’s Journey“, secondo titolo della collaborazione tra NintendOn e 3DClouds!

Non è neanche troppo complicato se lo guardi bene!

Anche per oggi abbiamo concluso: per l’occasione ti consigliamo di dare un occhio ai tutorial che Nintendo ha reso disponibili sul proprio sito: ti insegneranno alcune funzionalità in grado di arricchire i tuoi giochi!

Prima dell’acquisto del gioco per i più piccoli, vi invitiamo a leggere la completissima FAQ rivolta ai genitori, così da chiarire ogni dubbio in merito alla facilità d’uso e alla sicurezza di Laboratorio di Videogiochi.

Ringraziamo ancora una volta Sara Valdameri e Alex De Nittis, nonché Tommaso Valentini (PR & Community Manager) per la coordinazione, di 3DClouds per averci fatto compagnia in questo viaggio attraverso la programmazione!

Questa immagine ha l'attributo alt vuoto; il nome del file è nintendon-laboratorio-videogiochi-3dclouds-team-1024x578.jpg
Il team di 3DClouds

Per scoprire tutti i loro giochi disponibili per Nintendo Switch puoi visitare il loro sito ufficiale all’indirizzo https://www.3dclouds.it o seguirli sui profili social:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *