Come costruire un metaverso open source
Il mondo dell’open source è il luogo privilegiato per costruire un metaverso.
Se ti dicessi che tutti i contenuti e i software necessari per costruire il metaverso sono già disponibili e completamente gratuiti, lo faresti?
Mantieni questo pensiero e facciamo un passo indietro e spieghiamo il metaverso.
Che cos'è il metaverso?
Gli autori cyberpunk del XX secolo come Gibson e Stephenson immaginarono un Internet abilitato alla realtà virtuale e nel suo romanzo Snow Crash, Stephenson lo chiamò Metaverso. Con la crescente disponibilità di dispositivi e app di realtà virtuale (VR), Metaverso è diventato una parola d'ordine, soprattutto da quando Mark Zuckerberg ha annunciato di impiegare 10.000 lavoratori per costruirlo e ha cambiato il nome dell'azienda Facebook in Meta. Matthew Ball ha scritto un'analisi seria dell'argomento che si conclude con la conclusione: Costruire insieme: "E in verità, è molto probabile che il Metaverso emerga da una rete di diverse piattaforme, organismi e tecnologie che lavorano insieme (anche se con riluttanza) e abbracciano l'interoperabilità. "
Interoperabilità. La parola stessa, implicitamente ma chiaramente, sottolinea come l'open source e gli standard aperti si inseriscono nel quadro.
Quindi, in breve, si tratta di Internet abilitato alla realtà virtuale.
Come si può creare un metaverso open source?
Come i server web su Internet, hai bisogno di server VR. Ma non preoccuparti, ne ho scritto uno e un articolo a riguardo è stato pubblicato proprio qui circa un anno fa. Quindi, ovviamente, sono necessari browser Web abilitati per la realtà virtuale, ma i browser Web supportano già lo streaming video/audio (WebRTC) e sia VR che AR (WebXR). Inoltre, hai bisogno di un sacco di contenuti 3D, preferibilmente in formato glTF standard open source. E fortunatamente, Sketchfab ospita oltre 500.000 modelli 3D gratuiti, pubblicati con licenze Creative Commons da un numero enorme di autori. Sketchfab non è l'unica azienda a farlo, ma fornisce API REST per cercare e scaricare uno qualsiasi di questi modelli.
Non dimenticare la tastiera
Essendo in VR ormai da un bel po', posso dirti in prima persona cosa mi manca di più: la tastiera! Scrivo il codice sulla tastiera, ma scompare quando indosso gli occhiali VR. Puoi immaginare quanto sia dirompente togliere e indossare l'attrezzatura VR. E non solo, ho bisogno di vedere il mio codice in VR. E allora perché fermarsi lì? Perché non dovrei vedere tutte le applicazioni in VR? Molte persone utilizzano due o più display. In VR, disponi le finestre ovunque guardi. È meglio di qualsiasi numero di schermi. E una volta che ciò accadrà, sarai in grado di parlare davvero del metaverso.
A dire il vero, i dispositivi VR sono ancora agli inizi e senza dubbio mancano molte altre funzioni. Ma i dispositivi VR miglioreranno e alla fine includeranno tastiere, fotocamere migliori e la capacità di sovrapporre il virtuale al reale. Nel frattempo continueremo a indossare e togliere gli occhiali e ad affrontare gli altri ostacoli in altri modi.
Allora cosa sto aspettando?
Non c'è bisogno di aspettare. Le persone ci stanno lavorando, appassionati e aziende. E puoi iniziare subito a costruire i tuoi mondi virtuali sul web. Il video seguente spiega come creare mondi virtuali utilizzando i modelli gratuiti disponibili.
Dietro le quinte, il client web VRSpace utilizza Babylon.js, una libreria WebGL JavaScript open source per caricare contenuti glTF ed eseguirne il rendering con WebGL. Richiama la funzione di ricerca dell'API REST di Sketchfab (il proprietario del server deve avere un account lì). Dopo aver fatto clic su un modello, viene chiesto al server VRSpace di recuperarlo. Il server lo scarica (solo se non lo ha fatto prima) e lo consegna al client. Tutto ciò che accade nello spazio viene trasmesso (in multicast su WebSocket, in realtà) a tutti gli utenti connessi, in modo che tutti vedano lo stesso movimento e ridimensionamento degli oggetti. E certo, possono chattare, sia con messaggi di testo che vocali. E facendo clic sul pulsante degli occhiali VR nell'angolo in basso a destra, l'utente accede immediatamente alla realtà virtuale. Gli utenti possono anche condividere gli schermi, anche se non in questo spazio.
E tutto questo viene fatto utilizzando solo le tecnologie web standard esistenti e software e contenuti gratuiti. Non è disponibile solo su PC e dispositivi VR, ma anche su dispositivi mobili. Tuttavia, Chrome mobile non viene fornito con le funzioni VR abilitate. Richiede il download di Google VR al primo tentativo di accedere alla realtà virtuale.
Dato che è tutto aperto, per il momento è il più interoperabile possibile. Ma non è abbastanza interoperabile per l’enorme scala richiesta per il metaverso: Internet abilitato alla realtà virtuale. Prendi gli avatar, per esempio. Utilizzo la stessa immagine per il mio avatar su LinkedIn, Facebook e su Opensource.com. Come posso caricare il mio avatar 3D su VRSpace o altrove?
Beh, non posso. Il caricamento in sé non è un problema. Ovviamente non lo è nemmeno il formato del file (glTF). I problemi sorgono dalla struttura dell'avatar, poiché non è standardizzata. Quindi, ad esempio, personaggi diversi hanno un numero diverso di ossa. Quindi, funzionalità indispensabili che dovrebbero essere banali, come tenere qualcosa nella mano virtuale, diventano estremamente complicate. Ho analizzato oltre 100 personaggi gratuiti e ho pubblicato le mie scoperte come documento di ricerca: Towards Automatic Skeleton Recognition of Humanoid 3D Character: spero che possa aiutare altri autori con l'interoperabilità.
E questo è solo l'inizio, la primissima cosa da fare per entrare in un mondo virtuale condiviso.
(Josip Almasi, CC BY-SA 4.0)
Proprietà intellettuale
E la proprietà intellettuale? Che dire, potresti dire, è tutto open source! Bene, lo è. Gli autori sono così gentili da consentire ad altri di utilizzare le loro creazioni. Il minimo che gli utenti possono fare è dare loro dei crediti. I termini effettivi delle licenze Creative Commons richiedono agli utenti di citare esplicitamente gli autori. A tal fine, ho prestato particolare attenzione a visualizzare il nome dell'autore nei risultati di ricerca e le informazioni sull'autore sono incorporate nella sezione dei metadati di ciascun file glTF. Ma anche con materiale gratuito che richiede lavoro aggiuntivo, non riesco a immaginare in quale incubo si trasformerebbe con il contenuto proprietario.
Token non fungibili e registri Blockchain
Ripensandoci, posso immaginarlo. Richiede token non fungibili, registri Blockchain e quant'altro. Una rapida ricerca su Google Metaverse Blockchain mi offre eccellenti opportunità di acquisto e mi consiglia le migliori opzioni di acquisto. Beh, non compro. Ricorda le mie parole: le persone che cercano di vendere criptovalute non costruiranno il metaverso.
Questo non vuol dire che la blockchain non possa essere utile in questo caso, poiché anche con i contenuti gratuiti è necessario tenere traccia degli autori. Con centinaia di migliaia di modelli gratuiti, questo deve essere automatizzato in qualche modo e il registro distribuito potrebbe essere la soluzione giusta.
D'altra parte, i fornitori di contenuti digitali come Sketchfab non forniscono solo modelli gratuiti, ma vendono contenuti. Dopotutto è così che si guadagnano da vivere. Tecnicamente parlando, tutto ciò che devi fare per utilizzare questo contenuto proprietario nei tuoi mondi virtuali è cambiare un true in false nel codice, letteralmente. Ma una volta scaricato, nessuno può impedirti di condividerlo. Eppure, legalmente, la licenza ti vieta di farlo. I token non fungibili possono dimostrare la proprietà, essere acquistati, venduti, ma non possono far valere il copyright. I fornitori di contenuti prima o poi lo capiranno, ma non sono loro che mi preoccupano. Ciò ha implicazioni pratiche per gli utenti comuni, legate a una domanda specifica che mi è stata posta ripetutamente: posso creare/acquistare il mio avatar che sarà solo mio e non potrà essere utilizzato da nessun altro? Beh, puoi, ma la tecnologia non può impedire a nessuno di copiarlo. Proprio come posso copiare la tua immagine avatar, ad esempio, da LinkedIn e usarla come mia immagine, ad esempio, su Facebook. Ma pensiamola in questo modo: perché qualcuno dovrebbe voler fare una cosa del genere?
Curioso però, ho avuto un'implementazione commerciale di VRSpace: un sito web di streaming video e audio multiutente 3D alimentato da software gratuito, che offre contenuti proprietari. Dietro la porta chiusa, paga per entrare: semplice. E non ostacola la costruzione del metaverso. Eppure ognuno ha i propri avatar unici che non possono essere utilizzati da nessun altro: gli avatar video.
(Josip Almasi, CC BY-SA 4.0)
Vuoi essere te stesso e nessun altro. Basta fare clic sul pulsante del video ed è semplicissimo. Naturalmente, il browser richiederà la tua autorizzazione per lo streaming di video e audio. Questa funzionalità è così ampiamente utilizzata nella vita quotidiana che non la associamo realmente al metaverso e gli autori cyberpunk non l'avevano prevista. Col tempo, questo approccio io sono me si evolverà nel rilevamento del movimento e nella mappatura del flusso video sui nostri avatar 3D, ma rimarrà per un po' nell'ambito dei film e dei videogiochi costosi.
A questo punto hai dato un'occhiata a tutte le funzionalità del server VRSpace, ad eccezione dell'autenticazione Oauth2. Sai come funziona comunque. Un sito Web ti reindirizza a un altro di tua scelta, dove accedi e poi torni autenticato. Questo è tutto quanto sopra in un diagramma semplificato:
(Josip Almasi, CC BY-SA 4.0)
Dimostrazione dal vivo
Su VRSpace.org è sempre disponibile una demo dal vivo con il codice più recente, che puoi provare in qualsiasi momento. È completamente anonimo, senza pubblicità e tracker di alcun tipo. Prova a costruire il tuo mondo nel mondo VRCraft, ma sappi che tutto ciò che fai scomparirà una volta disconnesso: il prezzo della gestione di un servizio anonimo aperto al pubblico. La home page fornisce tutte le informazioni pertinenti, basta seguire i collegamenti o partecipare al progetto su GitHub, YouTube o Facebook.
Un grande ringraziamento ai primi utilizzatori per il loro aiuto nel portare il progetto a questo stadio: tutti gli autori per i loro modelli gratuiti, Sketchfab per aver fornito l'accesso e la comunità Babylon.js che fa sì che tutto funzioni su tutte le piattaforme.