Desert Copter è una simulazione grafica interattiva realizzata in OpenGL finalizzata a mettere in pratica la maggior parte degli argomenti trattati nel corso di Computer Graphics M.
Come suggerisce il nome, l'utente può pilotare il modellino di un elicottero civile in una scena che ricorda un'ambientazione desertica. All'interno della scena viene costantemente generata una cassa posizionata casualmente e lo scopo principale del giocatore è quello di raccoglierne il più possibile prima che il carburante si esaurisca e senza apportare troppi danni all'elicottero. L'utente è aiutato da una minimappa che mostra costantemente una porzione del terreno di gioco ed eventuali casse presenti nelle vicinanze. Ad intervalli casuali compaiono inoltre delle mongolfiere che – se raccolte – possono ricompensare il giocatore con un bonus in carburante oppure riparare parte dei danni subiti.
La realizzazione del progetto ha permesso di sperimentare e lavorare in particolar modo sui seguenti argomenti:
Questa documentazione ha lo scopo di illustrare l'organizzazione complessiva del progetto, le principali tecniche utilizzate per la resa grafica, le scelte affrontate durante la progettazione e le problematiche affrontate nella realizzazione. Le aree tematiche che non sono di interesse per il corso quali i dettagli sulla logica di gioco, simulazione fisica, gestione delle collisioni e strutture dati accessorie verranno accennate solo superficialmente.
Il progetto è stato realizzato in ambiente Linux utilizzando il
linguaggio C (specifica gnu99), le librerie GL, GLU per l'accesso
alle funzionalità grafiche e la libreria SDL per la gestione della
superficie di rendering e dell'input utente.
Per la
creazione/modifica dei modelli poligonali (e relativi materiali) sono
stati utilizzati 3ds MAX e Blender, mentre per la messa a punto delle
numerose texture di gioco si è fatto largo uso del pacchetto grafico
Gimp.
Tutti i modelli 3D utilizzati e buona parte delle texture
sono state ricavate da http://www.turbosquid.com.
Desert Copter è ispirato al (vetusto) videogioco SimCopter della Maxis; questo progetto vuole esserne un affezionato omaggio.