Eu gostaria de criar uma implementação online de um jogo de tabuleiro. Quais mecanismos eu poderia usar para escrever o jogo e torná-lo facilmente acessível ao maior número de pessoas possível?
Gostaria que fosse o mais acessível possível, por isso seria melhor se a interface do usuário fosse executada em um navegador, não em um aplicativo baixado separadamente. Da mesma forma, deve ser multiplataforma, não limitado a uma única plataforma; JavaScript / HTML puro seria o melhor, pois isso também seria útil no iPad, embora Flash ou Java possam ser aceitáveis. O Silverlight não tem penetração no mercado (não tenho instalado, por exemplo) e o XNA é muito limitado.
Outros recursos que seriam bons seriam bons recursos de bate-papo e sociais (ou integração com outros sistemas de bate-papo ou redes sociais), sistemas de tabelas de líderes ou torneios e fácil integração de bots para fornecer oponentes de IA, caso não haja jogadores humanos suficientes por perto. Temporizadores de jogo, para manter as pessoas em movimento a uma taxa razoável, também seriam bons. Salvar registros de jogos e permitir que as pessoas repitam e revisem registros para estudo também seria bom, embora eu não esteja esperando muito, pois esses tipos de recursos tendem a aparecer apenas em mecanismos criados especificamente para jogos como xadrez ou Go.
Ser um software livre / de código aberto seria uma grande vantagem, então eu mesmo poderia estendê-lo, embora as soluções fechadas ou hospedadas possam ser aceitáveis se fornecerem os recursos acima, ou fornecerem alguns meios para estendê-los.
Existem sistemas desse tipo que atendem às minhas necessidades? Ou algum que esteja próximo, mesmo que não seja exatamente o mesmo?
Alguns sistemas semelhantes, que não atendem exatamente às minhas necessidades, incluem:
- Yahoo Games , que é baseado na Web, mas não posso escrever meus próprios jogos para ele (ou qualquer um dos muitos servidores semelhantes nessa categoria).
- Volity , que é construído em SVG e XMPP. É de código aberto, projetado para ser um padrão aberto, tem suporte para bots, etc., mas requer um download separado do cliente e parece não ser mais desenvolvido ou usado ativamente.
- SuperDuperGames , um sistema on-line de código aberto para a execução de jogos baseados em turnos (estilo de reprodução por e-mail). Ou seja, não é ao vivo ou em tempo real, mas você envia as suas jogadas e espera que alguém as envie, dentro dos próximos dias. É uma comunidade ativa, mas quero algo em que possa jogar ao vivo, não ao longo de semanas ou meses.
fonte
Respostas:
Eu sinceramente duvido que esse mecanismo de jogo exista. A IA, por exemplo, é muito específica do domínio e você provavelmente não encontrará um mecanismo que forneça a AI necessária imediatamente.
Além disso: o interesse em JavaScript por desenvolvedores de jogos começou a aumentar com o HTML5 e a plataforma iOS. Não espere encontrar nenhum mecanismo de jogo maduro implementado em JavaScript ainda. Se você deseja seguir a rota do JavaScript, sua melhor aposta provavelmente seria implementar a maior parte do lado do servidor da lógica do jogo e programar um thin client em JavaScript.
Como já mencionado, os jogos online também exigem um modelo cliente-servidor na maioria dos casos. Isso torna ainda mais difícil encontrar um mecanismo (um que cubra os softwares cliente e servidor). Minha experiência com os mecanismos de jogo é que eles geralmente cobrem muito bem o lado do cliente, mas você terá que implementar a maioria das coisas do lado do servidor. É claro que você encontrará softwares / scripts para tabelas de classificação ou armazenamento de dados on-line, mas eles geralmente não fazem parte de um mecanismo de jogo.
fonte
Vassal é um mecanismo Java de código aberto, acredito. Pode não ser muito difícil portar para JS / HTML5.
Aves é lançado pela Dextrose, mas que acabou de ser adquirido pela Zynga, então eu não conheço nenhuma disponibilidade para isso.
fonte
Eu desenvolvi e patrocinei (a versão de jogo em flash da venda) um jogo de tabuleiro on-line que fiz em 5 dias. Chama-se Quintarow Online.
Meu método era usar a ferramenta de desenvolvimento chamada Multimedia Fusion 2, que permite criar protótipos de idéias com muita rapidez. Um mecanismo de trabalho do Quintarow Online foi desenvolvido em cerca de três horas. O software possui uma extensão que implementa o maravilhoso Protocolo de Rede Lacewing e o servidor foi algo que eu escrevi em Python usando a implementação do Lacewing-Python [pyLacewing. Foi tudo uma experiência muito indolor.
Foi assim que eu fiz, você pode achar o software muito caro ou não
fonte