# MUD Object Oriented

MOO (MUD Object Oriented) è un sofisticato programma informatico che permette a più utenti di collegarsi da remoto, normalmente via Internet, ad un ambiente condiviso che contiene stanze ed oggetti. All'interno di esso è quindi possibile interagire, sia con l'ambiente che con gli altri utenti, in tempo reale.
Il primo e più utilizzato server MOO è LambdaMOO, sviluppato da Pavel Curtis alla Xerox Corporation.
Il più famoso MOO italiano è stato "Little Italy MOO" un esperimento del Dipartimento di Scienze dell'Informazione dell'Università degli Studi di Milano, sotto la direzione del Prof. Giovanni Degli Antoni, il suo scopo era studiare le interazioni sociali all'interno di un ambiente virtuale autoconsistente e che si sarebbe accresciuto e sviluppato in maniera autonoma sotto la spinta delle relazioni e dei bisogni generati da tali interazioni. Basandosi su tali premesse quindi l'ambiente era profondamente diverso da un gioco di ruolo, il che fa capire meglio in cosa un MOO fosse diverso da un MUD, nel primo la parte ludica non è presente o lo è solo come modulo a parte utilizzabile alla stregua di qualsiasi altra "libreria", nel MOO lo scopo è sostanzialmente l'interazione e l'evoluzione sociale.
Vi furono progetti di utilizzo dei MOO anche come "gestore di gruppi di lavoro" per permettere a sviluppatori coinvolti in un progetto software di interagire e collaborare tra di loro a distanza allocando risorse software e compiti virtuali associati a risorse e compiti ben definiti nella realtà.

## Principali caratteristiche

I MOO sono sistemi interattivi, accessibili via rete, multiutente e programmabili, utilizzati per la realizzazione di giochi di ruolo, sistemi per conferenze e altri strumenti di collaborazione. Il loro principale utilizzo, tuttavia, è come realtà virtuali testuali e quindi non richiedenti banda larga per essere utilizzate.
I MOO vengono utilizzati sovente in ambiente educativo" per la formazione a distanza, ma in altri casi la loro natura è prevalentemente sociale oppure ludica.
Dal punto di vista tecnologico non sono altro che server residenti in memoria i quali ricevono collegamenti remoti tramite una porta dedicata del sistema operativo sul quale risiedono e aperta verso l'esterno (tipicamente la 777 o la 4444) in altri casi è possibile che invece sia visibile unicamente all'interno di una LAN privata.
Un MOO è costituito da un database non persistente, a differenza dei classici sistemi Database infatti spegnere il server senza prima salvare l'evoluzione del db in memoria sui file testo di backup, implica la perdita delle modifiche apportate, non vi è quindi una scrittura continua ed interattiva dei dati tra memoria di lavoro e memoria permanente, l'intero MOO lavora sempre e solo in memoria volatile, sono quindi previsti, ad intervalli regolari, salvataggi dei dati su disco.
Al suo interno vi sono differenti livelli di utenti con differenti mansioni o autorizzazioni.
All'apice della piramide degli utenti del sistema stanno i Wizard ovvero gli amministratori, con accesso completo a tutte le funzionalità, sia interne che esterne (per la partenza, chiusura e salvataggio del sistema) Il livello inferiore è costituito dai Programmer i quali hanno la possibilità di creare nuovi oggetti, modificarne di esistenti programmando il loro comportamento, a differenza dei Wizard non hanno accesso alla parte amministrativa del sistema stesso ma possono solo modificarne il comportamento. Il Builder invece può unicamente creare nuove istanze di oggetti basati su classi preesistenti, può quindi in pratica "clonare" oggetti ma non produrne di realmente nuovi. Il Player è invece l'utente base che può unicamente interagire con l'ambiente. Esiste infine un utente di servizio chiamato Guest, in genere usato da chi si connette per la prima volta al sistema, che ha le funzionalità del Player ma con notevoli restrizioni, in più tutti i comandi inviati possono essere letti in chiaro su una particolare canale di comunicazione, questo per permettere ad un altro utente di livello superiore di aiutare un nuovo arrivato inesperto. Come si può notare alcuni dei nomi sono mutuati direttamente dai MUD ludici ma il loro ruolo in un MOO è profondamente diverso e di quella origine è rimasto unicamente il nome.