-
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
- Programação concorrente e distribuída
- 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
- Introdução
-
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