lunedì 26 luglio 2010

Come sviluppare un Metaverse?

Fin da quando nel lontano (in termini informatici...) 2000 iniziai ad occuparmi per passione di grafica tridimensionale e vidi il mio primo "mondo virtuale" (il mitico Alfa World...se non ricordo male...divenuto poi ActiveWorlds) sono rimasto con l'inesauribile curiosità di capire come poter "costruire", creare, sviluppare un proprio Metaverse. Grazie alla rete, e soprattutto alla presenza di ampie comunità di sviluppo software Open Source, è possibile vedere il "dietro le quinte" di molti mondi. E' un'esperienza non soltanto interessante e formativa, ma assolutamente entusiasmante, ci si sente padroni (in linea teorica...) di creare veramente qualsiasi cosa aggregando, componendo, unendo le varie tecnologie anche alla stato embrionale presenti in rete. E' tutto a portata di mano previo un lungo e complesso lavoro di integrazione delle diverse tecnologie e standard che per un programmatore guidato dalla curiosità e dalla passione promette lunghe ore di sviluppo, ma anche grandi soddisfazioni.

Per chi voglia, ad esempio, cimentarsi nell'integrazione della piattaforma di SecondLife (ma anche nella creazione di un proprio sistema nel rispetto di quanto riportato dalle licenze) è assolutamente necessario studiare e comprendere la libreria di OpenMetaverse:

http://www.openmetaverse.org/
http://code.google.com/p/libopenmetaverse/

Su queste stesse librerie una community ormai di lunga data sta sviluppando il server Open Source Opensim:

http://opensimulator.org/wiki/Main_Page

Certamente si potrebbe integrare il tutto lato utente con la libreria OpenTK che è il wrapper verso le librerie OpenGL, le uniche cross-platform ed in grado di funzionare su diverse piattaforme.
Si vedano gli ottimi esempi elaborati da Miguel Angelo Guirado Lopez sul suo sito:

http://sites.google.com/site/bitiopia/

Ma anche integrazioni con le necessarie librerie che permettono ad esempio la simulazione della fisica all'interno della spazio simulato come ad esempio il motore jitter:

http://jitter-physics.com/

E se si volesse studiare qualcosa di già funzionante? Niente paura! Si può tranquillamente andare a vedere l'ottimo progetto Open Wonderland al seguente indirizzo:

http://openwonderland.org/


E magari fare una piccola analisi dei principali progetti Open Source di cui ci si è serviti per costruirlo come il completissimo motore tridimensionale scritto in Java jMonkeyEngine ed il framework per la comunicazione di rete ex Progetto DarkStar ora RedDwarf.

E' di fondamentale importanza comunque, qualora si voglia sviluppare qualcosa basato su questi software, accettare, rispettare e verificare le licenze software. Controllate quindi all'interno di ogni pacchetto rilasciato le relative condizioni legali di utilizzo e sviluppo.

P.S. Una breve nota per concludere: pur avendo moltissimo materiale a disposizione creare un metaverse od un qualsiasi mondo virtuale richiede moltissimo tempo e competenze molto specialistiche. Tutto è ovviamente fattibile in linea generale, ma sicuramente la complessità di un software di questo tipo richiede anni di sviluppo in un team di più persone. Gli strumenti ed i mattoni ci sono, ma per costruire Roma, come si dice, non lo si è fatto in un giorno ;-)

Nessun commento:

Posta un commento