Post Correlati

Virteach

Pubblicato il 19 dicembre 2007 da

Era il 1995 quando fui assunto dall’unica azienda italiana ad occuparsi di Realtà Virtuale. L’azienda era la Software ‘80 ed era distributrice unica per l’Italia di sistemi di realtà virtuale, tutti i parchi di intrattenimento italiani avevano almeno un videogame 3D dotato di casco ed accessori di Software ‘80. La mia assunzione era dovuta ad una scelta aziendale molto audace, portare la realtà virtuale su comuni personal computer (nel 1995 era un’idea molto avveniristica). Il primo progetto a cui ho lavorato è Virteach (Virtual Teacher), un’avventura grafica 3D in prima persona dove i dialoghi con i personaggi avvenivano tramite la voce e non più selezionando una delle frasi disponibili come nei comuni Adventure Games.

Il mio ruolo nel progetto Virteach era di responsabile del settore software.

Gli strumenti che ho scelto di utilizzare nella realizzazione di Virteach

  • Superscape VRT (Motore 3D e Design Tool)
  • IBM Voice Type Toolkit (Engine di riconoscimento vocale)
  • Microsoft Visual C/C++

Per quanto riguarda la realizzazione dei modelli 3D e dei filmati introduttivi è stato utilizzato Maya

Superscape Virtual Reality Toolkit era uno strumento molto potente per creare le scene 3D e l’interazione tra i vari oggetti del mondo ed era dotato di un linguaggio di scripting con sintassi C++. Superscape ed il linguaggio di scripting erano sufficienti per realizzare la logica di gioco e l’interattività tramite dispositivi come guanti virtuali e caschi 3D ma sfortunatamente non aveva alcun supporto per quanto riguarda le librerie di riconoscimento vocale.
La parte più difficile del progetto è stato il modulo per far comunicare Superscape (Sistema quasi blindato) e le librerie IBM VoiceType. Praticamente Superscape non aveva alcum modo per dire a Voice Type cosa fare. L’unica funzionalità disponibile era quella di richiamare piccole funzioni da una DLL esterna.
La mia soluzione fu quella di scrivere un motore per la gestione dei dialoghi in una DLL ed un secondo modulo software (sempre in una DLL) in grado di far comunicare Superscape con il motore per i dialoghi.
Il compito non è stato semplice, ho dovuto lavorare molto a basso livello sfruttando le aree di memoria shared della DLL di interfaccia per mantenere l’intero stato del gioco e dei dialoghi dato che non c’era altro modo di renderli disponibili sia al motore 3D che allo speech engine.
Ricordo ancora con piacere il giorno in cui ha funzionato la prima prova, giravo per il mondo 3D quando davanti ad una porta dico (nel microfono) “Open the door” e la porta si apre come per incanto , in quel preciso istante tutti i colleghi si misero dietro di me increduli ed i titolari esultarono per la gioia. Beh era un progetto finanziato dalla comunità europea per la modica cifra di 3,5 miliardi di lire, ovviamenti vincolati al buon fine del progetto, come non esultare.

A distanza di anni guardo indietro con un po di dispiacere, ora sviluppo software gestionale e siti web e le soddisfazioni lavorative sono veramente ridotte all’osso, la maggior parte delle cose che faccio sono alla portata di tutti, anche dei programmatori più inesperti… chi sa magari un giorno faccio un passo indietro…

Tags:

I commenti sono chiusi.