Panoramica
Realizzato per il percorso di studi di Laurea Specialista in Informatica, questo progetto ha ricevuto un voto di 30L. Lavorando in un team di due persone, abbiamo creato diversi mini-giochi utilizzando XVR Developer Studio, un IDE per lo sviluppo rapido di applicazioni di Realtà Virtuale che utilizza il linguaggio di scripting S3D con una sintassi simile al C++.
Durata del Progetto e Competenze
- Tempo di Realizzazione: 4 mesi
- Conoscenze Acquisite:
- Pipeline OpenGL
- Uso di shader
- Grafica interattiva
- Competenze di realtà aumentata
- Sistema particellare (esplosioni, scintille)
- Uso delle texture in realtime
Implementazione Tecnica
Architettura Core
- Script principale che gestisce il loop del framework
- Controllo root che ha un solo figlio attivo (gioco in esecuzione)
- Controllo grafico del menu principale e per ogni sotto-gioco
- Ogni sotto-gioco detiene un controllo demo autonomo
- Funzionalità di tracking realizzate in un modulo a se stante (DLL in C++)
- Astrazione sulla scena e caricamento da file
- Toolchain minimale per la generazione dei descrittori della scena
Grafica e Rendering
- Pipeline di rendering OpenGL
- Implementazione shader personalizzati:
- Effetto bloom
- Outer glow
- Effetti glow
- Gestione texture in tempo reale
- Sistema particellare per effetti speciali
Sistema di Realtà Aumentata
L’implementazione AR si è concentrata sulla visualizzazione di geometria virtuale sovrapposta a marker reali (tipo QR Code):
- Libreria ArUco per la generazione dei marker
- Posizionamento assoluto predefinito dei marker
- Creazione di un sistema di riferimento nel mondo reale
- Visualizzazione tramite webcam
- Implementazione visuale statica in terza persona
Collezione Mini-Giochi
BombGame
Un gioco multiplayer adrenalinico dove i giocatori controllano veicoli equipaggiati con lanciatori di bombe in un’arena 3D dinamica. Include esplosioni basate su sistemi particellari e un sistema fisico per le interazioni tra veicoli e proiettili. Un’interfaccia completa mostra salute e munizioni, mentre il file principale (bomber.s3d) dimostra l’integrazione con l’ambiente AR.
TileGame
Un gioco strategico di controllo del territorio che combina tattica e azione veloce. I giocatori competono guidando su tessere in un’arena a scacchiera dinamica, cambiandone il colore per reclamare territorio. Il gioco include un timer di conto alla rovescia e indicatori di territorio, con bonus speciali che appaiono casualmente per arricchire il gameplay tattico.
Time Trial
Un gioco di corse con un avversario controllato da IA e circuiti caricati da file XML. Il sistema di IA avanzato genera traiettorie di gara e adatta il suo comportamento durante le corse, mentre i giocatori seguono i loro progressi attraverso i checkpoint. Un’interfaccia intuitiva mostra tempi di gara, posizioni e una minimappa strategica.
Dettagli di Sviluppo
Il progetto si è evoluto da un concetto iniziale che utilizzava una webcam montata su una macchinina telecomandata (vista in prima persona) a una prospettiva statica in terza persona a causa di considerazioni sulle prestazioni con il movimento rapido.
Caratteristiche chiave dell’implementazione:
- Supporto componente ActiveX per browser IE
- Architettura del codice modulare
- Sistema di gestione delle scene
- Tracking dei marker in tempo reale
- Supporto multi-giocatore
Link al Progetto
- Codice e Documentazione: XVR Games