Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 9 di 53
  • livello principiante
Indice lezioni

Il loop principale

Le operazioni fondamentali che per ogni gioco
Le operazioni fondamentali che per ogni gioco
Link copiato negli appunti

In questo capitolo esaminiamo il funzionamento del modello di applicazione che XNA ci mette a disposizione per semplificare la creazione di un gioco.

Prima di poterci occupare degli aspetti "evidenti" del nostro gioco, dobbiamo ottenere alcuni oggetti essenziali, ci serve:

  • creare una finestra, sia essa una finestra di Windows o una schermata di Windows Phone 7 o dell'XBox 360;
  • inizializzare il driver della scheda video (GPU) affinché sia pronta ad accettare comandi di disegno accelerati 2D o 3D
  • preparare la scheda audio
  • mettersi in ascolto dei vari dispositivi di input
  • collegare la finestra creata alla scheda video, in modo da vedere a schermo il risultato delle operazioni di disegno eseguite dalla GPU.

Queste operazioni di inizializzazione sono complesse, ma anche con queste non siamo ancora pronti a lanciare il nostro gioco. Serve infatti un sistema che si occupi del ciclo principale dell'applicazione (il cosiddetto main loop) all'interno del quale:

  • Riceviamo e processiamo i messaggi del sistema operativo (circa hardware ed eventi dell'utente)
  • Aspettiamo un (eventuale) intervallo per evitare che il main loop sia troppo veloce (è inutile far andare l'applicazione più veloce della capacità del monitor di aggiornarsi, ad esempio)
  • Invochiamo una routine di aggiornamento della logica di gioco per questo fotogramma
  • Invochiamo una routine di rendering che disegni il fotogramma corrente
  • Notifichiamo l'applicazione del fatto che sta andando troppo lenta rispetto al framerate desiderato (in modo che questa possa aggiustarsi dinamicamente il carico di lavoro, magari riducendo il campo visivo o la complessità degli effetti grafici)

A questo punto possiamo, sì, creare un gioco. Restano alcune ultime sfide da affrontare che hanno a che fare con la realizzazione di una architettura comprensibile e facilmente condivisibile con altri sviluppatori. Questo diventa fondamentale per passare da giochi molto piccoli e poco strutturati a giochi ben organizzati, comprensibili e ben fatti, in cui è chiaro dove intervenire per aggiungere una feature e dove un team composto da più persone può lavorare senza che tutti si "pestino i piedi" a vicenda.

Ti consigliamo anche