Archivi tag: platform

Minifocus – Come realizzare un videogioco platform? Consigli ed info utili

Breve focus di presentazione sull’uso di Arcade Make Code in cui mostro in 3 minuti l’uso dell’ambiente di programmazione è la realizzazione di un semplicissimo programma. Questi suggerimenti e molto altro nel webinar: COME CREARE VIDEOGIOCHI CON IL CODING – Programmare con MakeCode Arcade. Per maggiori informazioni seguire il LINK

I miei corsi per Tecnica della Scuola: Come creare videogiochi con il Coding – Programmare con MakeCode Arcade

Nuova proposta formativa di questo nuovo anno scolastico, come sempre nata da richieste che mi sono giunte dagli utenti. Ho strutturato un’azione formativa che permette di realizzare attività laboratoriali guidate in cui lo studente realizza giochi che potranno essere usati sia su console virtuali che reali a basso costo o autoprodotte, vedremo come fare durante il corso.

Giochi e videogiochi fanno parte della vita dei nostri studenti ed è possibile renderli uno strumento didattico utilissimo che può essere utilizzato, attraverso il Coding, per l’apprendimento di conoscenze geometriche, matematiche fisiche e abilità visuo-spaziali.
Il corso online è indirizzato ad insegnanti della scuola primaria e secondaria di primo grado, è un percorso didattico online finalizzato ad uno studio approfondito delle tecniche di programmazione e della progettazione e realizzazione di semplici videogiochi attraverso l’uso di Microsoft Make Code Arcade.
Microsoft MakeCode Arcade è un ambiente di programmazione grafico a blocchi open source gratuita per la creazione di esperienze ludiche coinvolgenti volte all’apprendimento dell’informatica attraverso la realizzazione di giochi paltform (piattaforma) che supporta un percorso di progressione guidato durante tutta l’attività di creazione. I giochi creati hanno uno stile che ricorda le dinamiche delle prime console portatili e gli arcade degli anni 80′ e 90′. I giochi platfrom, ben conosciuti da tutti i ragazzi, sono giochi d’azione che si sviluppano generalmente in un mondo virtuale bidimensione dove la meccanica di gioco implica l’attraversamento di livelli costituiti da piattaforme, disposte in genere su più piani. Il personaggio principale, l’eroe, viene controllato dal giocatore che potrà passare da una piattaforma all’altra saltando oppure usando delle scale. All’interno del gioco platform possono essere inseriti premi e rompicapi, l’obiettivo comunque sarà quello di far percorrere una serie di livelli per giungere alla vittoria. Per controllare l’eroe il giocatore agisce su joistick e pulsanti che potranno esser virtuali o reali, infatti la piattaforma di programmazione MakeCode consente la fruizione dei giochi attraverso una console virtuale via web su qualsiasi dispositivo, mobile o desktop, oppure trasferiti su console fisiche reali a bassissimo costo ed alcune di queste verranno mostrate durante il corso.

La realizzazione del videogioco in classe con Microsoft MakeCode Arcade permette quindi di innescare attività ludiche e coinvolgenti molto efficaci da effettuare in gruppo che potranno condurre all’aumento delle capacità di problem solving e pensiero critico e aiutare lo sviluppo percettivo e creativo. Considerando gli spetti pedagogicamente propositivi la realizzazione del videogioco permette di acquisire padronanza:

nell’interpretazione del mondo comprese le scienze, la matematica e la storia
capacità di integrare idee e conoscenze di diverse aree disciplinari in un insieme coerente;
affrontare la soluzione di problemi nuovi.
La creazione del videogioco non è solo semplice codifica informatica, ma è soprattutto:

  • invenzione di storie (creatività),
  • capacità di raccontare (storytelling),
  • comprendere le dinamiche tra i vari elementi applicando le conoscenze in ambito STEM

Tutto ciò verrà impiegato per sceneggiare il videogioco attraverso il Coding.

Saranno svolti 4 incontri in webinar di 2 ore ciascuno, per un totale di 8 ore

  • Giovedì 3 novembre 2022 – Dalle 17.00 alle 19.00
  • Martedì 8 novembre 2022 – Dalle 17.00 alle 19.00
  • Mercoledì 16 novembre 2022 – Dalle 17.00 alle 19.00
  • Mercoledì 23 novembre 2022 – Dalle 17.00 alle 19.00

Per maggiori informazioni sulle modalità di iscrizione seguire il LINK.

Arduino – Utilizzo dell’LCD1602 Keypad Shield della Keyestudio

Questo post è dedicato ai miei allievi Paolo e Sami 🙂 della 3B Automazione, che amano i videogiochi platform a cui ho assegnato un’attività di PCTO in cui è richiesto appunto la progettazione di un gioco elettronico di tipo platform con Arduino.
A tal proposito, per ridurre i tempi di prototipazione verrà usato un LCD Keypad Shield della Keystudio, il tutto verrà poi inserito in un contenitore stampato in 3D, sempre progettato dai due studenti e che dovrà ricordare un Game Boy.

Per le specifiche tecniche della scheda seguire il link allegato, seguono alcune indicazioni  della scheda ricavati dalla pagina del prodotto ed alcuni link a risorse per la produzione di semplici videogiochi con Arduino.

La shield della Keyestudio integra su di esso un display  LCD 1602 e sei pulsanti ed si inserisce su qualdsiasi scheda Arduino UNO R3 compatibile. Il display può comunicare con la scheda Arduino in due modi: ad 8 bit o a 4 bit, la connessione predefinita del display è a 4 bit. Come riportato nell’immagine che segue, al di sotto del display sono presenti  5 pulsanti di controllo (Seleziona, Su, Giù, Sinistra, Destra) e un pulsante di reset, che è collegato direttamente al reset della scheda Arduino.

I 5 pulsanti sono collegati all’ingresso analogico A0, quindi potrete monitorare lo stato dei pulsanti utilizzando un solo ingresso analogico di Arduino. Attenzione però che potrete monitorare solamente la pressione di un pulsante alla volta, quaindi la pressione contemporanea di due o più pulsanti non potrà essere identificata. La shield è inoltre dotata di un trimmer che permette la regolazione della retroilluminazione dell’LCD.

Nel caso si abbia la necessità di utilizzare i restanti pin di Arduino, non utilizzati per il controllo del display, è possibile saldare sulla scheda pin passanti femmina.

Nello sketch che segue, modificato leggermente rispetto a quello usato da Keystudio, la pressione di ogni singolo pulsante, ad esclusione del reset, corrisponderà ad uno specifico valore restituito dall’analogRead sul pin A0, la pressione di ogni pulsante restituirà un valore numerico all’interno di un intervallo specificato, così come indicato nell’immagine precedente, ciò permetterà quindi di intercettare quale pulsante è stato premuto.
I valori dell’analogRead corrispondenti al pulsante premuto verranno visualizzati anche sulla SerialMonitor.

Nei commenti nel codice la spiegazione di ogni sezione.

/*
 * Prof. Michele Maffucci
 * Utilizzo dell'LCD Keypad Shield della Keystudio
 * Data: 08.02.2021
 */
 
// inclusione della libreria LiquidCrystal.h
#include <LiquidCrystal.h>

// inizializza la libreria con i numeri dei pin dell'interfaccia
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
  // impostazione del numero di colonne e righe del display
  lcd.begin(16, 2);
  Serial.begin(9600);
  // Stampa 5 puntini per dare la sensazione di avvio programma
  for (int i = 0; i < 4; i++) {
    lcd.print(".");
    delay(250);
  }
  // Posiziona il cursore in colonna 0 e riga 0
  lcd.setCursor(0, 0);
  // Stampa il messaggio
  lcd.print("Salve Mondo!");
}

void loop() {
  // Posiziona il cursore in colonna 0 e riga 0
  lcd.setCursor(0, 1);
  // Stampa il numero di secondi dall'avvio
  lcd.print(millis() / 1000);

  // Memorizza in val il valore presente su A0
  int val = analogRead(A0);

  // Stampa il valore di val sulla Serial Monitor
  Serial.println(val);

  // In funzione del pulsante premuto val assumerà valori diversi
  if (val >= 0 && val <= 50)
  {
    lcd.setCursor(5, 1);
    lcd.print("Destra  ");
  }
  else if (val >= 50 && val <= 150)
  {
    lcd.setCursor(5, 1);
    lcd.print("Su'     ");
  }
  else if (val >= 150 && val <= 300)
  {
    lcd.setCursor(5, 1);
    lcd.print("Giu'    ");
  }
  else if (val >= 300 && val <= 500)
  {
    lcd.setCursor(5, 1);
    lcd.print("Sinistra");
  }
  else if (val >= 500 && val <= 750)
  {
    lcd.setCursor(5, 1);
    lcd.print("Set     ");
  }
}

Di seguito alcuni link a giochi in cui viene sfruttato un l’LCD 1602 e in cui potreste utilizzata la shield della Keyestudio.

Nel caso in cui fosse necessario realizzare caratteri o icone personalizzate consultare: Disegnare caratteri personalizzati con Arduino per un LCD 16×2

Buon divertimento 🙂