Buscar

Resumo do seminário de programação paralela

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

RESUMO DO SEMINÁRIO A SER APRESENTADO 
 
 
JOGOS MULTIPLAYERS EM REDE 
 
 
 
 
IGOR KENDY SAKAGUCHI 
 
 
 
 
 
BIRIGUI-SP 
2022 
Na programação de jogos multiplayers online (multijogadores em rede) existem 
três entidades, PlayerServer, PlayerClient e PlayerProxy. Cada um tem uma função 
específica. 
• PlayerServer: é o objeto que representa os jogadores no servidor. 
• PlayerClient: é o objeto que é executado nas máquinas dos jogadores 
• PlayerProxy: é o objeto que representa os jogadores na tela dos adversários 
Então todas ações que vemos os outros jogadores na sua tela fazendo são versões 
proxies. Um exemplo utilizado por João Bergamo, é criar um item utilizável em um jogo, 
como uma “poção de vida”. Na versão de client pode ter apenas o código e suas regras de 
utilização, no entanto, na versão server, além de possuir o mesmo código e as regras, é 
importante que tenha uma parte adicional de segurança para confirmar se o item pode 
mesmo ser utilizado pelo jogador ou é uma tentativa de trapaça como hack. E na versão 
Proxy talvez não precise manter nenhum dos dois códigos, pois ele precisa apenas 
representar para os outros jogadores que aquele item foi utilizado. 
Existem servidores autoritários e semi-autoritários, os servidores autoritários 
executam e valida todas as ações dos jogadores, já os semi-autoritários algumas ações são 
executadas pelo servidor, outras pelo client. Apesar do servidor autoritário ser mais 
seguro, possui um custo maior. Um servidor semi-autoritário é mais utilizado porque além 
de ser mais barato, não são todas ações que precisam ser validadas. 
Há uma grande diferença entre jogos que são limitados por partida, como 
Overwatch, FIFA, Counter-Strike, League of Legends; e jogos massivos (MMOs), como 
World of Warcraft. 
O primeiro tipo é mais fácil de lidar, pois se utilizam instâncias de servidores 
diferentes para cada partida iniciada, e caso o servidor em que o jogo está hospedado não 
consiga suportar mais, é fácil utilizar uma segunda máquina com novas instâncias de 
partidas, e assim por diante. Assim, teoricamente, seria possível manter um número 
virtualmente infinito de partidas rodando ao mesmo tempo, sem problemas. 
Agora nos jogos MMOs é completamente diferente, pois é necessário utilizar 
várias técnicas e tecnologias de ponta para conseguir manter vários jogadores em uma 
mesma região do seu MMO. Manter 100 jogadores conectados em uma ou mais máquinas 
com várias instâncias de servidores diferentes é um problema muito diferente de manter 
1000 jogadores na mesma instância, que é o que geralmente faz um MMO. Nesse segundo 
caso, há uma grande necessidade de estudo, arquitetura e testes antes de começar a 
produção do jogo para ter certeza de que ele aguentará o número desejado de jogadores. 
O consumo de banda de internet também deve ser analisado na hora de produzir 
um jogo, pois é um recurso físico finito. Os MMOs, em geral, utilizam muita banda, 
porque eles precisam estar trocando informação o tempo todos, para que mantenha todos 
os jogadores sincronizados. 
Um dos problemas mais difíceis de lidar ao desenvolver um jogo multijogador 
em rede, é a latência, que é o tempo que a informação demora para ir do hardware do 
jogador até o servidor. Devido a isso, tudo que o jogador vê está atrasado em relação ao 
servidor, nem que seja questões de milissegundos, e mais atrasado se for pensar em 
relação ao proxy. Por causa disso existem servidores regionais, assim evitando latências 
ruim para quem joga na região. 
 
Referências 
https://imasters.com.br/redes-e-servidores/dificuldades-de-implementacao-de-um-jogo-
multiplayer-em-rede

Continue navegando