Apresentação

Domine as linguagens de programação essenciais para desenvolver os melhores jogos do mundo”

##IMAGE##

A programação é uma das tarefas mais complexas que se realizam no domínio digital. Qualquer dispositivo digital é composto por centenas ou milhares de linhas de código escritas por um desenvolvedor experiente. Assim, há programadores que podem trabalhar em áreas vastas dominando certas linguagens que têm uma aplicação geral.

No entanto, a indústria dos videojogos é diferente, dado que tem uma série de linguagens e matizes que é necessário compreender para desenvolver jogos de forma eficaz. Assim, este Curso de especialização em Linguagens de Programação para Videojogos tem todos os conteúdos e conhecimentos para tornar os seus alunos em verdadeiros especialistas no desenvolvimento aplicado aos videojogos.

Para isso, este programa ensina-lhes em profundidade temas como a programação orientada para objetos, o desenvolvimento web e a modelação 3D, combinando assim áreas complementares para obter uma aprendizagem integral que ajudará os estudantes a aceder às melhores empresas de videojogos do mundo.

A programação é essencial para o desenvolvimento de um videojogo. Especialize-se e torne-se um profissional essencial na sua empresa”

Este Curso de especialização em Linguagens de Programação para Videojogos conta com o conteúdo educacional mais completo e atualizado do mercado. As suas principais características são:

  • O desenvolvimento de casos práticos apresentados por especialistas em desenvolvimento de videojogos
  • Os conteúdos gráficos, esquemáticos e predominantemente práticos com que está concebido fornecem informações científicas e práticas sobre as disciplinas que são essenciais para a prática profissional
  • Os exercícios práticos onde o processo de autoavaliação pode ser efetuado a fim de melhorar a aprendizagem
  • O seu foco especial em metodologias inovadoras
  • As aulas teóricas, perguntas ao especialista, fóruns de discussão sobre questões controversas e atividades de reflexão individual
  • A disponibilidade de acesso aos conteúdos a partir de qualquer dispositivo fixo ou portátil com conexão à Internet

Desenvolva os melhores jogos de vídeo graças às competências que irá adquirir neste Curso”

O corpo docente do programa inclui profissionais do setor que trazem a experiência do seu trabalho para esta formação, bem como especialistas reconhecidos das principais sociedades e universidades de prestígio.

Os seus conteúdos multimédia, desenvolvidos com a mais recente tecnologia educativa, permitirão ao profissional uma aprendizagem situada e contextual, ou seja, um ambiente simulado que proporcionará uma formação imersiva programada para treinar em situações reais.

O design deste programa foca-se na Aprendizagem Baseada em Problemas, através da qual o profissional deverá tentar resolver as diferentes situações da atividade profissional que surgem ao longo do curso. Para tal, contará com a ajuda de um sistema inovador de vídeo interativo desenvolvido por especialistas reconhecidos.

A indústria dos videojogos precisa de programadores talentosos como tu”

##IMAGE##

As linguagens utilizadas para a programar videojogos requerem uma especialização adequada. Com este Curso de especialização, ficará a saber tudo sobre eles”

Programa de estudos

Este Curso de especialização em Linguagens de Programação para Videojogos contém o melhor programa nesta área, uma vez que foi concebido pelos melhores especialistas em desenvolvimento de videojogos. Estes especialistas conhecem a indústria em pormenor, pelo que sabem o que as empresas do setor precisam, e podem assim, transmitir aos estudantes todas as chaves para o sucesso. Por conseguinte, este programa é a melhor resposta para todos aqueles que desejam especializar-se na programação de videojogos e não sabem como fazê-lo.

##IMAGE##

O melhor programa no que diz respeito ao desenvolvimento de videojogos. Com ele, tornar-se-á um verdadeiro especialista”

Módulo 1. Programação orientada a objetos

1.1. Introdução à programação orientada a objetos

1.1.1. Introdução à programação orientada a objetos
1.1.2. Desenho de classes
1.1.3. Introdução à UML para modelação de problemas

1.2. Relações entre classes

1.2.1. Abstração e herança
1.2.2. Conceitos avançados de herança
1.2.3. Poliformismo
1.2.4. Composição e agregação

1.3. Introdução aos padrões de de desenho para problemas orientados a objetos

1.3.1. O que é um padrão de desenho?
1.3.2. Padrão Factory
1.3.3. Padrão Singleton
1.3.4. Padrão Observer
1.3.5. Padrão Composite

1.4. Exceções

1.4.1. O que são as exceções
1.4.2. Captura e gestão de exceções
1.4.3. Lançamento de exceções
1.4.4. Criação de exceções

1.5. Interfaces de utilizadores

1.5.1. Introdução a Qt
1.5.2. Posicionamento
1.5.3. O que são os eventos?
1.5.4. Eventos: definição e captura
1.5.5. Desenvolvimento de interfaces de utilizador

1.6. Introdução à programação concorrente

1.6.1. Introdução à programação concorrente
1.6.2. O conceito de processo e thread
1.6.3. Interação entre processos ou threads
1.6.4. Os threads em C++
1.6.5. Vantagens e desvantagens da programação concorrente

1.7. Gestão de threads e sincronização

1.7.1. Ciclo de vida um thread
1.7.2. A classe Thread
1.7.3. Planificação de threads
1.7.4. Grupos threads
1.7.5. Threads de tipo demónio
1.7.6. Sincronização
1.7.7. Mecanismos de bloqueio
1.7.8. Mecanismos de comunicação
1.7.9. Monitores

1.8. Problemas comuns dentro da programação concorrente

1.8.1. O problema dos produtores consumidores
1.8.2. O problema dos leitores e escritores
1.8.3. O problema do jantar dos filósofos

1.9. Documentação e provas de software

1.9.1. Porque é importante documentar o software?
1.9.2. Documentação de desenho
1.9.3. Uso de ferramentas para a documentação

1.10. Provas de software

1.10.1. Introdução às provas de software
1.10.2. Tipos de provas
1.10.3. Prova de unidade
1.10.4. Prova de integração
1.10.5. Prova de validação
1.10.6. Prova do sistema

Módulo 2. Modelação 3D

2.1. Introdução ao C#

2.1.1. O que é a POO?
2.1.2. Ambiente Visual Studio
2.1.3. Tipos de dados
2.1.4. Conversões de tipos
2.1.5. Condicionais
2.1.6. Objetos e classes
2.1.7. Modularidade e encapsulamento
2.1.8. Herança
2.1.9. Classes abstratas
2.1.10. Poliformismo

2.2. Fundamentos matemáticos

2.2.1. Ferramentas matemáticas na física: grandezas escalares e vetoriais
2.2.2. Ferramentas matemáticas na física: produto escalar
2.2.3. Ferramentas matemáticas na física: produto vetorial
2.2.4. Ferramentas matemáticas em POO

2.3. Fundamentos físicos

2.3.1. O sólido rígido
2.3.2. Cinemática
2.3.3. Dinâmicos
2.3.4. Colisões
2.3.5. Projéteis
2.3.6. Voo

2.4. Fundamentos de informática gráfica

2.4.1. Sistemas gráficos
2.4.2. Gráficos en 2D
2.4.3. Gráficos en 3D
2.4.4. Sistemas Raster
2.4.5. Modelado geométrico
2.4.6. Remoção de partes ocultas
2.4.7. Visualização realista
2.4.8. Biblioteca gráfica OpenGL

2.5. Unity: Introdução e instalação

2.5.1. O que é o Unity?
2.5.2. Por que o Unity?
2.5.3. Caraterísticas do Unity
2.5.4. Instalação

2.6. Unity: 2D e 3D

2.6.1. Gameplay em 2D: Sprites e Tilemaps
2.6.2. Gameplay em 2D: 2D Physics
2.6.3. Exemplos de videojogos realizados com Unity 2D
2.6.4. Introdução à Unity 3D

2.7. Unity: instanciação e criação de objetos

2.7.1. Adicionar componentes
2.7.2. Remover componentes
2.7.3. Importação de Assets e texturas
2.7.4. Materiais e mapas para os materiais

2.8. Unity: interações e física

2.8.1. Rigidbody
2.8.2. Colliders
2.8.3. Joints (articulações)
2.8.4. Character Controllers
2.8.5. Continous Collision Detection (CCD)
2.8.6. Physics Debug Visualization

2.9. Unity: inteligência artificial básica para NPCs

2.9.1. Pathfinding em Unity: Navmesh
2.9.2. Inimigo com IA
2.9.3. Árvore de ação dos NPCs
2.9.4. Hierarquia e scripts de NPCs

2.10. Unity: fundamentos da animação e implementação

2.10.1. Animation Controller. Associação à personagem
2.10.2. Blend Tree: árvore de combinação
2.10.3. Transição entre estados
2.10.4. Modificação do limiar de transições

Módulo 3. Design e desenvolvimento de videojogos para a web

3.1. Origens e padrões da web

3.1.1. Origens da Internet
3.1.2. Criação de World Wide Web
3.1.3. Aparecimento dos padrões web
3.1.4. O boom dos padrões web

3.2. HTTP e estrutura cliente-servidor

3.2.1. Função cliente-servidor
3.2.2. Comunicação cliente-servidor
3.2.3. História recente
3.2.4. Computação centralizada

3.3. Programação Web: introdução

3.3.1. Conceitos básicos
3.3.2. Preparando um servidor web
3.3.3. Conceitos básicos de HTML5
3.3.4. Formas HTML

3.4. Introdução ao HTML e exemplos

3.4.1. História de HTML5
3.4.2. Elementos de HTML5
3.4.3. APIS
3.4.4. CCS3:

3.5. Modelo de objeto de documento

3.5.1. O que é o Modelo de Objeto do Documento?
3.5.2. Utilização de DOCTYPE
3.5.3. A importância de validar o HTML
3.5.4. Acedendo aos elementos
3.5.5. Criando elementos e textos
3.5.6. Usando innerHTML
3.5.7. Eliminando um elemento ou nó de texto
3.5.8. Leitura e escrita dos atributos de um elemento
3.5.9. Manipulando os estilos dos elementos
3.5.10. Anexar múltiplos ficheiros de uma vez

3.6. Introdução ao CSS e exemplos

3.6.1. Sintaxe CSS3
3.6.2. Folhas de estilo
3.6.3. Rótulos
3.6.4. Seletores
3.6.5. Design web com CSS

3.7. Introdução ao JavaScript e exemplos

3.7.1. O que é o JavaScript?
3.7.2. Breve história da linguagem
3.7.3. Versões do JavaScript
3.7.4. Mostrar uma caixa de diálogo
3.7.5. Sintaxe do JavaScript
3.7.6. Compreensão de Scripts
3.7.7. Espaços
3.7.8. Comentários
3.7.9. Funções
3.7.10. JavaScript na página e externo

3.8. Funções em JavaScript

3.8.1. Declarações de função
3.8.2. Expressões de função
3.8.3. Chamar funções
3.8.4. Recursividade
3.8.5. Funções aninhadas e fechamentos
3.8.6. Preservação de variáveis
3.8.7. Funções multi-aninhadas
3.8.8. Conflitos de nomes
3.8.9. Fechamentos ou clausuras
3.8.10. Parâmetros de uma função

3.9. PlayCanvas para desenvolver jogos web

3.9.1. O que é o PlayCanvas?
3.9.2. Configuração do projeto
3.9.3. Criando um objeto
3.9.4. Adicionando físicas
3.9.5. Adicionando um modelo
3.9.6. Alterando as configurações de gravidade e cena
3.9.7. Executando Scripts
3.9.8. Controlo de câmara

3.10. Phaser para desenvolver jogos web

3.10.1. O que é o Phaser?
3.10.2. Carregando recursos
3.10.3. Construindo o mundo
3.10.4. As plataformas
3.10.5. O jogador
3.10.6. Adicionar físicas
3.10.7. Usar o teclado
3.10.8. Recolher Pickups
3.10.9. Pontos e pontuação
3.10.10. Bombas de rebote

##IMAGE##

Este curso é o que necessita. Inscreva-se e comprove-o"

Curso de Especialização em Linguagens de Programação para Videojogos

Na TECH Universidade Tecnológica, juntamente com os melhores especialistas da área, desenvolvemos o Curso de Especialização em Linguagens de Programação para Videojogos. Graças a este curso, os estudantes serão qualificados com um plano de estudos atualizado, que lhes permitirá adquirir todo o conhecimento necessário para destacarem-se na prática profissional. O nosso curso permitirá aos alunos conhecer os diferentes métodos de programação aplicados ao campo dos videojogos, além de aprofundarmos o processo de produção e design, de forma que possam compreender as diversas perspetivas e visões das outras áreas envolvidas nas fases de criação. Por outro lado, ao concluir o programa, o aluno estará capacitado para lidar com qualquer língua solicitada, enfrentando com competência os desafios da prática profissional.

Pós-graduação em Linguagens de Programação para Videojogos 100% online

A pós-graduação em Linguagens de Programação para Videojogos da TECH conta com eixos temáticos inovadores, que permitirão aos alunos abordar tópicos como modelagem 3D, desenvolvimento web, testes de software, criação de objetos, fundamentos da animação, entre outras áreas conceituais de grande valor académico. Além disso, ao longo do curso, promoveremos a autoaprendizagem do profissional, com o objetivo de que, ao concluir o programa, possa continuar ampliando seu repertório conceptual, melhorando continuamente na execução de projetos. Por outro lado, o aluno resolverá diferentes atividades baseadas na vida real, nas quais realizará um processo de autoavaliação que permitirá identificar lacunas em suas bases teóricas, possibilitando ao educador reforçar essas fragilidades.