Redes para Jogos Felipe Guaycuru de C. B. Franco http://forum.gamux.com.br Papel e caneta na mão! REVISÃO Revisão 1. 2. 3. 4. 5. Métodos do SpriteBatch.Draw; Descreva um sitema de Particulas; O que é rectangleSource; O que é rectangleDestination; Explique o como fazer uma animação 2D. 4 MOTIVOS Motivos 1. Sempre é mais divertido se divertir com seus amigos; 2. Permite jogar com seu colega ou desconhecido que mora há quilômetros de distância ou (na sala ao lado); 3. Poder competir ou colaborar em um game. 6 OBJETIVO Objetivos 1. Desenvolver um mini-game que seja multiplayer; 2. Entender algumas das abordagens dos modelos de jogos em rede. 8 Pára de dar KS! HEADSHOT seu ***! Deixa de “feedar” a galera! “Host”, “kicka” o fulano! REDES PARA GAMES Teoria Prática Teoria Redes Conceitos Abordagens Redes • • • • • Forma de comunicação entre computadores; Redes para Jogos é uma abordagem para compartilhar uma partida de jogo fora do contexto local; Permite que um game complexo e relacional seja possível; Evita ter que programar IA pois o outro jogador será um humano; Sempre é um desafio jogar online pois sempre existe um jogador melhor que você. 12 Teoria Redes Conceitos Abordagens Conceitos • • • • • • Pacote? Tamanho do Pacote? Taxa de atualização da Rede? Velocidade da Rede? Latência da Rede? Lobby? 14 Teoria Redes Conceitos P2P Puro Abordagens ClienteServidor Dedicado Misto Estudo de Casos P2P Puro • Pros: – – • Pode economizar transferência de dados; Um nó pode cair e continuar o jogo sem ele. Contras: – Falta de sincronismo 16 Cliente Servidor Dedicado • Pros: – – – • Contras: – – • Fácil sincronia; Permite a implementação de Lobby; Permite armazenamento de dados. Necessidade de um computador extra e dedicado; Duas implementações de código diferentes. Pooling -> Ideal para alguns tipos de jogo 17 Misto • Arquiteturas: – – • • Server Lobby e Clientes que podem ser servidores; Server Lobby, Game Servers e Clientes Pros: Contras: 18 Exemplo: Pong 1 • Desenvolvido em modo P2P puro, pois são só 2 jogadores. • Servidor cuida também do placar e da “nova bola” • Vantagens e desvantagens? 19 Exemplo: Pong 2 • Desenvolvido com um servidor que cuida de tudo, e um cliente que só mexe na própria paddle. • Vantagens? Desvantagens? 20 Exemplo: Uno • Desenvolvido em modo de servidor dedicado. • Comunicação é feita por Pooling. • Servidor cuida de todos os processamentos, atualizações e ações. • Clientes só fazem requisições. 21 Caso de Uso: Age of Empires • Arquitetura (Lobby + Servers) • Abordagem 22 Caso de Uso: Counter Strike • Arquitetura (Servers) • Abordagem 23 Teoria Redes Conceitos Abordagens Teoria Prática Prática • Prática: – Re-implementar algum game já feito fazendo-o funcionar em modo multiplayer pela rede. – http://guaycuru.net/files/palestra/esqueleto.zip • Desafio: – Encontrar uma abordagem “ideal”. • Desafio 2: – Desenvolver um sistema de lobby com salas. 26 Etapas 27 Agradecimento spriteBatch.DrawString( Arial, "Obrigado Pela Atenção!", positionVect, Color.Black); 28