Programmare per gioco: Construct2, giocare sulla rete

Premetto che Construct2 non è semplice come gli altri programmi di cui ho parlato. In questo post, dopo una presentazione generale, spiegherò come realizzare un semplice labirinto. Tornerò sull’argomento nei prossimi post, specialmente se riceverò un iscontro positivo;  l’indirizzo è aolo.freschi@istruzione.it

Construct2 si distingue per il fatto che sfrutta l’HTML5 e il javascript: questo vuol dire che non gira unicamente in locale e non produce un normale file eseguibile ma un html5, con annesso javascript. Di conseguenza, il  nostro prodotto  potrà girare tanto in locale quanto in rete.
Un’altra caratteristica di Construct2 è che il gioco, girando come file html5, non fa distinzioni fra sistemi operativi: Linux, IOS, Windows, vanno tutti bene, a patto, ovviamente, che il browser usato supporti l’HTML5. Se non lo fa, comparirà una scritta che dice, più o meno “ Mi spiace, ma il tuo browser non supporta HTML5”.  E niente gioco!
Questo limita in modo diverso l’uso che se ne può fare, escludendo non gli utenti di un dato sistema operativo, ma quelli meno aggiornati. In fondo, è una limitazione più giusta, perché aggiornare il browser può essere fatto facilmente, non richiede più di una decina di minuti ed è operazione evitata solo dai pigri e da quelli che “ah, il computer, ma per carità…”.

Construct2  non ha più di tre anni ed è realizzato da una software house londinese.

Construct2,  è un programma in continuo aggiornamento.  Attualmente ne esistono una versione gratuita, una con licenza educational (annuale, per tutti i computer di un Istituto) ed una con licenza normale. Inutile dire che io uso la prima.

Sul sito sono in vendita anche asset di gioco (immagini, suoni, giochi già pronti): sembra, in piccolo, un po’ quello che fanno i programmi professionali quali Unity o Unreal Engine…
L’interfaccia di Construct2 non è facile ed intuitiva come quelle di Scratch o Gamemaker, né spartana come in Game Editor. E’ comunque abbastanza facile orientarsi nei diversi menu che si alternano nella stessa pagina.

Gioco1

Lo schema è questo: a destra la mappa degli oggetti del gioco. A sinistra le proprietà dei diversi oggetti. Al centro, due schede sovrapposte: lo spazio per l’editing degli oggetti e il foglio degli eventi, l’event sheet.
In alto, altri comandi, fra i quali  quello per lanciare la prova del gioco, per effettuarne il debugging e per compilarlo.
La maggior parte delle opzioni si attiva ricorrendo a finestre di dialogo richiamate da link posti sulla sinistra, nella colonna delle proprietà.
Tutte queste caratteristiche fanno di Construct2 un prodotto particolarmente utile per arricchire i nostri siti internet di giochi e di  verifiche diverse da quelle standard.
Confesso invece che non l’ho mai usato per laboratori di coding, anche se lo vedrei senz’altro utile per una fascia d’età fra i 13 e i 18 anni.

Ora vediamo di realizzare un semplice videogioco di prova: un labirinto.

La prima cosa da fare sarà aprire un nuovo progetto. Clicco in alto a sinistra, sul simbolo della ruota dentata e scelgo:  New

Come altri più titolati programmi, anche Construct2 fornisce dei template, cioè dei giochi realizzati per metà (la parte più difficile, di solito) che servono tanto da tutorial quando da punto di partenza. Ne fornisce una quantità veramente notevole: centodiciotto nell’ultima edizione, fra esempi, template,  progetti vuoti ma predisposti.

E’ un ottimo punto di partenza, anche se personalmente preferisco la scelta di Scratch e di Gamemaker, di lasciare tutto alla iniziativa dell’utente: ma evidentemente qui serviva un inizio più professionale.

Gioco2

Scelto un progetto (uno vuoto),  clicco col tasto destro sullo spazio di editazione e scelgo di inserire un nuovo oggetto. Questo può essere di moltissimi tipi: può essere un emettitore di suoni, uno sprite (cioè un oggetto con una immagine fissa), un emettitore di particelle (particles), del testo o un font di scrittura…
Forse le ultime edizioni si sono  fin troppo  arricchite di tipi di oggetti: comunque, dato che il nostro scopo è al momento una semplice presa di contatto col programma, mi limiterò all’uso degli oggetti più semplici e sceglierò gli sprite.

Gioco3

Dunque, scelgo uno sprite. Clicco sulla zona centrale e  si apre una finestra per disegnare:

Gioco4

I comandi sono abbastanza intuitivi. Terminato il disegno, mi limito a chiudere la finestra con la X in alto a destra. Questo salva il disegno e crea l’oggetto.
È interessante notare che, una volta salvato il disegno, questo  è ridimensionabile tramite le maniglie poste agli angoli dell’immagine: posso rimpicciolirlo, ingrandirlo ma anche strizzarlo in una dimensione.
A questo punto, seleziono lo sprite: nella colonna sulla  sinistra dello schermo compariranno tutte le sue proprietà. Clicco su Behaviour,  e scelgo il comportamento che lo sprite dovrà seguire.
Noto che il meccanismo di Behaviour si aggiunge a quello di evento/azione che si usa solo in un secondo momento.
Come vedete nell’illustrazione qui sotto, anche solo per i tipi di movimento la scelta è molto varia:

  • si può andare nelle 8 direzioni (con l’uso del tastierino numerico)
  • ci si può muovere con moto rettilineo
  • si può guidare l’oggetto con le freccette (car). In questo caso  l’oggetto ruoterà a seconda della direzione scelta
  • si può seguire un percorso determinato
  • si può essere soggetti alla forza di gravità
  • ci si può muovere col meccanismo platform (avanti – indietro – salto)
  • si può far ruotare l’oggetto su se stesso
  • si può far seguire all’oggetto un movimento sinusoide

Scelgo la terza opzione, Car.

Gioco5

Provo il funzionamento cliccando sulla freccetta in alto al centro che porta scritto Run Layout.
Bene, funziona.
Realizzo ora un secondo sprite, che chiamerò ostacolo. Può essere un quadrettino colorato. Questo quadrettino non avrà alcun Behaviour.  Semplicemente, servirà a segnare il percorso del labirinto.
Una volta realizzato, lo copio / incollo col classico metodo ctrl-C / ctrl-V ogni volta cliccando sullo schermo per situarlo, in modo da venire a formare un labirinto. Direi che questa è l’unica parte ripetitiva del lavoro.

Gioco6

Ora l’ultimo compito: l’automobile dovrà fermarsi quando urta uno di questi otacoli.
Vado su Event Sheet, cliccando sulla linguetta in alto.
Clicco nello spazio vuoto centrale col tasto destro, poi, nel menu che si apre, su Add Event.
Scelgo l’automobilina con un doppio click ed aggiungo prima l’opzione collision enabled, poi un nuovo doppio click e scelgo la collisione con l’ostacolo. Clicco su Done (fatto) e mi compare l’opzione che equivale a “se l’automobile urta l’ostacolo”.

Gioco7 Clicco infine su Add action e mi compare l’elenco delle azioni possibili, fra le quali scelgo Stop. La macchina si fermerà urtando contro un ostacolo.

Gioco8

Il risultato appare nell’immagine qui sotto. Non è una gran cosa, ma può girare su Internet e, soprattutto, non ho impiegato più di dieci minuti a realizzarlo. Per iniziare può andare.

Prossimamente, vi mostrerò qualcosa di più interessante.

Gioco9

 

 

 

 

Scritto da: Paolo Freschi