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!
7
You should only ask practical, answerable questions based on actual problems that you face
Respostas:
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.
fonte
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
fonte