venerdì 22 luglio 2011

Tutorial: scriviamo un gioco in C++... Tris!

In questo tutorial vedremo come scrivere un gioco in C++ dalla A alla Z utilizzando le librerie SDL e la loro estensione SDL_ttf (per la gestione del testo). Cercheremo di mettere in pratica i 5 consigli già illustrati, partendo quindi dall’idea di un gioco molto semplice: Tris, o Tic Tac Toe.

Il gioco in sè può sembrare banale, ma attenzione: nasconde più insidie di quanto sembri!

Per prima cosa occorre fare una ragionata su quel che vogliamo ottenere, e magari buttare giù una lista di caratteristiche/requisiti che ci guideranno durante lo sviluppo.

Parlando di Tris non c’è veramente tanto da pensare, a parte la scelta tra giocatore singolo (contro il computer) o multiplayer (contro un altro giocatore). Entrambe le opzioni richiedono implementazioni con caratteristiche proprie. Nel caso del single player dovremo sviluppare una AI, una Intelligenza Artificiale, in grado di impegnare il giocatore umano e dargli l’illusione di confrontarsi con un altro essere pensante. Nel caso del multiplayer dovremo invece gestire diversamente l’input di mouse e tastiera, discriminando a quale dei due giocatori appartiene.

Naturalmente si potrebbe pensare di implementare entrambe le soluzioni, ma per lo scopo di questo tutorial faremo i lupi solitari e ci concentreremo sulla modalità a giocatore singolo e, quindi, sullo sviluppo di una AI. Tuttavia, non porremo enfasi sul cosa farà l'AI, bensì sul come organizzare un sistema di AI. Il cosa riguarda un campo talmente ampio che esistono corsi di laurea apposta, e io non sono un professore! Sul come invece ci possiamo ragionare.

Molto bene, le idee ci sono. Figuriamoci per un istante come sarà il gioco, come se lo avessimo già finito e lo stessimo lanciando. Apparirà una title screen, con nome e versione del gioco, i crediti e i due pulsanti Play e Quit. Play ci porterà nella schermata di gioco, dove sfideremo il computer a colpi di mouse sulla ben nota griglia 3x3. Al termine della partita, dopo un messaggio di Game Over / Game Win verremo riportati alla title screen, da cui potremo decidere se giocare ancora o uscire tramite Quit.

Una cosa carina che potremmo inserire è il conteggio delle partite vinte dal giocatore e dal computer, e mostrarlo nella title screen. Questa feature, apparentemente innocua, nasconde l’esigenza di salvare (e rileggere) il dato da qualche parte. Facciamo le cose semplici e serviamoci di un file binario.

Ok, ci siamo già lasciati prendere la mano e il primo consiglio sta già sbiadendo... recuperiamo il controllo su noi stessi e diamo un cartellino giallo alla pericolosissima fantasia con un bel lavorino noioso: ordiniamo i pensieri appena espressi in una lista.

  • Title screen (serve un’immagine)
  • Pulsante Play
  • Pulsante Quit
  • Schermata di gioco (servono due immagini per ‘X’ e ‘O’)
  • AI
  • Gestione mouse
  • Messaggio di esito partita
  • Salvataggio e rilettura storico punteggi

Questa è la nostra lista della spesa, e sarà il nostro punto di riferimento durante lo sviluppo del nostro splendido Tris!

Nel prossimo post ci preoccuperemo di procurarci tutti i tool necessari, configurare l’ambiente e produrre i primi risultati a video.

Buon coding!

Nessun commento:

Posta un commento