# MOO

O MOO (MUD Orientado a Objetos) é um sistema de acesso multiusuário, programável, interativo, para criação de ambientes em realidade virtual baseada em texto, visando jogos, conferências, bate-papo on-line e outras atividades que requerem comunicação em tempo real.
Os usuários da Internet passam a existir virtualmente, sendo chamados players, de forma a desenvolver traços de uma personalidade, na qual ele incorpora. Isso faz com que a maioria dos personagens associem a Internet ao seu personagem, tornando assim o MOO como seu mundo virtual, ou seja, seu endereço na Internet.

## Sistema

Os personagens, que são a "corporificação" dos usuários no MOO (geralmente referidos como players), após terem conectado, terão comandos on-line que serão interpretados pelo servidor. Tais comandos, podem causar mudanças na realidade virtual, como o lugar onde o personagem está, ou simplesmente reportar a situação atual, tal como a aparência de algum objeto.
O trabalho de interpretação destes comandos é compartilhado entre dois componentes principais do MOO: o servidor e a base de dados. O servidor é um programa que controla as conexões da rede, mantém rotinas e processos a serem executados, controla todo o acesso a base de dados e executa outros programas escritos em linguagem de programação MOO. A base de dados contém representações de todos os objetos da realidade virtual, incluindo os programas em linguagem MOO que dão aos objetos os seus específicos comportamentos.
A linguagem de programação em MOO segue os mesmo princípios de outras linguagens orientadas a objeto, tais como C, Lisp e Java (linguagem de programação)! E essa interface programável é a parte central da expansão da base de dados, criando assim a realidade virtual.

## História

A Pavel Curtis é atribuído a criação do MOO, sua primeira experiência com este programa está em pleno funcionamento, sendo um exemplo vivo do seu potencial, é uma verdadeira comunidade, com milhares de habitantes, eleições e tudo mais que pode existir em uma sociedade. Atualmente, o LambdaMOO é mantido por Erik Strom.
Mas foi Stephen White que escreveu o primeiro servidor MOO. Pavel Curtis pegou o projeto básico, a linguagem, o código, corrigiu os erros e adicionou ferramentas à primeira versão do LambdaMOO.
O primeiro programa MOO foi distribuído em fevereiro de 1991, na versão 1.0.0.

## Brasil

A história dos MOOs no Brasil está diretamente ligada às universidades públicas e a vontade das pessoas entrarem em contato em tempo real, sempre lembrando que no início não havia IRC, MSN ou outros comunicadores instantâneos.
O primeiro MOO surgir no país foi o Science & Fiction Moo que foi hospedado nos servidores coral e radio.facos, da Universidade Federal de Santa Maria no Rio Grande do Sul e foi o primeiro MOO a ser instalado no Brasil em 1995, sendo mantido até hoje, rodando em um servidor virtual dedicado no endereço scifi.upperland.net 40477.
Em seguida surgiu o que veio a ser o maior MOO até hoje no Brasil, o CPDEE do Centro de Processamento de Dados e Engenharia Elétrica da Universidade Federal de Minas Gerais, sendo seguidos de outros, também localizados em faculdades ou ligados ao ramo acadêmico, como Cidade do Futuro da USP e Fatec MOO.

## Ambiente virtual e Ambiente de Programação

No final da década de 1980 e início da década de 1990, quase não existiam gráficos na Internet, a maioria dos programas rodava via linha de comando, como temos ainda telnet, ftp, ssh, no Linux e Windows.
Nessa época surgiu uma novidade que se baseava nos antigos jogos de texto de computadores que por sua vez baseava-se em livros texto em que você vai tomando decisões que o enviam para uma determinada página e assim vai seguindo; essa novidade chamava-se MUD, Multi User Dungeon.
Basicamente era um sistema parecido com RPGs do estilo Dungeons & Dragons dividido em várias salas em que o usuário move-se nas direções norte, sul, leste oeste, cima e baixo e entra em combate com outros jogadores ou NPCs (Non Player Characters, personagens controlados pela máquina).
Baseado na ideia dos MUDs um funcionário do Xerox Park, local onde várias invenções de computação como mouse, interface gráfica e impressora a laser surgiram, chamado Pavel Curtis, teve a ideia de fazer uma espécie de MUD, mas voltado para conversação. No entanto ele decidiu fazer o sistema diferente dos MUDs e ao invés do servidor controlar tudo que acontece no ambiente ele fez com que o servidor controlasse apenas o básico como entrada e saída de comandos e conexões, e um sistema que executava uma linguagem de programação orientada a objetos muito simples que ele criou e rodava dentro do próprio ambiente, tudo isso residindo em uma base de dados no formato texto. A seguir ele começou a programar todo o controle de salas, jogadores e objetos utilizando a própria linguagem de programação do ambiente, surgia assim o MOO, MUD Orientado a Objetos.
Logo os MOOs tornaram-se um sucesso, na época nem IRC existia ainda, muito menos chats rodando na web, afinal não existia web; como forma de comunicação nas universidades que eram ainda os únicos lugares onde existia internet pois a era comercial da rede mal estava sendo iniciada.
Em maio de 1995 o primeiro MOO do brasil foi instalado na Universidade Federal de Santa Maria, tornando-se logo um meio de comunicação importante para acadêmicos de todo país com usuários da várias Universidades como Unicamp e UFMG, este MOO ainda está rodando hoje em dia e pode ser encontrado por telnet no endereço moo.ddns.info, porta 40477, mais informações podem ser encontradas em http://www.upperland.net/scifi/. Outros MOOs surgiram no Brasil como o Cpdee da Universidade Federal de Minas Gerais, o FatecMOO voltado para educação e ensino à distância assim como o MOO da Cidade do Futuro, projeto de ensino de São Paulo, alguns desses não existem mais. Em Santa Maria várias reuniões de usuários já foram feitas trazendo gente de todo o país para a cidade.