Un gioco di programmazione
in C

Lo scopo della missione è distruggere gli altri robot. Tu scrivi l'intelligenza che controlla il robot.

Il gioco

Cosa è Crobots

Crobots è gioco di programmazione in C creato negli anni '80 (precisamente da Tom Poindexter, nel lontano 1985, su sistema MS-DOS). In questo gioco dei robot virtuali si sfidano in una arena controllati da un programma scritto in C.

Caratteristiche del gioco:

  • I robot non sono controllati direttamente, ma il loro comportamento è gestito da un programma sviluppato dai giocatori.
  • Il programma sviluppa l'intelligenza artificiale e la strategia del robot: tramite il codice (in linguaggio C) è possibile dare istruzioni per muoversi liberamente nell'arena, scansionare l'ambiente circostante, e (ovviamente) sparare contro gli avversari.
  • La strategia di gioco svolge un ruolo fondamentale. Il programmatore può scegliere molte strade per fare vincere il suo robot: posizionarsi in una zona ritenuta strategica, oppure muoversi continuamente, o ancora snidare e inseguire avversari.
  • Il gioco si svolge un terminale degli anni '80. Il fascino del gioco è nelle sue limitazioni: non ci sono grafiche 3D, e nemmeno 2D. L'immersione nel gioco richiede una buona dose di fantasia ed immaginazione. :)

Il progetto didattico

Crobots è un ottimo strumento sia per imparare a programmare, sia per progettare applicazioni che svolgono attività automatizzate con risorse limitate.

I robot sono a tutti gli effetti degli "agenti intelligenti", in quanto dotati di sensori e attuatori e di una propria logica di funzionamento e una memoria interna.

L'ambito di apprendimento è quindi - pur in un contesto scolastico - sia nella robotica che nell'intelligenza artificiale, con applicazioni che abbracciano molti settori dell'industria informatica come il web, l'analisi ed il processamento di dati, il web e il mobile, lo sviluppo di giochi.

A chi si rivolge

Il gioco è adatto a studenti per scuole medie superiori, con una conoscenza di elementi di programmazione e della sintassi del C che vogliono imparare a progettare un agente automatico all'interno di un ecosistema chiuso.

Questo tipo di progettazione presenta forti analogie con lo sviluppo di software come applicazioni mobili, tool per l'analisi dati, agenti intelligenti, bot, crawlers, ed in generale in qualsiasi ambito dove è prevista automazione di strategie fronte ad eventi di sistema esterni.

L'importanza della gamification

L'obiettivo della gamification è aumentare l'interesse degli studenti grazie al loro coinvolgimento in un obiettivo pratico che esula dall'apprendimento stesso, ovvero poter misurare se stessi e le proprie capacità con i propri pari al fine di conquistare un premio. Il gioco infatti presenta meccaniche di relazione che sfidano gli studenti a raggiungere obiettivi più ambiziosi, divertendosi e provando a mettersi in gioco al 100%. Il gioco insegna inoltre a rispettare i limiti e le regole di un sistema, ad imparare a risolvere problemi, a darsi obiettivi concreti, ad avere padronanza e sicurezza in se stessi e nelle proprie potenzialità.

Gli obiettivi del progetto didattico

- progettare non solo un programma per computer ma un vero e proprio "agente intelligente" in grado infatti di ricevere informazioni, prendere decisioni, stabilire una strategia e attuarla mediante attuatori.

- utilizzare un numero limitato di risorse che costringe ad una progettazione accorta e responsabile

- acquisire competenze di pensiero computazionale e di problem solving;

- imparare ad utilizzare la tecnologia del **linguaggio C**, linguaggio alla base di qualsiasi paradigma di programmazione e quasi ogni linguaggio successivo.

Cosa fa questo sito

Lo scopo di questo sito è quello di rilanciare il gioco originale di Crobots e farne un sito didattico e di aprendimento per imparare a programmare in linguaggio C.

In queste pagine è presente la condivisione del regolamento originale (tradotto), un tutorial approfondito, ed una selezione di robot "sparring partners"

E' inoltre presente un simulatore online del gioco che non necessita di una installazione locale sul proprio PC.

Il simulatore sfrutta Crobots originale (con poche leggere modifiche al codice sorgente) e gira su una macchina Linux con emulazione di terminale condiviso su web tramite Javascript e WebSockets.

Questo sito è responsive, quindi è consultabile da pc, tablet e cellulare. Anche il simulatore funziona ma essendo ad interfaccia a carattere la visualizzazione non è ottimale su cellulare.