giovedì 29 luglio 2010

OpenGL 4.1

Sono state annunciate questa settimana al SIGGRAPH 2010 le specifiche della versione 4.1 delle OpenGL.

Info sul sito ufficiale qui: http://www.khronos.org/news/press/releases/opengl-4-1-released

Per chi non conoscesse queste librerie può vedere la breve introduzione fatta si Wikipedia qui:

http://it.wikipedia.org/wiki/OpenGL

martedì 27 luglio 2010

Blue Mars cresce!!

New Venice from Blue Mars on Vimeo.

Avevamo parlato di Blue Mars in uno dei nostri primi post nella consapevolezza che questo Mondo Virtuale sarebbe cresciuto e si sarebbe sviluppato ulteriormente. Sono rimasto particolarmente colpito dalla bellezza delle ambientazioni e dei luoghi, il livello grafico è veramente molto alto grazie anche all'utilizzo del fantastico 3D Engine Crytek 2. Previa registrazione gratuita è possibile scaricare il relativo Client ed anche i "Developer Tools" ovvero gli strumenti di sviluppo per poter creare e caricare sul sistema molte tipologie di oggetti quali vestiti, mobili, etc... Molto interessante è l'esistenza di un linguaggio di scripting interno basato su LUA e che ha la possibilità di sfruttare apposite API dell' MMO. Con molto piacere ho scoperto che è stata anche creata la possibilità di aggiungere veri e propri BOT basandosi su di un apposito framework in costante sviluppo. E' stato tutto scritto in JAVA, ma speriamo che sia presto portato anche nel nostro adorato linguaggio C# ;-)

Coloro quindi che vogliano cimentarsi nella costruzione di oggetti, vestiti, ambientazioni troveranno pane per i loro denti nel wiki che si sta arricchendo giorno dopo giorno; date uno sguardo qui:

http://dev.bluemars.com/wiki/index.php/Mainpage2

Per avere informazioni sulle novità di Blue Mars consiglio il blog ufficiale visitabile a questo indirizzo: http://blog.bluemars.com/

Blue Mars si candida dunque ad essere un meraviglioso MMO Sandbox in cui poter sperimentare la propria fantasia e creatività, ma ancora di più un metodo innovativo per comunicare e fondare una nuova realtà sempre più vicina al "MayaVerse"!

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 ;-)