-
Apresentação
Apresentação
Nos últimos anos, os jogos online têm sido dos mais lucrativos na indústria de jogos. Como tal, a unidade curricular de Sistemas de Rede para Jogos existe para dar aos alunos as ferramentas para poderem compreender os desafios à sua frente nesta área, além de lhes permitir tomar as melhores decisões sob o ponto de vista técnico. Também vai ajudá-los a compreender alguns detalhes sobre sistemas operativos como multithreading e sincronização. Também existe uma componente prática para melhor compreenderem como poderiam implementar algumas das técnicas apresentadas.
-
Disciplina do curso
Disciplina do curso
-
Grau | Semestres | ECTS
Grau | Semestres | ECTS
Licenciado | Semestral | 6
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
2 | Opcional | Português
-
Código
Código
ULHT1075-25116
-
Pré-requisitos e co-requisitos
Pré-requisitos e co-requisitos
Não aplicável
-
Estágio Profissional
Estágio Profissional
Não
-
Conteúdos Programáticos
Conteúdos Programáticos
Introdução Programação concorrente e distribuída Jogos multi-jogador online Multithreading Threads Sincronização Sistemas Produtor/Consumidor Conceitos Básicos IP, TCP and UDP DNS HTTP, SOAP and REST Firewalls Port-forwarding Sockets Modelos de sistemas de redes Autoridade e propriedade Modelo Cliente/Servidor Modelo Descentralizado Arquiteturas para jogos multi-jogador online Representação de estado Robustez Replicação total Passo-fixo determinístico Sistemas baseados em rollback Segurança Servidores de dados de jogador Abordagens Bases de dados Dados de jogadores Emparelhamento de jogadores Aquisição automática de dados Jogos de rede em Unity Considerações sobre jogos massivos online Balanceadores de carga Shards e sub-servidores
-
Objetivos
Objetivos
Aprender os conceitos básicos de multithreading, sincronização, infraestruturas de redes e protocolos Compreender a complexidade de jogos online multiplayer e ser capaz de conceber soluções para esses problemas Conhecer as mais comuns arquiteturas usadas em videojogos online Reconhecer a complexidade do desenvolvimento de jogos online massivos Desenhar e implementar um jogo online multi-jogador, quer em arquitetura cliente/servidor ou descentralizado
-
Metodologias de ensino e avaliação
Metodologias de ensino e avaliação
A disciplina é teórico-prática, sendo a maior parte das aulas uma mistura dos dois métodos: * Expositivo na apresentação dos conceitos * Demonstrativos, na demonstração dos conceitos através de exemplos do mundo real, se possível * Práticos, na execução de pequenas tarefas de programação relacionadas com o conteúdo leccionado.
-
Bibliografia principal
Bibliografia principal
Kurose, J. F., & Ross, K. (2009). Computer Networking: A Top-Down Approach Featuring the Internet, Pearson Education. Stevens, W. R., & Narten, T. (1990). UNIX network programming. ACM SIGCOMM Computer Communication Review, 20(2), 8-9.
-
Horário de Atendimento
Horário de Atendimento
-
Mobilidade
Mobilidade
Não