Crie um jogo Multiplayer pronto para produção com o Netcode for GameObjects

Está criando um jogo multiplayer cooperativo com Unity? Temos o recurso sob demanda perfeito para você: Uma série de webinars em quatro partes da equipe Multiplay - agora disponível no YouTube. Esta série se aprofunda na Boss Room para explorar como você pode criar um jogo multiplayer pronto para produção com Unity e Netcode for GameObjects.
A criação de jogos Multiplayer não se resume apenas ao uso das APIs corretas. O primeiro episódio da série aborda as práticas recomendadas e fornece conselhos ao introduzir uma tecnologia caótica como a Internet entre seus jogadores ao desenvolver um jogo Multiplayer.
No primeiro episódio, abordamos o assunto:
- O que é Netcode for GameObjects (NGO) e Unity Gaming Services (UGS)?
- NetworkVariables vs. RPCs e motivos para escolher qual para cada recurso
- Autoridade e por que escolhemos a autoridade do servidor para a maior parte de nossa jogabilidade
- Movimentos e modelos alternativos como Client Authority para lidar com o atraso e truques de otimização para movimentos baseados em pathfinding
- Implementação básica do jogo e como usamos o estado (netvar, lista de redes) e RPCs
O segundo episódio aborda a implementação de habilidades de personagens no Boss Room e como abordar a implementação de habilidades em seu jogo.
Vamos nos aprofundar:
- O fluxo geral de implementação de habilidades orientadas pelo servidor
- Confiabilidade e o que significa não ser confiável para as RPCs
- Ataques corpo a corpo e a antecipação de problemas de animação
- Funcionalidade do escudo do tanque e interação com o ambiente
- Archer powershots e Area of Effect (AOE), que exigem o rastreamento de entradas ao longo do tempo somente no lado do cliente
- Mage firebolt e uso da largura de banda
- A arquitetura geral de nosso sistema de capacidade
Também analisamos:
- Objetos gerados dinamicamente
- Geração de objetos estáticos posicionados na cena
- Geração de objetos destruíveis colocados na cena
- Lições aprendidas com os diabinhos zumbis quando se juntam tardiamente
- Lógica de geração personalizada, como piscinas, e como integrá-las à ONG
Na terceira sessão, abordaremos mais alguns detalhes de implementação do jogo antes de nos aprofundarmos em tornar seu jogo Multiplayer resiliente para os jogadores.
Nós exploramos:
- Interações físicas, objetos e criação de filhos, cenas e gerenciamento de cenas
- Usar o Relay e o Lobby para colocar seu jogo on-line e por que você não pode usar a ONG para juntar jogadores
- Sincronização da tela de seleção de personagens entre jogadores usando ONGs e serialização personalizada
- Tornar seu jogo resiliente à entrada e saída de jogadores, fluxos de reconexão, suporte a entradas tardias, desconexão e tempos limite
- Manipulação de condições de corrida e vários testes a serem realizados
Na quarta e última sessão da série, exploramos as práticas recomendadas de desenvolvimento de jogos para Multiplay.
Este episódio aborda:
- Otimizações de largura de banda e ferramentas para criação de perfis, otimização de NetworkTransforms e outras dicas
- Ferramentas de depuração, como simuladores de condições de rede, monitoramento de estatísticas e fluxos de depuração personalizados
- Arquitetura do projeto (sistema de ação, arquitetura do jogador, etc.)
- O futuro do Boss Room
Assistir à série? Compartilhe seus comentários para que possamos planejar sessões ainda melhores no futuro.
Se estiver pronto para mergulhar em seu próximo projeto Multiplayer com Unity e Netcode for GameObjects, aqui estão alguns recursos úteis para você começar:
- Saiba mais sobre o Netcode for GameObjects
- Explore nossas amostras: 3D Boss Room, 2D Galactic Kittens, Bitesize Samples
- Leia a documentação
Tem perguntas ou comentários sobre o desenvolvimento de jogos Multiplayer em Unity? Sinta-se à vontade para participar da discussão no Discord ou nos fóruns.