Metaverse: quale futuro?

Quale è l’attuale situazione dei Mondi Virtuali Immersivi a Settembre del 2016? Come potete vedere dall’immagine iniziale i contendenti maggiori sono per ora sette. Ognuno ha le sue peculiarità e ciascuno fa leva su specifici punti di forza:

VRChat, ad esempio, si basa su Unity ed ha un sistema molto ingegnoso per “descrivere” la scena e poterla salvare per poi riprodurre su più client. E’ stato infatti elaborato un SDK che offre agli sviluppatori, non solo la possibilità di creare l’ambiente da condividere, ma anche quella di attivare eventi, intercettare particolari comportamenti, etc. Il progetto tuttavia non è Open Source e non prevede che l’utente possa modificare l’ambiente virtuale direttamente all’intero del sistema. L’idea è quella di permettere l’importazioni di oggetti statici e non solo attraverso l’apposito SDK (ad onor del vero esistono degli esperimenti per il superamento di questo problema, ma siamo ancora ad una fase prototipale). Ho parlato di problema, ma non possiamo ritenerlo tale se non adeguatamente percepito dagli utenti. La direzione presa da alcuni Metaverse (ad esempio da Project Sansar, sulla base delle poche informazioni in possesso della community) è quella di fornire strumenti di importazione da modellatori tridimensionali professionali come Maya e Blender più che permettere all’utente, attraverso strumenti all’interno del sistema, di creare e sviluppare. Un scelta quest’ultima che risente molto delle mode del momento, visto che numerosi motori grafici hanno integrato potenti editor VR e ne sfruttano tutta l’incredibile interazione. Da segnalare una community abbastanza fiorente che pecca tuttavia di una documentazione poco aggiornata e mancante di molte parti. Da ultimo il suo non essere Open Source credo sia un punto debole su cui gli sviluppatori dovrebbero molto riflettere.

Tutorial introduttivi sull’SDK di VRChat

JanusVR è invece scritto utilizzando il framework QT Library in C++ ed un motore proprietario basato con buona probabilità su OpenGL. La piattaforma JanusVR è figlia di quella bellissima idea che un tempo si chiamava VRML (poi divenuta uno nuovo standard ISO basato su XML chiamato X3D) ovvero la possibilità di avere un linguaggio che descriva facilmente l’”ambiente tridimensionale” permettendo quindi in maniera semplice di “programmare” cosa visualizzare e come interagire con le diverse entità presenti nel sistema. La community è molto estesa, numerosa e presente, la documentazione aggiornata e molto chiara. Alcune componenti sono state rilasciate sotto licenza Open Source e persino scritte da sviluppatori che non fanno parte del Core Team. Meraviglioso a dir poco l’uso che si fa del sistema distribuito IPFS (protocollo ed applicazione a dir poco innovativa che permette la diffusione decentralizzata, sicura e ridondante di dati su milioni di nodi) per la distribuzione dei vari ambienti. Nato come incredibile Hack, è ora parte della versione finale di rilascio:

HighFidelity può essere considerato come la vera evoluzione di Second Life. Ci troviamo dinanzi infatti al primo Immersive Virtual World su scala internet completamente Open Source, multipiattaforma, configurabile e programmabile in JavaScript. Realizzato anche lui tramite il framework QT Library in C++ vanta un team di tutto rispetto che lo sta migliorando versione dopo versione. E’ possibile gestire, costruire e distribuire il proprio server od utilizzare il client per caricare moltissime tipologie di mesh, immagini ed oggetti. E’ una piattaforma versatile e funzionale, completamente aperta e facilmente programmabile. HighFidelity è veramente ciò che più si avvicina al “Metaverse” di “Snow Crash”. Attualmente in BETA, client e server sono scaricabili gratuitamente ed integrabili con quasi tutti i visori VR attualmente in commercio.

L’impronta di Rosedale si sente e si vede. Le funzionalità sono quelle di Second Life, ma tengono conto delle esperienze del passato:

  1. L’interfaccia grafica sia del Client che del Server è stata migliorata e semplificata
  2. Il Server è nelle vostre mani e pronto in maniera semplice a farvi costruire un vostro mondo (qualcuno sente le antiche voci sul rilascio della parte server di Second Life, il ritorno alla grande del progetto OpenSim?? Si si, è divenuto realtà, ma in maniera diversa!)
  3. Addio ad LSL, ricreare la ruota non è mai una buona idea, ed ecco l’uso di Javascript (Sesto linguaggio al mondo per utilizzo secondo il TIOBE index)
  4. Tutto il progetto è Open Source, non era stato Rosendale a rilasciare all’epoca Open Source il client di Second Life?

E da ultimo non possiamo dimenticare il tanto agognato Project Sansar, Next Generation Virtual World dell’attuale Linden Lab, da tutti percepito (tutte le info riguardo questo Metaverse è possibile trovarle qui: https://modemworld.me/tag/sansar-news/) come Second Life 2.0, il nuovo Second Life. In realtà Sansar non è compatibile con SL ed anzi introduce nuove tecnologie ed un sistema completamente diverso di gestione (si tratta a tutti gli effetti di una piattaforma completamente nuova). Attualmente il sistema è in una sorta di Beta limitata ed aperta soltanto a coloro che vogliano contribuire alla sua costruzione denominata “Creator Preview”. L’attesa è tanta, ma le pecche dal mio punto di vista sono molte se confrontate con HighFidelity. Il progetto non è Open Source, ad esempio, l’interfaccia di manipolazione degli oggetti non sembra essere così evoluta. Certo sappiamo che l’intero ambiente sarà programmabile in C# (tanto che qualcuno ha avanzato l’ipotesi che sia basato su Unity, ma non ci sono conferme), ma sembra un universo troppo chiuso, troppo controllato. Ci risentiamo ad inizio del 2017 per ogni ulteriore considerazione.

Metaverse is coming??

Vi è mai capitato di vedere realizzato da qualcun’ altro quello che voi avreste voluto tanto creare? A me capita spesso ed ogni volta penso alle parole (vere o presunte poca importa) del creatore di Facebook: “se l’idea non l’hai realizzata allora non è tua!”. E dal lontano 2009, e forse ancora prima quando sulla rivista Internet News vidi un articolo su AlphaWorlds, che ipotizzo la perfetta unione tra le tecnologie della Realtà Virtuale e quelle dei Mondi Virtuali. Grazie ad alcuni coraggiosi progetti presto potremmo vedere quelli che venivano definiti Mondi Virtuali Immersivi e che oggi hanno assunto la più semplice etichetta di “Social VR”. Quando tuttavia ho visto la tecnologia alla base di SpatialOS di Improbable ho subito pensato che sarebbe stata perfetta per creare una gigantesca sandbox virtuale. E così è stato! MetaWorld è la risposta semplice a quanto da me immaginato, ma soprattutto è un contendente molto interessante nel panorama appena delineato.

Il sistema è basato su motore grafico 3D Unity appositamente modificato per il collegamento al potentissimo sistema cloud di Improbable chiamato SpatialOS. Il visore utilizzato è l’HTC Vive con ovviamente i suoi plugin SteamVR per Unity. La grafica come potere vedere è nel classico e diffuso stile “low-poly” che non è soltanto una cifra stilistica, ma anche e soprattutto un sistema semplice per non appesantire il motore tridimensionale e garantire che il numero di Frame per Secondi (fps) si mantenga alto (60–90) così da non creare problemi di nausea. Sfruttando SpatialOS la simulazione della fisica è davvero impressionante e può gestire ampi spazi con un numero di oggetti davvero notevole. Peccato però costatare che dopo i mirabolanti annunci avuti a Luglio 2016 e la prossima uscita del pacchetto Pioneer Edition, nulla si sappia sugli sviluppi futuri della piattaforma. Sarebbe un vero peccato, dopo le premesse, vedere il progetto naufragare ed andarsi ad aggiungere alla triste congrega dei “sogni infranti”.

Ma l’odio per i Mondi Virtuali alla SecondLife rimane tale

Ci fu un’epoca felice a cavallo degli anni 2008–2009 in cui i Mondi Virtuali, grazie anche alla diffusione attraverso i media del mitico SecondLife, uscirono dalla nicchia per diventare un prodotto di massa. In realtà già altri giocatori erano “dipendenti” da MMORPG con un numero molto più ampio di utenti, SecondLife era una novità perchè un vero e proprio sistema completamente libero in cui poter creare, condividere e sperimentare. Philip Rosedale parlava come chi avesse scoperto un continente, non aver creato una semplice piattaforma software. Il sogno di un Virtual World Internet Scale sembrava essere a portato di mano per tutti: ciò che di più tutti assomigliasse ad un Metaverse era divenuto finalmente realtà! Second Life è una piattaforma ancora oggi funzionante e sarebbe ingiusto dire che non abbia avuto successo solo parlando di numeri e facendo un confronto con l’onnipresente Facebook. Sono stati spesi fiumi di inchiostro digitale sul perchè non avesse avuto quel successo tanto sperato e che nel 2008 sembrava ormai dietro l’angolo. Ma il punto è proprio questo, a mio parere entrare nella storia dell’innovazione non significa avere miliardi di utenti, ma rendere concreta la più perfetta, alta ed incredibile delle utopie informatiche. Con l’avvento e la rinascita della Realtà Virtuale tutto è stato rimesso in gioco, e forse, dico forse, è giunto il tempo per la creazione di un Manifesto che ci conduca verso il “Metaverse” perfetto:

Un micro manifesto per il perfetto “Metaverse”:

  • Immersive Virtual Reality: Realtà Virtuale Immersiva ovvero ben congeniata per un senso di “presenza” ed “interazione” ad alto livello. Non si deve pensare ad un semplice visore HMD collegato ad un ambiente ricreato al computer, ma ad una piattaforma che “coinvolga” l’utente e soprattutto dia a lui la possibilità di interagire con gli altri utenti, con oggetti ed anche con sistemi automatici o guidati da Intelligenze Artificiali.
  • Open Source/Royalty Free protocols, standards, code: l’intero codice sorgente del Metaverse dovrebbe essere rilasciato sotto lincenza Open Source, ma soprattuto basato su standard e protocolli non proprietari, aperti e certificati da enti internazionali. Casi esemplari sono gli standard VRML e la sua evoluzione X3D che tuttavia, dopo un periodo di buona diffusione, sono stati poi “dimenticati” dall’industria informatica. Recentemente anche Carmack ha sottolineato questa possibilità con la creazione di uno standard aperto per la descrizione di una scena 3d ed il suo trasferimento attraverso internet tramite glTF.
  • Sandboxing User Generated contents In-World/Out-World: la possibilità di offrire ai diversi utenti strumenti per la creazione e modifica di qualsiasi contenuto all’interno dell’ambiente virtualizzato è fondamentale. Anche la possibilità di importare creazioni da altri sistemi e software si pone come obiettivo che amplifica la creatività degli utenti ed offre un livello di interazione senza precedenti. Tutti gli attuali “Metaverse” offrono a vario livello questà opportunità che può essere poi specializzata per creare giochi, esperimenti e forme artistiche di ogni tipo.
  • Scripting system using software language as Javascript, C#, Go, Swift: direttamente correlata con il procedente punto è l’esigenza di programmare attraverso linguaggi di alto livello l’intero ambiente. C#, Go e Swift sembrano essere dei candidati perfetti anche se la scena è attualmente dominata dal Javascript. E’ fondamentale comunque dare agli sviluppatori l’opzione di creare collegamenti, modificare automaticamente l’ambiente ed interfacciarlo con altri sistemi e piattaforme.
  • Metaverse as protocol not only as API: è abbastanza ovvio pensare che il Metaverse esponga delle API, ma è ancora più importante ipotizzare la creazione di un vero e proprio protocollo che permetta di creare diversi Metaverse tra loro comunicanti. Nel passato ci sono stati diversi tentativi come ad esempio MMOX che tuttavia non è riuscito a superare lo stato di bozza dell’ IETF.
  • Crypto Currency inside Metaverse: perchè non usare direttamente Bitcoin od Ethereum? A discapito di molti annunci ancora nessun Metaverse usa Cripto-valute di qualche tipo per permettere al compravendita tra utenti. Questa caratteristica renderebbe invece la piattaforma unica e soprattutto contribuire a coinvolgere maggiormente l’utente.
  • Decentralized architetture: quasi tutte le piattaforme per mondi virtuali sono basate dulla classica architettura client-server. Passare ad un sistema peer-to-peer avrebbe enormi vantaggi. JanusVR, ad esempio, permette di utilizzare l’incredibile ipfs (Inter-Planetary File System) per il recupero veloce dei diversi “asset”.

La mia modesta proposta

Numerosi articoli sul Web hanno sottolineato l’importanza dell’esperienza della Realta Virtuale come “social”. La maggior parte dei commentatori parla di “Social VR” e anche Facebook ha mostrato una sua demo che ha tutto il sapore di avere i numeri per essere la killer app della VR. HighFidelity ha tutte le carte in regola per sfondare eppure dopo i primi articoli entusiastici sembra che l’intero comparto dei “Metaverse” sia stato come accantonato. Ma la Realtà Virtuale è, soprattutto per adesso, meravigliosi giochi di cui pochissimi sono multiplayer ed hanno pochissime delle caratteristiche di una gigantesca SandBox condivisa. Molte domande ci assillano: la Demo di Facebook sarà sviluppata e diventerà un unico Facebook 3D 2.0? Come evolverà HighFidelity? E Project Sansar così “stranamente” atteso ed invocato dalla maggior parte degli attuali cittadini di SL manterrà le sue promesse? E MetaWorld sull’incredibile simulatore di Improbable avrà successo?

Il mio sogno è quello di “rubare” (come ho ampiamente descritto nel “Manifesto”) da ogni “Metaverse” il suo elemento migliore per creare l’unico ed irragiungibile “Metaverse”. Il linguaggio descrittivo degli ambienti di JanusVR con la semplicità di integrazione in Unity di VRChat. Rilasciare tutto sotto licenza Open Source come HighFidelity ma utilizzare C# e non JavaScript come linguaggio di scripting. E la “magata” di ipfs? Offrire gli strumenti di caricamenti di Sansar con la facilità di manipolazione in-world di questi prototipi:

Ma il sogno si realizzerà mai?

Non posso che lasciarvi con una frase che un utente reddit mi ha scritto in risposta ad una mia domanda retorica:

I don’t think anything is the metaverse until it is actually built and people are using it.
Non credo che nulla sia il “Metaverso” fino quando non è veramente sviluppato e la gente lo usa.