MayaVerse: rinascere ancora per ricominciare…

Enrico Speranza
4 min readMay 14, 2022

Aggiornamenti e nuove tecnologie da integrare per la sempre più futura piattaforma MayaVerse.

Official MayaVerse Logo

Dobbiamo essere sinceri: il progetto MayaVerse procede molto lentamente e negli ultimi tempi si è completamente arenato. L’intero sorgente della versione Alfa 0.4 giace ora dormiente su GitHub ogni tanto selezionato da qualche sviluppatore curioso. Il Backend basato su Vultr e DigitalOcean è stato per il momento disabilitato dato il suo non utilizzo.

Il motivo di questa estrema lentezza è molto semplice: la mancanza di tempo.

E’ quasi impossibile tenere testa da solo ad un progetto di questo livello, anche se ho tutto bene in mente ed ho la netta sensazione che mi basti soltanto eliminare dalla pietra quello che non serve per ottenere il mio “capolavoro”.

In ogni caso possiamo certamente definire MayaVerse più che altro un gigantesco esperimento per imparare, un costante banco di prova per porsi le domande che, dal mio punto di vista, contano veramente. Non credo sia molto importante parlare ancora ed ancora attraverso migliaia di video, articoli, immagini sull’idea di Metaverse citandone la genesi storica o le ripercussioni sociali e psicologiche (importanti ci mancherebbe…). Le mie domande sono molto più dirette ed apparentemente non di senso diffuso:

  1. Come verrà costruito? Su che tecnologie si baserà?
  2. Gli standard e protocolli saranno alla portata di tutti? Potranno essere studiati e capiti? Daranno le stesse opportunità a tutti?
  3. La riservatezza e sicurezza come verranno garantite agli utenti nel mondo?
  4. Quando pensiamo all’obiettivo di un miliardo di utenti in VR vuol dire un miliardo di persone in tempo reale in un’unico ambiente virtuale condiviso oppure a singoli mondi tra di loro collegati e interoperabili? O semplicemente ad un miliardo di persone possessori di un dispositivo XR di qualche tipo?
  5. L’identità degli utenti sarà pubblica oppure anonima? E come si potrà ottenere tecnologicamente il tutto?

MayaVerse è alla fine il tentativo di rispondere a tutte queste importanti domande cercando di comporre e integrare diverse tecnologie.

Pensiamo ad esempio al “networking” ovvero al sistema che permetterà la comunicazione tra i diversi utenti. Volendo arrivare all’essenza del funzionamento di un Metaverse dobbiamo pensare al tracciamento di N punti nello spazio a 6 gradi di libertà (il famoso 6DF = https://en.wikipedia.org/wiki/Six_degrees_of_freedom, 3 posizioni nello spazio e 3 rotazioni) da trasmette a circa 20/25 Hz (ovvero 20–25 volte al secondo). Questo vuol dire che dobbiamo essere estremamente stringati, cercare la massima compressione ed ottimizzare la comunicazione. Il protocollo è TCP ? No, UDP non possiamo perdere tempo ad avere la “sicurezza” della comunicazione avvenuta!

Da pochissimo, ad esempio, è stata resa Open Source la libreria DarkRift che porta molte innovazioni tecnologiche e permette agli sviluppatori di partire dal basso, scendendo quindi nell’ormai famosa pila OSI (https://it.wikipedia.org/wiki/Modello_OSI, hai presente quando alcuni scrivono “Full Stack Developer” vorrebbe voler dire che se vuoi possono armeggiare anche con i fili e le diverse tensioni sul tuo RJ45 https://it.wikipedia.org/wiki/RJ-45 ;-)

E come rappresentiamo (leggi: serializziamo) i dati dati ricevere e trasmettere. Se stai pensando a JSON stai sbagliando!

Trasmettere dati in JSON non è la soluzione.

O meglio funziona, funziona anche se mandi testo in UTF-8, ma non stai ottimizzando, qui devi letteralmente “spaccare il bit” ed ottimizzare il tutto fino appunto al singolo bit. Se mandi un dato booleano, devi proprio mandare 0 od 1 non la parola true che sono cinque caratteri (5 od 10 byte a seconda della codifica). Se proprio devi usa:

Oppure inizia a vedere cosa fanno gli esperti del mondo gaming che hanno ormai esperienza di anni di sviluppo e tirano fuori progetti di questo tipo:

Passiamo adesso al formato delle mesh 3D. Sono molti e diversi e per la compressione? Faccio soltanto notare che è il CNR italiano ad aver messo in opera un progetto di ricerca per la compressione delle Mesh 3D che si chiama Corto:

Ne riparleremo perchè lo sto integrando in MayaVerse!

Ecco tutte queste tecnologie devono essere studiate ed utilizzate per creare il:

il mio Metaverse, il mio MayaVerse!

(Svolazzo via con in mente una citazione…)

--

--