VR baseada em texto: explore o mundo pioneiro dos MUSHes

Um terminal VT-100 em um fundo azul coberto de texto.
Digital Equipment Corporation

Você pode criar realidade virtual (VR) com nada além de texto? Pessoas que fazem MUSH pensam assim! O formato de jogo MUSH (que agora tem 30 anos) permite que os jogadores online construam de forma colaborativa mundos online baseados em texto onde sua imaginação pode correr solta.

Vamos ver como você MUSH!

As origens dos MUDs e MUSHes

Antes que os gráficos dominassem a Internet, a largura de banda fosse baixa e os modems gritassem alto, as pessoas jogavam jogos online baseados em texto chamados de “masmorras multiusuário” ou “MUDs”.

Um MUD é um jogo multiplayer em rede que normalmente se concentra em um combate de fantasia no estilo RPG. Mais tarde, os MUDs deram origem a “ jogos de RPG online para múltiplos jogadores ” (MMORPGs), como Ultima Online e World of Warcraft .

Ao contrário desses jogos, porém, os MUDs usavam apenas descrições de texto dos jogadores, inimigos, ações e seus ambientes.

No final dos anos 1970, os fãs da versão original do mainframe do jogo de aventura em texto Zork (chamado de “Dungeon” na época) queriam criar um jogo que várias pessoas pudessem jogar simultaneamente em uma rede. O primeiro MUD  foi lançado em 1978. Ele foi executado em um mainframe DEC PDP-10 na Universidade de Essex .

Uma tela de boas-vindas do MUD1 na janela do terminal.

À medida que os MUDs cresceram em popularidade ao longo da década de 1980, várias variações surgiram em termos de estilos de jogo e bases de código (o software de servidor que hospeda um MUD). Logo, alguns MUDs se distanciaram do combate e se tornaram plataformas puramente sociais para bate-papo e experimentação.

Em 1989, Jim Aspnes criou um dos primeiros MUDs com foco social chamado TinyMUD . No ano seguinte, o desenvolvedor Larry Foard usou o código do TinyMUD como base para seu próprio servidor. Ele adicionou uma linguagem de programação interna e a chamou de “TinyMUSH” e, assim, os MUSHes nasceram.

O termo MUSH é um trocadilho sem significado fixo além do jogo de palavras com o termo “MUD”. Mais tarde, algumas pessoas criaram o apelido de “alucinação compartilhada de vários usuários”, mas não era universalmente aceito.

O básico: como é um MUSH?

Mãos digitando no teclado de um computador vintage, com um MUSH na tela.
A MUSH por volta de 1995.

Como um MUD, um MUSH é inteiramente baseado em texto. A característica definidora de um MUSH, porém, é que alguém pode estendê-lo e programá-lo de dentro do ambiente. Antes disso, a estrutura da sala de um MUD era codificada em uma linguagem compilada (como C) ou editando os arquivos de configuração e reiniciando o servidor.

Em um MUSH, os jogadores podem construir salas e conectá-los. Uma maneira de fazer isso é usando comandos in-world (como “@dig” para construir uma sala). Outra é por meio de ambientes interativos de programa que usam uma linguagem de script interna chamada “MUSHcode,” que roda dentro do ambiente do jogo em tempo real.

Estruturalmente, os MUSHes são divididos em salas, objetos, jogadores e saídas. Os quartos são locais básicos com suas próprias descrições. Os objetos se movem dentro de salas e outros objetos. Os jogadores são as pessoas conectadas ao jogo (basicamente, objetos vivos). As saídas são os links que conectam tudo.

Quando você se conecta a um MUSH pela primeira vez, você vê uma descrição do seu ambiente e uma lista de objetos ou jogadores naquele local. Você pode usar comandos internos, como “olhar” ou “dizer”, ou comandos personalizados programados por outros jogadores, para interagir.

Por que o MUSH hoje?

Uma sala CaveMUSH em uma janela de terminal.

Os administradores que executam MUSHes são conhecidos como assistentes. Cada servidor MUSH (ou jogo) é um playground virtual para sua imaginação. Eles geralmente têm um tema específico, como Transformadores, livros de Tolkien ou vampiros. Alguns jogadores interpretam um personagem dentro do cenário e vivem uma vida de fantasia de sua escolha.

Recomendado:  Você deve usar o Hubitat para automatizar seu Smarthome?

Outros jogos são mais abertos e experimentais. Em um MUSH social / de codificação (como o meu), você é livre para construir o que quiser. A comunidade valoriza a criatividade e uma boa conversa.

I MUSH (o termo também é usado como verbo) porque é a forma definitiva de expressão criativa linguística. É um ambiente de texto programável no qual posso construir qualquer local que gostaria de visitar – e minha imaginação é o mecanismo de renderização, assim como quando leio um livro.

É também uma experiência profundamente social. Eu me conectei a um MUSH pela primeira vez no outono de 1994. Fiz amigos que ainda tenho hoje. Nós verificamos um com o outro quase diariamente no CaveMUSH, o MUSH que eu comecei em março de 2000. Hoje em dia, nós o usamos da mesma forma que outros usam o Slack ou o Discord .

Você está convidado a visitar o CaveMUSH – vamos ver como fazer isso.

Como Usar um Cliente Web para MUSH

MUSHes tradicionalmente usam o protocolo telnet para comunicação. Você pode se conectar a quase todos os MUSH por meio do cliente telnet de sua escolha. Se você for mais avançado, pode visitar meu CaveMUSH aqui:  cavemush.com porta 6116 .

No entanto, para a maioria das pessoas, encontrar e configurar um cliente telnet ideal pode ser muito trabalhoso. O Telnet é geralmente preterido em favor do SSH , então pode ser difícil encontrar um cliente que suporte uma boa experiência de MUSHing.

Em vez disso, usaremos um cliente telnet útil chamado MudPortal para se conectar ao CaveMUSH. Funciona em qualquer navegador da web, incluindo Safari, Firefox, Edge ou Chrome.

Primeiro, conecte-se automaticamente ao CaveMUSH via MudPortal ; você verá a tela mostrada abaixo.

O CaveMUSH First Connect Screen no MudPortal.

Antes de usar um MUSH, você deve criar uma conta de jogador. A maioria dos MUSHes é totalmente gratuita para tocar e você pode fazer isso anonimamente, sem amarras – um grande contraste com a era moderna.

Pense em como você deseja que seu nome de usuário seja. No CaveMUSH, as pessoas tendem a escolher alças curtas e caprichosas, como Dream ou Mad (o meu é RedWolf).

Depois de decidir sobre um nome, clique em “Digite um comando” próximo ao final da página.

Digite o seguinte, onde [nome de usuário] é o nome que você deseja e [senha] é a senha escolhida e pressione Enter:

criar [nome de usuário] [senha]

Um comando "create Geekman geeky" para criar uma conta de jogador no CaveMUSH.

Certifique-se de anotar sua senha para não esquecê-la. A caixa de texto é como você irá interagir com o MUSH a partir de agora. Basta digitar os comandos e pressionar Enter.

Em seguida, um monte de texto rola rapidamente na tela. A saída mais recente estará na parte inferior da tela, enquanto as informações mais antigas rolarão para cima e para fora da tela.

As instruções de primeira conexão do CaveMUSH.

A princípio, você vê a descrição de uma sala chamada “Old Well” em texto cinza.

Para ver o MUSH em cores, digite @set me=ansie pressione Enter. Você verá a mensagem “Set”, que confirma que o comando foi bem-sucedido.

Agora, você pode digitar  look (ou o atalho  l) e pressionar Enter para ver a sala.

A sala CaveMUSH "Old Well" com o texto descritivo em cores.

Como Dorothy abrindo os olhos na terra de Oz, o MUSH agora está em tecnicolor. Parabéns – você está dentro!

Em um layout básico de sala, você vê o nome da sala na parte superior, a descrição da sala, a lista do conteúdo da sala (todos os objetos e jogadores na sala) e uma lista de saídas que levam a outras salas.

Na próxima vez que você se conectar ao MUSH, digite o seguinte usando o nome de usuário e a senha que você criou acima:

conectar [nome de usuário] [senha]

Desta forma, tudo o que você fizer ou construir no MUSH será salvo em sua conta.

Recomendado:  Como abrir e ler um PDF no Android

Primeiros passos em um MUSHy World

Agora que você viu seu primeiro quarto, vamos tentar dizer olá. Digite say hellona caixa de texto e pressione Enter.

O "diga olá" na caixa de texto do CaveMUSH.

Você vê o resultado na tela. Se houver algum jogador ativo na sala, ele pode responder. Geralmente, apenas jogadores na mesma sala verão os resultados do seu  saycomando.

No entanto, você também pode falar no bate-papo do MUSH, chamado Canal Público. Para fazer isso, digite o seguinte, onde [mensagem] é o que você deseja dizer:

pub [mensagem]

Os jogadores em todas as salas verão esta mensagem.

Você também pode usar o lookcomando para ver uma descrição dos objetos na sala. Para fazer isso, digite o seguinte:

olha [nome do objeto]

Um comando "look ivos" para ver um jogador no CaveMUSH.

Para se mover pelo MUSH, você usa saídas. No CaveMUSH, quase todas as saídas têm um atalho atrás de seu nome entre colchetes angulares (<>). Ao digitar o atalho e pressionar Enter, você se move pela saída para outro local.

Para passar pela saída “Hole <H>” e entrar em outra sala, digite “h” e pressione Enter.

O comando "h" para entrar em um buraco no CaveMUSH.

Você entra na Caverna Nexus (# 3), que é o centro básico de todo o MUSH.

A partir daqui, você está livre para explorar o MUSH, conversar com outras pessoas (digite WHOpara ver uma lista de jogadores conectados) e use as saídas para explorar o que outras pessoas construíram. Não se esqueça de usar o pubcomando para dizer “Olá” para RedWolf no Canal Público.

CaveMUSH tem jogadores de todo o mundo. Embora nem todos estejam ativos ao mesmo tempo, eles tendem a permanecer conectados 24 horas por dia, se possível. Dessa forma, eles podem acompanhar as mensagens que podem ter perdido.

A seguir estão alguns outros comandos básicos que você pode usar:

  • Digite ipara ver seu inventário.
  • Digite  get [object] para retirar um item em sua localização se não estiver bloqueado.
  • Digite  drop [object] para soltar um item em sua localização se não estiver bloqueado.

Folha de referências gerais do comando MUSH

Não podemos cobrir todos os comandos MUSH aqui, mas compilamos uma lista de alguns dos mais importantes. Novamente, para enviar qualquer um dos comandos abaixo, basta digitá-los e pressionar Enter:

  • Veja cores: @set me=ansi . Você só precisa fazer isso uma vez depois de criar seu personagem.
  • Acesse o menu Ajuda: help ou help [subject]. Você pode solicitar ajuda em praticamente qualquer comando ou tópico.
  • Olhe ao seu redor: look
  • Olhe para um objeto ou jogador específico: look [object]
  • Pegue um objeto desbloqueado: get [object]
  • Solte um objeto desbloqueado: drop [object]
  • Veja o que você está carregando: i ouinventory
  • Veja uma lista de jogadores online: WHO
  • Fale com as pessoas na mesma sala: say ou aspas duplas ( "), seguidas do que você deseja dizer.
  • Envie uma mensagem privada para outro jogador: page [player]=[message]
  • Teleport casa, se você ficar preso: home . (No CaveMUSH, você também pode digitar @homepara se teletransportar de volta para a sala do hub principal, o Nexus.)
  • Teleport para uma sala específica ou objeto: @tel [number] . O destino deve pertencer a você ou definido como JUMP_OK.
  • Defina sua descrição jogador: @desc me=[description] . Isso é o que os outros veem quando estão lookem você.
  • Viajar pelas saídas: você pode digitar o nome completo da saída ou seu atalho (localizado após seu nome) entre os colchetes ( < >).
  • Desconectar: digite QUITpara sair normalmente do MUSH.

Algumas dicas de construção MUSH

O comando "@dig" no CaveMUSH.

Cada objeto, sala, jogador ou saída em um MUSH tem um número de referência de banco de dados exclusivo chamado “dbref”. Isso permite que você faça referência a qualquer um deles de qualquer lugar no MUSH – mesmo se você não estiver na mesma sala. Após o nome de qualquer objeto que você possui, você verá seu número.

Recomendado:  Altere o nome do seu computador no Windows 7, 8 ou 10

Use essas informações quando for hora de construir. Cada sala ou objeto que você constrói custa 10 joias da moeda do jogo e as saídas custam um. Os custos foram feitos para conter a construção excessiva. Nos anos 90, a memória do computador era limitada e os MUSHes realmente sobrecarregavam suas máquinas host. Agora, se precisar de mais dinheiro para construir, é só pedir no Canal Público.

Novamente, um guia completo para a construção de um MUSH está além do escopo deste artigo básico. Lembre-se de que você também pode digitar  help [subject] uma explicação mais detalhada de como cada um desses comandos funciona.

Digite qualquer um dos seguintes comandos básicos e pressione Enter:

  • Criar um objeto: @create [object name] . Cada objeto custa 10 joias para ser construído.
  • Criar uma sala: @dig [room name] . Anote o número do quarto (dbref) que o MUSH fornece para que você possa ir até lá. Inicialmente, ele será desvinculado e flutuará no meio do nada. Cada quarto custa 10 joias.
  • Visite uma sala que você acabou de criar:, @tel [room number] usando o número que você anotou depois de construí-la.
  • Descreva um quarto: @desc here=[description] . No CaveMUSH, usamos  @ldesc here=[description] , que corresponde à nossa formatação de sala personalizada.
  • Abra uma saída de ida para um quarto de sua posição atual: @open Exit Name <EN>;en=[room number] . Você deve ser o proprietário da sala para a qual está saindo ou a sala deve ser definida como LINK_OK. As saídas são um pouco complexas, então digite help @openpara obter mais detalhes sobre como funcionam.
  • Defina a descrição de um objeto: @desc [object]=[description] . Isso é o que os jogadores veem quando estão lookem seu objeto.
  • Saiba mais sobre bandeiras: help flags . Eles controlam como os jogadores interagem com objetos, salas, saídas e entre si.
  • Set bandeiras: @set . Digite help @setpara obter mais informações sobre isso.
  • Saiba como bloquear objetos e saídas: help locks . Isso evita que as pessoas pegem objetos ou usem saídas se você não quiser.

Uma palavra sobre a programação MUSH

Um exemplo de MUSHcode.

A programação em um MUSH é opcional. Muitas pessoas o evitam, e com razão. A programação MUSHcode moderna lembra um pouco o LISP na sintaxe. Pessoas familiarizadas com linguagens de programação como C ou JavaScript geralmente acham o MUSHcode obtuso para trabalhar. Pode ser difícil de aprender e enlouquecedor de ler, mas se adapta bem ao ambiente de tempo real depois que você se acostuma.

MUSHcode usa funções aninhadas para avaliar listas. Os jogadores normalmente armazenam o código em atributos personalizados em objetos e usam comandos personalizados para acioná-lo. O código também pode ser incorporado em descrições para gerar resultados dinâmicos quando os jogadores olham para os objetos.

Para que você possa ver como é, a seguinte linha curta de código usa funções para gerar uma lista de todos os objetos na sala atual e exibe seus nomes. O @emitcomando avalia e mostra os resultados para todos na sala.

Se parece com isso:

@emit [iter ([lcon (aqui)], [name (##)]% r)]

Se você estiver interessado em aprender mais sobre a programação, o tipo help functions, help user commandse help &.

Para ver um exemplo maior de como o MUSHcode se parece em um programa funcional, basta digitar examine #9802quando você estiver logado no CaveMUSH. Você verá o código de um objeto que permite um jogo de damas para dois jogadores.

Mais MUSHes estão por aí

Mud Connector atualmente lista quase 100 MUSHes online e prontos para exploração. Cada lista tem um link, para que você possa se conectar e jogar pelo navegador, assim como fez acima. A maioria dos comandos que você aprendeu aqui funcionará em outros MUSHes.

No entanto, ao visitar outros servidores, tenha em mente que cada sistema é um playground operado de forma independente com sua própria cultura e costumes. Você está lá por capricho dos assistentes (administradores) que o executam. Portanto, até você se estabelecer, considere-se um turista em um país estrangeiro – dê um passo leve e sempre seja gentil com os habitantes locais.

Feliz MUSHing!