Pergunta

Eu costumava jogar um MUD baseado na Smaug Codebase . Foi altamente personalizado, mas era o mesmo no núcleo. Eu tenho o código fonte para este MUD, e estou interessado em escrever meu próprio (Apenas para um projeto divertido). Eu tenho algumas perguntas, porém, principalmente sobre aspectos do projeto. Talvez alguém pode me dar uma mão?

  1. Que língua devo usar? Interpretado ou compilado? Isso faz diferença? Smaug está escrito em C. Eu estou confortável com um monte de línguas, e não tenho nenhum problema aprender mais.
  2. Existe uma abordagem particular devo seguir para o desempenho não atrapalha? Orientada a Objetos, funcional, etc?
  3. O médio devo usar para armazenar dados? flat files (Isto é o que Smaug usa), ou algo como SQLite. Quais são os prós desempenho / contras de ambos?
  4. Existem guias que alguém sabe de sobre como começar um projeto como este?

Eu quero que ele escala para permitir que 50 jogadores online em um momento com nenhuma diminuição no desempenho. Se eu usei Ruby 1.8 (muito lento), faria uma diferença em relação ao uso Python 3.1 (Faster), ou compilado C / C ++?

Se alguém pode dar uma mão e dar alguma informação ou conselho, eu ficaria eternamente grato.

Foi útil?

Solução

Eu vou dar a este um tiro:

  1. Em 2009, para um jogo de 50 jogadores, não importa. Você pode querer escolher um idioma que você estiver familiarizado com o perfil de ferramentas para, se você quer crescer ainda mais, mas desde RAM é tão barato hoje em dia, as restrições de condução do início LPMUD (que eu tenho experiência com) e DikuMUD (que seu Smaug é derivado) não se aplicam. (LPMUD poderia lidar com ~ 10-15 jogadores em uma máquina com 8MB de RAM)
  2. O estilo de programação não necessariamente levar a dificuldades de desempenho, grandes sites como o da Amazon 'Óbidos Óbidos webserver são escritos em C, mas apenas como-grandes sites como o original lojas de Yahoo foram escritos em Lisp, StackOverflow é escrito em ASP.NET, etc. eu tinha / pessoalmente / usar C, mas muitas pessoas me chamaria um sadist.
  3. Flat arquivos são uma espécie de sentido nos dias de hoje e idade para os lotes de armazenamento de dados, há exceções de caso específico (grandes mailservers às vezes usam 'maildir', que está estruturada-arquivos simples, por exemplo). O tamanho de seu jogo provavelmente significa que você não vai estar executando em enorme lentidão impulsionado por dados atrasos de recuperação, mas a integridade dos dados em caso de-crash provavelmente vai fazer o argumento mais convincente.
  4. não sei de qualquer guia, mas o que eu faria é tentar obter o jogo começou como um servidor de bate-papo idiota de começar, certifique-se os usuários podem entrar e fazer alguma coisa (levar a sua entrada e despejá-lo a todos outros usuários), em seguida, construir que até permitindo logins específicos, então você vai começar a enfrentar o desafio de manipulação de nome de usuário / senha e configuração / armazenamento opção do utilizador / recuperação ... então começar a adicionar os elementos gamedriver (obter jogos tic tac toe trabalhando no jogo), em seguida, ir um pouco mais complexo (obter uma configuração de 5 assoalhadas trabalhar com objetos que você pode pegar / soltar / bash uns aos outros com), em seguida, adicionar alguns caracteres não-jogadores, e depois se preocupar com slurping na Diku derivada de smaug castelos / etc e trabalhar com eles. :)

Este é um pouco de improviso, eu tenho certeza que existem opiniões divergentes. :) Boa sorte!

Outras dicas

Este é um jogo baseado em texto, certo? Nesse caso, com o hardware atual, parece que tudo que você teria que se preocupar em não é acidentalmente criando um O (n ** 2) algoritmo. Mesmo que provavelmente não seria muito ruim com 50 usuários.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top