Arquivo do Fórum Nintendo Blast

Olá visitante/usuário! Nós estamos em processo de migração e deixaremos este Fórum em breve.

A migração é para termos mais liberdade e para podermos ter um Fórum melhor! Se você ainda não é cadastrado neste Fórum e nem no novo, clique aqui e cadastre-se já no Novo Fórum!

Se você já possui uma conta aqui, clique aqui e saiba como migrar para o Novo Fórum Nintendo Blast!
Arquivo do Fórum Nintendo Blast

    Destrinchando o método P2P usado pela Nintendo nos games

    Compartilhe
    avatar
    mendingo
    Membro Nv.23
    Membro Nv.23

    Karma Karma : 229
    Posts Posts : 257

    Destrinchando o método P2P usado pela Nintendo nos games

    Mensagem por mendingo em Sex 17 Jul 2015, 13:24

    MEGA POST baseado no sistema P2P usado em Splatoon, tirado do texto (http://gamedevelopment.tutsplus.com/tutorials/building-a-peer-to-peer-multiplayer-networked-game--gamedev-10074).

    Esse esquema é o utilizado atualmente


    Consiste em que você (cliente) ao jogar se comunica diretamente aos servidores dedicados (server). Quando você aperta um botão ou faz uma determinada ação, a resposta vai ao servidor, ele verifica se está ok e reenvia a informação para você atualizando no jogo. Ou seja, a latência é quase que nula, pois todos se comunicam de forma padrão.

    LEMBRETE: Diferente do método P2P, servidor dedicado além de suportar uma quantidade maior de jogadores, a comunicação não tem restrição de número de jogadores.


    Esse é o esquema P2P, em que não há um servidor (server) dedicado que comanda as ações ou um servidor que você terá que enviar as informações. Você se comunicará exclusivamente com um outro joador "cliente" (se um estiver com a internet ruim... bau bau), então as respostas no jogo (andar, apertar o botão, correr) dependerá do envio-reposta entre você e o outro jogador.

    LEMBRETE: Sistema P2P só funciona somente em 2 computadores, ou seja, somente 2 comunicações por vez.

    Para entender melhor como funciona esse esquema em Splatoon, vejamos uma figura abaixo:

    O Player B faz uma ação (joga tinta) o player A é atinjido pela tinta, logo o player B recebe a resposta do player A que foi atinjido pela tinta.

    No caso do player A é a mesma situação só que o inverso, como ele foi atinjido pela tinta do player B, ele envia a resposta ao Player B de que foi atinjido. Como os dois estão se comunicando a resposta será quase que imediata (considerando a latência - ping entre os jogadores).


    • Mas afinal, como que diabos esse sistema funciona no Splatoon se somente P2P só se comunica 2 clientes em uma sessão???


    No caso de Splatoon são 8 jogadores por partida, então se o sistema P2P se comunica somente entre 2 clientes, logo, serão dividos em 2 times que se enfrentarão com a mesma latência (ping), ou seja, 4 VS 4 tendo a mesma latência.





    Então nesse caso dá a impressão do jogo ter uma comunicação dedicada (server), porém, todos se comunicam (apesar de ser um sistema P2P), isso é chamado de "sistema transparente" ao jogador, porque, para o jogador não importa como funciona esse esquema, ele quer se conectar e jogar como se estivesse jogando "localmente".

    Em teoria, era para ser um sistema "perfeito", sem latências, mas, o maior problema desse método é principalmente "financeiro", mas, porque financeiro??? Porque o método p2p é free e utiliza da banda de internet entre os jogadores, se caso fosse um servidor dedicado (server) os custos de mantuenção são elevados e a necessidade de uma manutenção mensa é eminente.


    • Então como se baseia o game no sistema P2P???


    É construído algoritmos baseados na conexão do jogador, no caso de splatoon, por exemplo, o algoritmo "atirar tinta", "tempo de resposta" e "morte" são baseados na conexão, latência no momento da jogatina. Como é explicado na figura abaixo:



    Na parte A da figura é construído um algoritmo em que imput = entrada, botão / shoot = disparo ---> bala
    Na parte B é a junção da parte A, é costruído um algoritmo em que imput + conexão será o tiro, bala

    Nesse caso o algoritmo usado é para disparar a bala, então, quando você dispara a bala, automaticamente recebe a resposta (envio e resposta), então geralmente é usado o mesmo algoritmo tanto para você como para o outro jogador (a fim de evitar ecos na transmissão).

    Depois de criar esse algoritmo, é necessário criar um outro algoritmo para simular, ou seja, dar a impressão de que o tiro foi realmente dado e que você viu a bala atinjindo o outro jogador. Geralmente é criado para tirar a "olho nú" a latência, ou os lags nas partidas. Porém, é quase que impossível essa simulação em sistemas P2P com latências altíssimas.
    avatar
    Felipe_Vieir4
    Special Blast
    Special Blast

    Karma Karma : 1799
    Posts Posts : 4209

    Re: Destrinchando o método P2P usado pela Nintendo nos games

    Mensagem por Felipe_Vieir4 em Sex 17 Jul 2015, 16:02

    Ahhh... Por isso que jogando com chineses Splatoon fica com tanto lag malditos chineses
    avatar
    kulumon
    Membro Nv.16
    Membro Nv.16

    Karma Karma : 53
    Posts Posts : 183

    Re: Destrinchando o método P2P usado pela Nintendo nos games

    Mensagem por kulumon em Ter 21 Jul 2015, 10:25

    Para resolverem o problema de lag que a gente enfrenta ao jogar com vários orientais ao mesmo tempo, basta a Nintendo fazer o que fez com Mario Kart, dividir por regiões, melhor coisa e aproveitar e fazerem a mesma coisa com Smash Bros que não jogo online por causa do lag. Quem nunca morreu para o vento aqui?
    avatar
    Aerokaiser
    Membro Nv.19
    Membro Nv.19

    Karma Karma : 214
    Posts Posts : 212

    Re: Destrinchando o método P2P usado pela Nintendo nos games

    Mensagem por Aerokaiser em Ter 21 Jul 2015, 13:55

    Wow. Parabéns, isso foi uma conquista e tanto. Você conseguiu pegar um post extremamente informativo e interessante e encheu ele de besteira e informações falsas.

    Me diz como diabos você coloca uma imagem mostrando 4 computadores se conectando entre si e logo abaixo dela você diz que P2P consegue conectar apenas duas máquinas de cada vez???? De onde você tirou isso?

    Pra que você faz um post tentando explicar algo extremamente complexo como multiplayer P2P sem ter absolutamente nenhum conhecimento técnico? É a necessidade de se mostrar esperto e inteligente? Dá certo até vir alguém que manja do assunto ler dois parágrafos e perceber que você só falou caquinha.
    avatar
    mendingo
    Membro Nv.23
    Membro Nv.23

    Karma Karma : 229
    Posts Posts : 257

    Re: Destrinchando o método P2P usado pela Nintendo nos games

    Mensagem por mendingo em Ter 21 Jul 2015, 20:18

    @Aerokaiser escreveu:Wow. Parabéns, isso foi uma conquista e tanto. Você conseguiu pegar um post extremamente informativo e interessante e encheu ele de besteira e informações falsas.

    Me diz como diabos você coloca uma imagem mostrando 4 computadores se conectando entre si e logo abaixo dela você diz que P2P consegue conectar apenas duas máquinas de cada vez???? De onde você tirou isso?

    Pra que você faz um post tentando explicar algo extremamente complexo como multiplayer P2P sem ter absolutamente nenhum conhecimento técnico? É a necessidade de se mostrar esperto e inteligente? Dá certo até vir alguém que manja do assunto ler dois parágrafos e perceber que você só falou caquinha.

    Bom se você pegar o termo P2P verá o conceito dele, só para te explicar melhor, a imagem que mostram 4 computadores se refere a 2 computadores com o sistema P2P se conectando, visto que eles estão na internet eles se comunicarão, logo, se conectarão a mais outros 2 computadores, e assim por diante.

    Um ponto que eu acho que você não leu é o que significa P2P ( peer-to-peer), traduzindo, PONTO A PONTO, portanto a conexão é feita enre dois computadores

    Segundo a Wikipedia

    A rede Overlay P2P consiste em todos os pares da rede funcionem como um nó da rede. Existe uma ligação entre dois nós que se conhecem na rede. Isto é, um nó participante conhece a localização de outro nó da rede P2P. Então existe uma aresta que liga um primeiro nó existente ao segundo na rede sobreposta. Com base de como os nós estão conectados na rede, podemos classificar a rede P2P como Estruturada ou não Estruturada.


    Outro ponto, ISSO SE CHAMA FÓRUM, portanto, tenho a devida liberdade (lógico sem ofender) em postar assuntos que DÃO CONHECIMENTOS AOS DEMAIS. Isso se você sabe do assunto, me mostre aqui no POST QUAIS OS ERROS QUE O TEXTO POSSUI E PODEMOS DISCUTIR DE FORMA RACIONAL E INTERESSANTE.

    Estudo Sistema de Informação e gosto de contribuir com os conhecimentos que estou adquirindo no curso, ví esse texto na internet e coloquei aqui para se ter uma DISCUSSÃO ACERCA DISSO, EM NENHUM MOMENTO DISSE QUE ERA VERDADE ABSOLUTA. Se eu estiver errado, simples, poste a SUA OPNIÃO BASEADA E IREMOS DISCUTIR NORMALMENTE.
    avatar
    Aerokaiser
    Membro Nv.19
    Membro Nv.19

    Karma Karma : 214
    Posts Posts : 212

    Re: Destrinchando o método P2P usado pela Nintendo nos games

    Mensagem por Aerokaiser em Qua 22 Jul 2015, 12:10

    Em qual período de SI você está? Já chegou a estudar redes e aprender que um computador pode fazer várias conexões ponto-a-ponto simultâneas e processá-las em paralelo?

    O problema é que, por mais que isso seja um fórum de discussão, você está simplesmente ERRADO. Tudo o que você falou sobre P2P e sobre o netcode de Splatoon é FALSO, baseado em uma interpretação ERRÔNEA de um post teórico sobre um algoritmo experimental de netcoding. Como você pode ver nesses links:
    http://gamedev.stackexchange.com/questions/3887/how-can-i-make-a-peer-to-peer-multiplayer-game
    http://gafferongames.com/networking-for-game-programmers/what-every-programmer-needs-to-know-about-game-networking/

    Um netcode funcionando totalmente em P2P, onde cada cliente é responsável por validar o seu próprio estado apenas tomando os estados dos outros clientes como parâmetros, é extremamente complexo de ser feito e impraticável pois seria vulnerável a alterações externas. Por conta disso, os servidores que rodam no sistema P2P na verdade rodam uma versão modificada do sistema cliente-servidor.

    Assim que o matchmaking é realizado e os oito jogadores são escolhidos, um deles (normalmente o que tem a melhor conexão) é selecionado para ser o "host" da partida. Ele funcionará como um servidor, sendo responsável por receber, processar e redistribuir toda a informação recebida para as outras máquinas. Essencialmente um cliente-servidor, com a diferença que o servidor não é uma máquina hospedada pela Nintendo, e sim escolhido entre os jogadores assim que a partida começa.

    O problema é que, além de ser um servidor, o jogador escolhido também é um cliente - isso significa que, para transmitir os dados, ele precisa do retorno de todos os clientes conectados a ele. O que denota um dos maiores problemas de jogos P2P - a conexão é tão rápida quanto o computador mais lerdo. Se um jogador estiver com lag, todo mundo vai lagar simultaneamente.
    avatar
    mendingo
    Membro Nv.23
    Membro Nv.23

    Karma Karma : 229
    Posts Posts : 257

    Re: Destrinchando o método P2P usado pela Nintendo nos games

    Mensagem por mendingo em Qua 22 Jul 2015, 12:24

    @Aerokaiser escreveu:Em qual período de SI você está? Já chegou a estudar redes e aprender que um computador pode fazer várias conexões ponto-a-ponto simultâneas e processá-las em paralelo?

    O problema é que, por mais que isso seja um fórum de discussão, você está simplesmente ERRADO. Tudo o que você falou sobre P2P e sobre o netcode de Splatoon é FALSO, baseado em uma interpretação ERRÔNEA de um post teórico sobre um algoritmo experimental de netcoding. Como você pode ver nesses links:
    http://gamedev.stackexchange.com/questions/3887/how-can-i-make-a-peer-to-peer-multiplayer-game
    http://gafferongames.com/networking-for-game-programmers/what-every-programmer-needs-to-know-about-game-networking/

    Um netcode funcionando totalmente em P2P, onde cada cliente é responsável por validar o seu próprio estado apenas tomando os estados dos outros clientes como parâmetros, é extremamente complexo de ser feito e impraticável pois seria vulnerável a alterações externas. Por conta disso, os servidores que rodam no sistema P2P na verdade rodam uma versão modificada do sistema cliente-servidor.

    Assim que o matchmaking é realizado e os oito jogadores são escolhidos, um deles (normalmente o que tem a melhor conexão) é selecionado para ser o "host" da partida. Ele funcionará como um servidor, sendo responsável por receber, processar e redistribuir toda a informação recebida para as outras máquinas. Essencialmente um cliente-servidor, com a diferença que o servidor não é uma máquina hospedada pela Nintendo, e sim escolhido entre os jogadores assim que a partida começa.

    O problema é que, além de ser um servidor, o jogador escolhido também é um cliente - isso significa que, para transmitir os dados, ele precisa do retorno de todos os clientes conectados a ele. O que denota um dos maiores problemas de jogos P2P - a conexão é tão rápida quanto o computador mais lerdo. Se um jogador estiver com lag, todo mundo vai lagar simultaneamente.

    Mas como estava conversando com um colega em um outro fórum se fosse host-client ou cliente-servidor "teoricamente" os brasileiros e americanos praticamente iriam se enfrentar e consequentemente teríamos uma partida com menos lags. Em Splatoon vemos que a maioria das partidas são mistas (tantos japoneses como americanos) e se um japonês fosse host automaticamente todos os americanos sofreriram e muito com a latência, ficaria praticamente injogável.

    É interessante notar que em Splatoon, mesmo jogando com japoneses, pouco se nota os lags. Inclusive tem partida em que só tem você como americano e o resto é japones, mesmo assim você consegue jogar normalmente com um lag quase que imperceptível.
    avatar
    honorati
    Membro Nv.16
    Membro Nv.16

    Karma Karma : 66
    Posts Posts : 184

    Re: Destrinchando o método P2P usado pela Nintendo nos games

    Mensagem por honorati em Ter 28 Jul 2015, 16:55

    Também sou estudante de SI e não sei qual a necessidade da seus posts, provar que os outros estão errados ou mostrar que você é o certo? Nem tudo que eu li ali eu concordei, mas não me senti no direito de refutar todas as informações, afinal de contas, é impossível provar que um sistema/qualquer coisa funcione, uma vez que teriamos que testar todas as possibilidades (que podem ser infinitas), mas para provar que não funciona basta achar um erro.

    O que importa é: tem funcionado!

    Gostaria de ver sua explicação acadêmica sobre o assunto, se possível!

    Conteúdo patrocinado

    Re: Destrinchando o método P2P usado pela Nintendo nos games

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Seg 18 Dez 2017, 10:35