Estou interessado em criar um jogo que atualmente tenha uma experiência cooperativa, no entanto, estou curioso para saber o melhor método de implementar isso no HTML5.
Eu fiz jogos antes de usar soquetes C retos e também com a biblioteca Net para SDL.
Quais são algumas das minhas melhores opções para fazer isso em um ambiente baseado em tela?
No momento, tudo o que posso apresentar são soluções AJAX / banco de dados (com uma alta taxa de atualização) ou, de alguma forma, implementar um servidor PHP que canalize os dados através de soquetes.
A jogabilidade geral seria do tipo jogo de plataforma 2.5D, de modo que os dois clientes precisariam ser atualizados continuamente com as posições dos jogadores, posições inimigas, projéteis, dados ambientais, etc.
Respostas:
O Socket.IO oferece um sistema construído sobre várias outras camadas (incluindo websockets, flash, técnicas de cometa) com uma seleção elegante.
O Node.js é uma opção para executá-lo no lado do servidor.
fonte
Veja esta resposta :
fonte
" Cometa " é provavelmente um termo genérico que você poderia usar aqui. No entanto, os WebSockets serão uma opção mais desejável (quando ficarem satisfeitos que seja seguro).
fonte
Node.js é a resposta. Eu o usei para desenvolver um jogo de tiro multiplayer em tempo real e levou cerca de 1 mês do início ao fim. Ele apresentou alguns desafios únicos, de modo que precisava ter latência mínima, e todos os jogadores devem permanecer sincronizados dentro de outro para que o conceito funcione.
O lado do cliente e o servidor são escritos em javascript e compartilham classes / lógicas entre si. Isso começa a contar ao tentar corrigir bugs, pois você não precisa implementar tudo duas vezes.
O jogo terminou, por cerca de 2 meses, sem ser reiniciado e milhares de partidas foram disputadas.
O Socket.io é uma implementação de sockets e usa o node.js, no entanto, neste momento, é muito inchado para um jogo. Existem outras implementações de websocket no github para node.js e também exemplos de jogos usando-o.
fonte
Você sempre pode usar o AJAX e algum tipo de fila de mensagens. O ActiveMQ é um bom exemplo. Você executa o ActiveMQ no servidor, e seu JavaScript pode enviar e receber mensagens. Apenas faça com que cada jogador tenha um nome único e envie mensagens para o outro jogador.
fonte
Você pode tentar usar o http://easywebsocket.org/ , é fácil de implementar e é uma solução sem servidor baseada no websocket :)
fonte
Atualmente, estou usando o seguinte: http://code.google.com/p/phpwebsocket/ como meu servidor de soquete para testar. Faz chamadas para os soquetes C que você está acostumado. Pode ser de algum serviço.
fonte
Trabalhamos em uma plataforma multijogador que você pode achar interessante. Você pode ver nosso projeto em www.16cubes.com - estamos fornecendo uma camada javascript simples para fazer comunicação ponto a ponto. É um pouco baseado no princípio do cometa, e temos planos de passar a usar websockets à medida que se torna um pouco mais padronizado. Por outro lado, estamos fornecendo alguns recursos disponíveis, como correspondência automática de oponentes, bate-papo no jogo, convite com um clique para amigos do Facebook etc.
Temos uma demo tic-tac-toe, você provavelmente pode ter uma idéia melhor se a vir. E sim, você pode jogar anonimamente também. Não é necessário registro, se você não quiser. Há menos de 10 APIs javascript que você precisa codificar e está disponível em www.16cubes.com/documentation
Estamos buscando ativamente feedback, por isso avise-nos bons e maus
fonte
Dê uma olhada nesta estrutura que eu criei especificamente para criar jogos html5 multiplayer em tempo real usando o node.js em uma abordagem cliente / servidor. Onde o servidor executa a simulação do jogo e os jogadores apenas enviam entradas.
demo: http://vimeo.com/24149718
repo: https://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs
fonte