Bases Tecnológicas | Curso de Programação Carga Horária: 2 aulas por dia, em 24 semanas. Cada dia terá 2 horas-aula de 50 minutos. Total: 48 aulas, 96 horas-aula de 50 minutos.
Módulo 1: Lógica da programação e Construção de Algoritmos Semana 1 Aula 1 Conceitos básicos; construção de algoritmos: o fluxogramas e pseudocódigos. Definição e criação de Variáveis e Constantes. Operadores Aritméticos e Expressões Aritméticas. Operadores Relacionais. Operadores Lógicos e Expressões Lógicas.
Aula 2 Comandos de Entrada, Processamento e Saída. Funções pré-definidas. Estruturas de Controle: Sequencial; Condicional; Repetição. Vetores e Matriz. Visual G.
Módulo 2: Inteligência Artificial Semana 2 Aula 3 Estudos históricos da Inteligência Artificial e do seu conceito no atual contexto
sociocultural.
Estudos
da
lógica
na
perspectiva
das
representações do conhecimento. Origem da IA. IA Atualmente. Definição. Compreensão dos sistemas especialistas. Conceitos de aprendizagem de máquinas e engenharia do conhecimento. Sistemas que agem como humanos. Sistemas que pensam como humanos. Sistemas que agem racionalmente. Sistemas que pensam racionalmente. IA nos Jogos. Características do desenvolvimento de jogos. Categorias. Público Alvo. Plataforma. Área de Atuação. Tipos de Ambientes.
Aula 4 Estudos
dos
algoritmos
de
agrupamento,
aprendizagem. Perseguição e Fuga. Algoritmo básico de perseguição. Exemplo de um algoritmo básico de evasão. Perseguição com linha de visão.
classificação
e
de
Linha de visão para ambientes contínuos. Interceptação.
Semana 3 Aula 5 A inteligência Artificial e o processo de desenvolvimento de jogos digitais. Sistemas Baseados em Regras. Elementos de um sistema baseado em regras. Forward chaining. Backward chaining. Aplicação em Jogos. Lógica Nebulosa (fuzzy). Lógica nebulosa nos jogos. Características. Fuzzificação. Funções de associatividade. Saída fuzzy. Desfuzzificação.
Aula 6 Scripts. Construção. Máquinas de Estado Finito. Características. Implementação. Máquinas de estado finito não-determinísticas. Busca Heurística. Pathfinding. Estratégias para desvio de obstáculos.
Algoritmo A*. Redes Neurais. O neurônio artificial. Redes neurais em jogos. Mapeando o problema. Algoritmos Genéticos. Algoritmos genéticos em jogos. Flocking.
Módulo 3: Computação Gráfica | Construct 2 \ Unity \ ActiveX (bibliotecas gráficas) Semana 4 Aula 7 Introdução às bibliotecas gráficas. Uso de primitivas gráficas: execução de linhas de comando. Inimigo, Sine e Tiro.
Aula 8 Grandezas de movimento: trajetória; deslocamento; velocidade; aceleração; atrito. Variáveis Globais, Vidas e Pontos. Criando uma Fase, Pause e Tela Inicial.
Semana 5 Aula 9 Sistemas de Colisão. Atacar com a Espada.
Aula 10 Movimento de projéteis: Leis de Newton; força; gravidade. Criar partículas e 8 Direções. Fundo do Mar e Nadar.
Semana 6 Aula 11 Modelo Flappy Bird + Fundo rolagem + criação randômica. Runner Game.
Aula 12 Sistemas baseados nas regras definidas no projeto do jogo. Efeitos sonoros, pulo duplo e Dash. Sistema de Chave | Fechadura.
Semana 7 Aula 13 Pathfinding e Inteligência Artificial. Introdução às demais Engines, como a Cryengine e a Unreal Engine.
Aula 14 Movimentos isométricos. Publicar jogos nas lojas Mobile.
Módulo 4: Programação Orientada à Objetos Semana 8 Aula 15 Lógica computacional orientada a objetos. Diagramas de classes, casos de uso e diagramas de objetos. Ambientes de desenvolvimento de mecânica de jogos.
Aula 16 Desenvolvimento de software (jogo digital).
Semana 9 Aula 17 Conceitos de orientação a objetos: - classes e objetos; - assinatura de métodos; - encapsulamento; - herança; - sobrecarga e sobrescrita; - polimorfismo.
Aula 18 Tratamento de exceções.
Semana 10 Aula 19 Ambientes grĂĄficos: AWT; Swing.
Aula 20 Conceitos de conexĂŁo a banco de dados.
Módulo 5: HTML5 | Adobe DreamWeaver Semana 11 Aula 21 Conceitos e características de jogos para Web. Ambiente de desenvolvimento Web; Painéis de criação; Principais frameworks de criação; Marcação Semântica e Layout de página web; Diferenças entre navegadores. Apresentação do software Adobe DremWeaver e suas principais funções e ferramentas.
Aula 22 Ambiente de animação; Camada de Desenho; Canvas e seus atributos; SVG e seus atributos. Som; Áudio e seus atributos; Vídeo e seus atributos. Publicação de arquivo desenvolvido no ambiente Web.
Semana 12 Aula 23 Programação de jogos para Web: Estrutura ou corpo básicos; estruturas semântica da página Web; Framework HTML5 2D; validação; variáveis e tipos de dados referentes à linguagem de programação; comandos de decisão, repetição e operadores.
Aula24 Funções e métodos; classes e componentes adicionais referente a linguagem de programação; controles e interface gráfica para o usuário; desenvolvimento um jogo para Web.
Módulo 6: JAVA Semana 13 Aula 25 Conceito de motor de jogos e orientação a objetos: Colisão, aceleração e gravidade. Efeitos especiais: frustum; far; near clipping; FOV – field of view.
Aula 26 Implementação de regras de jogabilidade.
Semana 14 Aula 27 Processos de criação: formatos de superfície, ARGB, Z-Buffer, backbuffer e textura; geometria 3D e mapeamento de texturas; efeitos e o BasicEffect; luzes, phong, gouraud e perpixel; shaders: o efeitos e criação.
Aula 28 Desenvolvimento de projeto: criação de jogo: o concepção de gênero e elementos de composição do jogo; o definição de controles e interface gráfica para o usuário; o definição de níveis de jogabilidade; o definição das fases; o testes; o publicação para console.
Semana 15 Aula 29. Aula 30.
Semana 16 Aula 31. Aula 32.
Módulo 7: A matemática da programação de jogos Semana 17 Aula 33 Pontos, representação, matriz de pontos, sistemas de referência. Translação e rotação. Equações das retas no plano e no espaço, relações entre pontos e retas, intersecção. Ângulos entre reta e reta, intersecção entre retas e retas, translação e rotação de retas. Equações do plano (baseadas em três pontos e na normal); determinação de pontos de um plano.
Aula 34 Ângulos entre retas e planos, intersecção entre retas e planos e entre planos e planos, posições relativas entre ponto e plano. Polígonos planos, propriedades, contorno (Hull) convexo de um polígono, construção de polígonos regulares, simetrias, posições relativas entre pontos e polígonos – em relação a seu interior e exterior. Noções de geometria espacial e analítica: perspectiva; plano; diâmetro; profundidade; escala. Módulo, direção e sentido. Vetores: adição e subtração, multiplicação por escala.
M贸dulo 8: CSS Semana 18 Aula 35 Aula 36
Semana 19 Aula 37 Aula 38
Módulo 9: Linguagem de Programação: C++ | C# Semana 20 Aula 39 Noções de Framework.NET/Visual C#. Variáveis e tipos de dados da linguagem C#. Classes, objetos, atributos, métodos, argumentos e parâmetros.
Aula 40 Comandos de decisão, repetição e operadores. Coleções unidimensionais (vetores) e bidimensionais (matrizes).
Semana 21 Aula 41 Aplicação de conceitos de orientação a objetos para jogos digitais: encapsulamento: o propriedades; herança; polimorfismo. Compilação e execução em módulos: Desktop, Xbox e Zune.
Aula 42 Tipos de dados do game engine. Biblioteca de classes e métodos do game engine.
Módulo 10: Mobile Semana 22 Aula 43 Conceitos de orientação a objetos Java ME: configuração: o CLDC; o CDC; o MIDP; o FP; o FBP; o PP.
Aula 44 Instalação e configuração do ambiente de desenvolvimento: seleção do device (dispositivo móvel): o hardware; o sistema operacional. Recursos: o armazenamento; o câmera; o teclado; o multitouch e acelerômetro.
Semana 23 Aula 45 Técnicas de aplicação: seleção de aplicativo como exemplo inicial/modelo; desenho 2D: o canvas; o graphics; o métodos de desenho: line; circle; rectangle; triangle. Navegação e orientação: o ciclo de vida; o launchers; o choosers. Animação de sprites: gravação/reprodução de áudio e vídeo; load de imagens; tratamento de eventos.
Aula 46 Desenvolvimento de aplicativo para dispositivo móvel.
Conclusão Semana 24 Aula 47 Revisão, dúvidas. Finalização de Projetos.
Aula 48 Avaliação. Apresentação dos Projetos.