Jogo baseado em texto usando JavaScript e / ou PHP

7

Eu gostaria de fazer um jogo simples baseado em texto usando JavaScript ou PHP. Idealmente, eu gostaria de poder renderizar texto ASCII em uma espécie de estilo "console" em tela preta (pense em roguelikes de console como Crawl ou Nethack ou jogos antigos de aventura de texto da Infocom). O jogo seria simples, principalmente entrada de texto e opções de menu.

Isso é feito facilmente usando JS ou PHP; se sim, você poderia me dar algumas dicas e, se não, o que eu poderia usar para ter esse tipo de jogo rodando em um navegador e não em um executável?

Persépolis
fonte
Não use estruturas sofisticadas apenas por isso. Além disso, dê uma olhada nisto para um console javascript pronto: openexchangerates.github.io/javascript-sandbox-console Pode haver outros, como eu me lembro de usar um diferente, mas esse foi o que encontrei com uma pesquisa rápida .
método do lugar das raízes

Respostas:

10

Você pode criar o jogo inteiro em JavaScript, com certeza. Esteja ciente de que o código-fonte ficará visível para o usuário. Portanto, se você está preocupado com trapaças (provavelmente um problema não se for apenas um jogo para um jogador), você deve ter sua lógica de jogo no servidor.

JavaScript e PHP definitivamente vão funcionar.

Se eu estivesse criando esse jogo, faria o seguinte:

  • Use uma estrutura JavaScript robusta como jQuery ou Mootools para o cliente.
  • Escreva a lógica do jogo em PHP. Pode ser um PHP simples, mas um framework como Zend , Saphire ou Symfony pode acelerar o desenvolvimento de projetos complexos um pouco.
  • Tente ter suas missões e itens do jogo em arquivos de dados ou em um banco de dados para facilitar as atualizações no seu mundo do jogo. Evite ter seus dados em seu código.
  • Comece com solicitações de página simples para teste e, em seguida, vá para AJAX (solicitações assíncronas) para uma melhor experiência do usuário.
  • Sempre comece com o método de entrada mais simples possível. Um campo de formulário e um botão de envio devem ser suficientes para começar a enviar alguma entrada do usuário para o servidor. Você pode implementar métodos mais sofisticados em seu cliente assim que a comunicação básica funcionar.
  • Não confie na entrada do usuário! Sempre valide / desinfete dados provenientes do cliente.
bummzack
fonte
2

Além da resposta de Bummzack, que é muito bem desenvolvida, eu daria um conselho.

Antes de começar a animar, verifique se o seu PHP é sólido. Uma boa maneira de testar é ter vários botões na página para suas várias ações e usá-los com uma simples chamada POST.

Se você pode definir sua lógica de processamento do jogo, animar deve ser um simples passo à frente. Porém, depurar solicitações AJAX certamente pode ser uma dor de cabeça se você não for cuidadoso.

te
fonte
1

Isso é muito possível em javascript, você também pode carregar a fonte do console preferida de um arquivo .ttfou .otf.

Moritz Laass
fonte
0

Sim, deve ser bem fácil de fazer em HTML / JavaScript. Pegue um bloco pré e modele-o como achar melhor. Para entrada, você provavelmente deve abandonar os campos de entrada de texto e apenas usar os eventos principais.

aaaaaaaaaaaa
fonte