Buscar

09 - Princípios de transferência de arquivos

Prévia do material em texto

26/10/2020 Versão para impressão
1/7
Princípios de transferência de arquivos
Atualmente muitos jogos utilizam, de diferentes formas, o envio e o
recebimento de informações. Partidas multijogador, arquivamento e manutenção
de dados de contas nas nuvens, jogos multiplataformas, execução de jogos via
streaming e jogos que rodam em navegadores são alguns dos exemplos de
situações que envolvem a transferência de dados. Você encontrará neste
material os mecanismos utilizados para envio e recebimento de dados, em
conjunto com a análise dos princípios que permeiam essas questões.
Upload e Download de Arquivos
Dois conceitos definem a troca de informação em um jogo (e na internet de
forma geral): upload, quando um sistema realiza o envio de dados para outro, e
download, quando um sistema recebe dados de outro dispositivo. Como
exemplo, vamos analisar um caso muito comum atualmente, a utilização de
contas online para armazenamento do estado em que partida de um jogo parou.
Conforme um usuário avança em um jogo as informações da partida são
enviadas através da internet para um sistema computacional construído
especificamente para atender tal tarefa, esses sistemas são conhecidos como
servidores, falaremos em detalhes sobre esses sistemas mais adiante.
Posteriormente o servidor armazena esses dados em um ou mais arquivos,
esses arquivos são conhecidos popularmente como saves. Quando o usuário
deseja continuar um jogo do ponto onde ele parou a partida o sistema, no qual o
jogo roda, solicita o recebimento dos saves ao servidor, dessa forma o servidor
26/10/2020 Versão para impressão
2/7
envia os dados (faz um upload), enquanto o sistema do jogador recebe os dados
(realiza o download dessas informações). Serviços como Playstation network
(PSN), Xbox Live, Steam e Origin são exemplos de aplicações que armazenam
os saves de usuários em servidores.
Figura 1: Fluxo de transferência de informações. Download e upload de dados
 
Para saber mais sobre a diferença entre upload e download, acesse: 
 
https://www.youtube.com/watch?v=aJoB7jlUGoU
(https://www.youtube.com/watch?v=aJoB7jlUGoU)
26/10/2020 Versão para impressão
3/7
Outras situações que envolvem download e upload de dados são: a
execução de jogos via streaming e, também, a execução de jogos através do
navegador. Em ambas as situações, o jogo não está sendo rodado diretamente
pelo sistema do usuário. Nestes casos o dispositivo do usuário apenas envia os
comandos do jogador para o servidor; recebendo de volta o resultado de suas
ações e as modificações que ocorreram no mundo virtual. É o servidor que
gerencia as regras, as modificações no mundo virtual e outras informações do
jogo. O servidor recebe os comandos do usuário, computa os resultados
gerados por tais ações e, em seguida, envia as modificações que ocorreram na
partida, atualizando o estado do jogo no sistema do usuário.
Servidores
Você já deve ter percebido que, além do sistema do usuário, outro
dispositivo recorrente, quando falamos de internet, é o servidor.
Mas o que é exatamente um servidor? Um servidor é um computador
provedor de um serviço específico para outros computadores: os clientes.
O termo cliente é utilizado uma vez que esses sistemas solicitam um
serviço ao servidor. De forma análoga, o termo servidor vem do fato desses
sistemas atenderem às requisições de serviços dos sistemas cliente.
Um servidor pode realizar diversos tipos de serviços. Existem servidores
que centralizam o armazenamento de informações compartilhadas por muitos
outros computadores, como, por exemplo, servidores de e-mail, servidores de
jogos e até mesmo servidores de impressão, que são projetados para garantir
que todos os trabalhos de impressão de uma empresa sejam impressos na
impressora correta. Embora qualquer computador possa se tornar um servidor, é
importante que o hardware desses sistemas seja, suficientemente, robusto para
suportar as exigências que serão impostas ao servidor.
26/10/2020 Versão para impressão
4/7
Figura 2: Uma das muitas salas de servidores da empresa Google.
 
Para saber mais sobre servidores, mainframes e data centers, acesse:
 
https://www.youtube.com/watch?v=tyoMBYWY0oo
(https://www.youtube.com/watch?v=tyoMBYWY0oo) 
 
https://www.youtube.com/watch?v=EGhPN_gqI-c
(https://www.youtube.com/watch?v=EGhPN_gqI-c)
26/10/2020 Versão para impressão
5/7
Quando afirmamos que um servidor hospeda um serviço, estamos
querendo informar que tal sistema é responsável por executar, intermediar e/ou
armazenar dados desse serviço quando requisitado por outro dispositivo.
Vamos utilizar novamente um exemplo para esclarecer alguns
conceitos de servidores e hospedagem. Dessa vez usaremos um jogo
de corrida de carros, no qual é possível participar de partidas online e
com o componente multijogador. Digamos que cada partida seja
composta por no máximo oito jogadores, sendo que cada usuário
possui quatro carros que podem ser personalizados.
Nessa situação o servidor precisaria realizar dois tipos diferentes
de serviços, armazenar as informações dos usuários e seus veículos,
para posteriormente serem utilizados em uma outra partida, e realizar,
quando necessário, modificações nesse conjunto de dados.
O outro serviço deste servidor seria gerenciar as centenas, ou até
milhares, de partidas que são jogadas ao mesmo tempo, enviando e
recebendo dados dos jogadores de todas as corridas que estão
ocorrendo. Você deve imaginar que uma máquina comum não seria
capaz de lidar com essas tarefas, pelo menos não de forma efetiva.
Dessa forma, para situações onde o serviço hospedado no
servidor é muito intenso, precisaríamos utilizar servidores dedicados
para a realização das tarefas.
26/10/2020 Versão para impressão
6/7
Figura 3: O servidor armazena e modifica informações de usuários e gerencia a comunicação entre os jogadores.
Princípios de Hospedagem e de Registro de
Domínio
No nosso exemplo dizemos que o servidor faz a hospedagem dos serviços
relativos às contas dos usuários, armazenando as informações dos carros, e o
gerenciamento das partidas online, intermediando a comunicação dos
jogadores. 
 
O mesmo poderia ser dito para um servidor que presta serviços para os usuários
de um site. Ele hospeda aquele site, armazenando informações sobre produtos,
clientes, promoções, compras etc. No caso de sites, especificamente,
precisamos registrar o endereço da página; também conhecido como registro de
domínio. Esse serviço é feito por diversas empresas. Você compra o domínio e,
posteriormente, realiza a hospedagem do site em algum servidor, assim os
26/10/2020 Versão para impressão
7/7
usuários podem acessar a sua página. Vamos dizer que nosso jogo de corrida
se chama Queima Pneu e que temos interesse em ter um site para as pessoas
realizarem o download do jogo e acessar informações sobre ele. Primeiramente,
procuraríamos uma empresa, por exemplo, a Locaweb, na qual registraríamos o
domínio www.queimapneu.com.br. Depois de realizado o registro, faríamos a
hospedagem em algum servidor, ficando esse como o responsável para enviar
todos os dados do site. Dessa forma, todo cliente que desejasse acessar a
página www.queimapneu.com.br faria uma requisição ao servidor que hospeda o
site.
Esta breve introdução, sobre a transferência de arquivos, serve para o
planejamento de jogos, para a forma de disponibilização do jogo e para o projeto
de jogos multijogadores. Posteriormente, no curso, abordaremos, com mais
detalhes, a programação de jogos multijogador tendo em mente o conteúdo
trabalhado neste material, ou seja, a arquitetura baseada no sistema cliente-
servidor.

Continue navegando

Outros materiais