Erros comuns ao desenvolver um jogo com o Socket.io e o Node.js


7

Não sou desenvolvedor de jogos por profissão, mas estou trabalhando em um jogo de cartas (que é em tempo real, não baseado em turnos). Fiquei me perguntando quais são os erros comuns que as pessoas cometem quando novos neste tipo de desenvolvimento, para que eu possa evitá-los!


3
De um modo geral, esse tipo de pergunta não se sai tão bem. Do faq :You should only ask practical, answerable questions based on actual problems that you face
Tetrad

11
Um erro comum é tentar erros a evitar, não faça isso, em vez aprender com seus erros, sua base para o seu recurso mais precioso, a sua experiência
Maik Semder

Eu também acho que isso é um problema muito específico - o número de pessoas que concluíram jogos usando novas tecnologias como Socket.io e Node.js provavelmente estão numeradas entre 5 e 20 e duvido que estejam assistindo ao site.
Kylotan

11
@Kylotan, esse tipo de perguntas de nicho é realmente bom para o site. joelonsoftware.com/items/2010/04/19.html
Tetrad

11
Eu não estava sugerindo que essa era uma má combinação para este site (além da imprecisão e da subjetividade já mencionadas), mas mais ainda é muito cedo para perguntar um problema tão geral sobre algo que quase ninguém usa aqui. A publicação de Joel implica questões muito específicas sobre tecnologias gerais, enquanto este é (atualmente) um problema geral sobre tecnologias muito específicas. Não me importo com a questão de estar aqui, mas o OP encontrará ajuda mais útil em outro lugar neste momento.
Kylotan

Respostas:


8

Há um Google Techtalk com Rob Hawkes , criador do Rawkets , que fala sobre os problemas que ele teve ao criar seu jogo com Websockets e Node.js. Ele também apresenta algumas soluções muito lisas para os problemas que enfrentou.


É um pouco de alto nível, mas no geral parece bom. Eu apenas olhei através dele.
Davy8

8

O maior erro é simplesmente jogar os jogos no lado do cliente e permitir que eles comuniquem suas informações como as veem. Faça com que os clientes simplesmente comuniquem suas entradas e renderizem um modelo enviado do servidor em intervalos discretos. (Armazene esses modelos em uma matriz com um registro de data e hora do servidor e interpole entre dois registros de data e hora conhecidos para renderizar todos os atores em todos os quadros)

Eu criei uma estrutura especificamente para a criação de jogos multiplayer em tempo real HTML5, com base no modelo Cliente / Servidor. Nesse modelo, os jogadores enviam apenas entrada para o servidor (pressionando as teclas) - e o jogo ocorre no servidor.

O servidor envia instantâneos instantâneos do mundo para todos os clientes, e os clientes se informam, digamos, 75 ms no tempo atual, encontrando duas atualizações conhecidas no mundo em que o tempo de execução se situa.

Repositório (contém 3 demos) https://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs

Demonstração do Video Box2D em ação: http://vimeo.com/24149718

Slides do JSConf 2011: http://www.slideshare.net/MarioGonzalez15/realtime-html5-multiplayergameswithnodejs-7868336

Baseia-se nos documentos técnicos do Quakeworld e do mecanismo Source da Valve: http://fabiensanglard.net/quakeSource/index.php http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking


Muito agradável ! Vou mexer com isso um dia desses.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.