Tutorial Multiplayer 3: pong

1

Index

Taggé

Statistiques

10,897 visites, 19,016 vues

Outils

Partager

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 13 Aug, 2015. Last updated 25 Feb, 2019

Grupo Common

O grupo Common tem eventos que são usados tanto para o "host" quanto para clientes.

Quando clientes se conectam e desconectam, nós adicionamos um log assim como no tutorial do chat.

Independentemente de se somos o "host" ou o cliente, nós sempre mostraremos nosso próprio "paddle" pelo nosso próprio mouse.

Sync object não transmite em qual camada (layer) os objetos estão, para economizar largura de banda. Isso nunca muda neste jogo de qualquer maneira, mas este evento garante que eles sempre apareçam na camada correta.

O "host" e o cliente atualizam suas variáveis *GameState" de forma diferente, mas podemos fazer com o mesmo com seu conteúdo: se estamos no estado "getready" ou "go", mostramos algum texto no visor do placar.

Finalmente, quando o jogo está em estado de "started", exibimos a pontuação nas variáveis points de cada "paddle". Ambos os jogadores veem a pontuação do "host" à esquerda e a pontuação do cliente à direita, correspondente à posição dos "paddles". O "paddle" do "host" pode ser selecionado se seu "peerid" corresponder à ID do "host", e a "paddle" do cliente pode ser escolhido verificando se seu "peerid" não é o ID do "host".

Conclusão

O modelo geral de um jogo multiplayer em tempo real é:

- O "host" tem comportamentos habilitados e realmente executa a lógica do jogo.

- Clientes têm comportamentos desativados e apenas usa "sync object" para assistir passivamente o que acontece. No entanto, eles podem influenciar o jogo através de seus valores de entrada, que o host lê e usa para influenciar a jogabilidade.

Pong é um exemplo simples, mas ainda assim envolveu 40 eventos. Este exemplo também não cobriu previsão de entrada local ou compensação de lag. Projetar jogos multiplayer pode ser um desafio e pode levar algum tempo para aprender. Para passar para os conceitos finais em um jogo um pouco mais complexo, vá para Multiplayer tutorial 4: jogo em tempo real.

  • 0 Comments

Want to leave a comment? Login or Register an account!