Estou mexendo em algum jogo simples de panfleto de caverna baseado em Canvas e gostaria de torná-lo multiplayer eventualmente. O plano é usar o Node.js no lado do servidor.
Os dados enviados consistem na posição de cada jogador, direção, velocidade e tal. Os movimentos dos jogadores são simples física de força, então eu devo poder extrapolar movimentos antes da próxima atualização do servidor.
Algumas dicas ou práticas recomendadas no lado das comunicações? Eu acho que os soquetes da web são o caminho a percorrer. Devo enviar informações a cada passo do ciclo do jogo ou com intervalos especificados? Além disso, não me importo se ele não funcionar com navegadores mais antigos.
fonte
Eu sugiro manter as coisas separadas.
No Stendhal, que é um MORPG 2D escrito em Java, fizemos o seguinte e funciona muito bem:
A comunicação entre cliente e servidor é feita usando ações e percepções:
Fizemos alguns "truques" para obter desempenho adicional:
fonte
Use socket.io , é uma útil biblioteca de abstração de WebSockets que fornece fallbacks para navegadores que não a suportam.
Além disso, se você optar por um modelo on-line como esse, eu recomendaria mover o processamento de jogos para o servidor. Dessa forma, você só precisa comunicar as alterações gráficas e a entrada do mouse / teclado. Também ajuda bastante para evitar trapaças.
fonte