Estou lendo sobre a arquitetura de jogos multiplayer.
Até agora, a maioria dos artigos que encontrei lidam com o modelo cliente-servidor.
Gostaria de saber quais são as limitações para usar uma arquitetura p2p? que "classe" de jogos é possível (ou mais comum) implementar usando-a? quais não são? e, em geral, quais são suas principais diferenças e limitações em relação ao modelo cliente-servidor.
software-engineering
networking
multiplayer
online
spaceOwl
fonte
fonte
Respostas:
Aqui estão meus dois centavos:
P2P :
Servidor-Cliente :
Eu consideraria o P2P uma boa opção, porque a conexão média à Internet está ficando cada vez melhor; no futuro, a latência do P2P pode não ser um problema. Também muito do P2P depende da implementação específica.
Existem também algumas arquiteturas que combinam P2P com servidor-cliente.
fonte
Um grande risco de jogos ponto a ponto é que, sem uma autoridade central na forma de um servidor neutro, não há como evitar trapaças. Cada cliente pode interpretar o resultado do jogo como quiser. Alguns jogos declaram que um dos clientes é o host e o julgam, mas quando esse cliente é um trapaceiro, eles decidem o resultado de todo o jogo.
Em jogos que exigem baixa latência e alta largura de banda, como qualquer jogo que exige uma reação rápida dos jogadores, você também tem o problema de o host estar apenas usando uma conexão de Internet de nível consumidor, não sentado em um datacenter com um backbone de alto desempenho conexão. Isso significa que a experiência do usuário sofrerá. Isso não é um grande problema em jogos mais "estratégicos" e mais lentos.
fonte
A implementação de jogos multiplayer ponto a ponto não é fácil e não é aplicável no momento.
O problema é que nenhum dos pares conhece todos os outros para que você tenha vários saltos para cada mensagem, o que resulta em uma latência mais alta em comparação com um modelo de servidor cliente. Consulte este documento para obter detalhes adicionais.
Os jogos baseados em rodadas podem facilmente usar esse protocolo, pois não dependem muito da latência. Além disso, eles normalmente têm apenas alguns hosts em uma sessão, para que um possa transmitir todas as mensagens para todos os outros jogadores.
Outros jogos que usam ponto a ponto apenas escolhem um dos pares dinamicamente para hospedar o jogo (ou seja, CoD MW2), o que resulta em problemas como migração de host se o host se desconectar.
fonte