Formação em game programming: 01 - Introdução à programação



Documentos relacionados
formação em programação em c/c++

Esse treinamento capacita o aluno a criar maquetes eletrônicas com alto nível de realismo.

em nosso primeiro projeto, veremos como utilizar as ferramentas do software gráfico para criar nossas pinturas

formação em WeB developer

módulo 01 - introdução ao flash (aulas 1 a 7)

Formação em WEB DESIGN: Projeto 01 - layout (aula 01 & 02*) Em nosso primeiro projeto criaremos um layout para web utilizando um software gráfico.

Design 3D. Formação em Web WEB DESIGN 3D 1

Eletrônica 3D. Formação em Maquete MAQUETE ELETRÔNICA 3D 1

Design 3D. Formação em Game GAME DESIGN 1

Game Programming Basic

Gráfico. Formação em Design DESIGN GRÁFICO 1

Formação em Pintura Digital. (enfoque em Concept Art) PINTURA DIGITAL 1

Design de Produto 3D

formação em design de produto 3d:

O aluno também terá conhecimento para poder ingressar em produtoras de vídeo e agências de publicidade.

OpenGL. Uma Abordagem Prática e Objetiva. Marcelo Cohen Isabel Harb Manssour. Novatec Editora

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS DEPARTAMENTO DE CIÊNCIAS DA COMUNICAÇÃO, ARTES. Diploma: Diploma de 1º Ciclo Total ECTS: 6

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Projeto Pedagógico do Bacharelado em Ciência da Computação. Comissão de Curso e NDE do BCC

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Desenvolvimento de jogos com Unity

Programming Full. Formação em Game GAME PROG FULL 1

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Especificação do 3º Trabalho

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 2. Aspectos Técnicos. Luciano Roberto Rocha. MBA em Marketing Digital SOCIAL GAMES

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Computação Gráfica. Renderização em Tempo Real. Erivaldo Xavier de Lima Filho

UNIVERSIDADE FEDERAL DO CEARÁ PRÓ-REITORIA DE GRADUAÇÃO CAMPUS DE SOBRAL

6. Geometria, Primitivas e Transformações 3D

Você está em busca de OPORTUNIDADES para iniciar sua carreira?

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Desvendando Jogos 2D. Por Marcos Romero Setembro / Cyborg Arena - RHGames

Plano de Aulas AutoCAD 2011

DESENVOLVIMENTO DE PROGRAMA MULTIMIDIA PARA O ENSINO DEDINÂMICA DE MÚLTIPLOS CORPOS

ESTUDO DE CASO WINDOWS VISTA

Informática I. Aula 6. Aula 6-12/09/2007 1

Desenvolvendo Websites com PHP

Manual do Aluno Tutorial EAD S.O.S. Professor MANUAL DE ACESSO. Leia este Tutorial antes de entrar na sala de aula virtual

Jogos Eletrônicos. Apresentação da Disciplina. Edirlei Soares de Lima

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

CURSO DE INFORMÁTICA LICENCIATURA 1 PERÍODO

Manual do usuário - Service Desk SDM - COPASA. Service Desk

Aula 5 Microsoft PowerPoint 2003: Criando uma Apresentação

PROJETO INFORMÁTICA NA ESCOLA

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

VISEDU-CG 3.0: Aplicação didática para visualizar material educacional Módulo de Computação Gráfica

Ciências da Computação Disciplina:Computação Gráfica

CURSOS OFERECIDOS. seus objetivos e metas. E também seus elementos fundamentais de Administração, como: PLANEJAMENTO, ORGANIZAÇÃO E CONTROLE.

PowerPoint. Prof. Claudio A. B. Tiellet. Parte II

Microsoft Office PowerPoint 2007

Professor: Ronilson Morais Lobo. Salvador / 2015

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

O que é um Objeto Educacional? página 01. Objeto Educacional passo a passo página 05

CURSO DE GRADUAÇÃO PRESENCIAL SISTEMAS DE INFORMAÇÃO

GUIA DO PROFESSOR ATIVIDADES MATEMÁTICAS COM O SCRATCH

EMENTAS DAS DISCIPLINAS

Aspectos técnicos do desenvolvimento baseado em componentes

Síntese das discussões do fórum Livro-APF: Julho/2010

Sistemas de Produtividade

Manual da Turma Virtual: MATERIAIS. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo:

Projeto 01 - Maquiagem digital (aula 01*)

Sumário. Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web

Feature-Driven Development

Grupo Projeção. Portal Acadêmico. - Ambiente do Aluno -

O Primeiro Programa em Visual Studio.net

Manual Q-Acadêmico 2.0 Módulo Web - Aluno

AUBR-83 Dicas e Truques. Objetivos:

Serviço Técnico de Informática. Curso Básico de PowerPoint

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

MC-102 Aula 01. Instituto de Computação Unicamp

Impressão de Código de Barras Uma abordagem prática ZEBRA ZPL2

O GEM é um software 100% Web, ou seja, você poderá acessar de qualquer local através da Internet.

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Esse tutorial visa apresentar as principais funcionalidades do Editor de Roteiro de Aprendizagem do Portal Clickideia.

Esse tutorial visa apresentar as principais funcionalidades do Editor de Roteiro de Aprendizagem do Portal Clickideia.

Modelagemde Software Orientadaa Objetos com UML

Bruno Pereira Evangelista.

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Aprenda as melhores práticas para construir um completo sistema de teste automatizado

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Manual do Usuário Android Neocontrol

Aula Au 3 la 3 Windows-Internet

DESENHO TÉCNICO AULA 01

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Office LiveMeeting. Office LiveMeeting

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO

CRIACAO. de aplicativos e jogos. para ANDROID

Utilização. de Shaders de efeitos realistas para jogos. Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Engenharia de Software III

Tema: Tradições religiosas e mítico-filosóficas

Introdução ao Tableau Server 7.0

Introdução. Dados. Imagens. 1. CG Computação Gráfica. 2. Paradigmas de Abstração

LEAS ONLINE: PROTÓTIPO DE UM JOGO DE MMORPG

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Usando o Arena em Simulação

Transcrição:

Formação em game programming: Para que um jogo eletrônico funcione adequadamente como foi projetado, é necessário que ele esteja corretamente programado. Todas as funções de controle de personagens e objetos dentro de um jogo são controlados através da programação. No treinamento de Programação para Games da Imagine School, o aluno aprenderá, durante 1 ano, como programar para plataformas 2D e 3D utilizando a linguagem C++. Veremos vários conceitos como programação orientada a objetos, aplicação de matemática 3D, polimorfismo e aplicação de bibliotecas para o funcionamento do jogo. Através desse curso o aluno estará apto a fazer parte de empresas de games, desenvolvendo a programação de jogos 2D e 3D para várias plataformas. A aluno também terá conhecimento para trabalhar em qualquer empresa de desenvolvimento de software ou atuar como freelancer. 01 - Introdução à programação No início desta etapa dão-se os primeiros passos para capacitar o aluno a se tornar um programador com a linguagem C++. Olá Mundo! Imprimindo mensagem na tela O processo de compilação de um código C++ Tipos de arquivos que compõe um prog. C++ Declarando e construindo funções Parâmetros e retornos Representação dos dados no computador Apontadores e referências a dados Incluindo e usando bibliotecas padrão

02 - Ferramentas de desenvolvimento Código desenvolvido em ferramentas profissionais, como QT Creator e Code::Blocks Instalação das ferramentas: Code::blocks e QT Creator Configuração do projeto com QT Creator e Code::blocks Linkagem de bibliotecas Interface de debugging Configuração do compilador Mingw 03 - Lógica de programação Uso de todos os conceitos envolvidos no desenvolvimento de programas em geral, aplicados diretamente na criação de jogos Algoritmos Tipos primitivos Declaração de variáveis Funções Estruturas de dados Gerência de memória Estruturas de repetição Lógica básica Testes lógicos 3

04 - Bibliotecas SDL Uso de biblioteca de mídia gráfica e áudio com recursos simples para a criação de jogos 2D Instalando SDL no Mingw Ligando o projeto à SDL Incluindo SDL no código C++ Criando e configurando um aplicativo com janela Desenhando e colorindo retângulos Carregando imagens Carregando sons 05 - Desenhando, movendo e animando Animação por sprites * Ilusão do movimento por sequência de imagens * Carregando imagens com sprites * Movendo o quadro da animação * Controle de quadros por segundo * Alterando estado da animação * Interação com usuário 4

06 - Orientação a objetos Neste paradigma, a estrutura do jogo é organizada na forma de classes, e tudo se torna abstrações de objetos. Com ênfase em conceitos de engenharia de software. * Definindo classes em C++ * Atributos e métodos * Escopo de acesso * Herança e polimorfismo * Métodos virtuais e abstratos * Padrões de projeto * Criando e usando objetos em C++ 07 - cenário 2D Criação de cenários baseados em tiles, utilizando imagens pequenas para gerar componentes de cenário de tamanho arbitrário. * Camadas de background * Construção com imagens repetidas * Itens de cenário como objetos * Movimentação da visão sobre a cena * Janelamento e viewport * Coordenadas de mundo e de visão 5

08 - Geometria e cinemática Reveja a velha matemática e física, aplicadas no desenvolvimento de jogos. Aprendendo sobre vetores, velocidade, aceleração, influência do intervalo de tempo. Mundo plano de duas dimensões Pontos no espaço 2D Movimento e distância como um vetor Álgebra vetorial: soma, multiplicação e produto escalar Transformações de translação, rotação e escala Cinemática: velocidade, aceleração e deslocamento Intervalo de tempo e cálculo do deslocamento 09 - Colisão e tratamento de eventos Aprendendo a detectar colisões e gerar eventos de jogo, revisitando clássicos de aparência simples como o Pong, explorando a complexidade de sua implementação em aula. Estruturas de dados para acelerar detecção de colisão Fase ampla e fase restrita Corrigir penetração entre objetos Resposta física da colisão Disparar eventos de contato 6

10 - Inteligência artificial Modelagem de autômatos de estados finitos, simulando transições de comportamentos básicos de inimigos nos jogos. Visão geral de IA Modelagem de máquinas de estados finitos Grafos Lógica nebulosa Métodos estatísticos e números aleatórios Algoritmos de menor caminho: busca em grafos e A* 11 - Projeto final 2D Unindo e aplicando todos os conceitos aprendidos ao longo desta etapa, os alunos formarão grupos e implementarão em aula um jogo 2D completo feito em C++ e usando biblioteca SDL. Com ênfase na qualidade do código, e certificando-se de que cada um termine esta etapa com a bagagem de conhecimento necessária para a etapa 3D. Visão da arquitetura geral de um jogo Planejamento com casos de uso Interação com o usuário Geração e controle de eventos Exibição de mídia audio-visual Criação de engine para jogos 2D Desenvolvimento de um jogo com a própria engine Foco em modularidade, encapsulamento e reaproveitamento. Busca e correção de bug por meio de testes 7

12 - Pipeline gráfico Os alunos aprendem toda a teoria por trás de como os computadores geram a ilusão de tridimensionalidade em aplicações como jogos. Com contextualização histórica do surgimento das técnicas, e toda a geometria aplicada por trás delas. Objetos 3D como conjunto de vértices Transformações aplicadas aos vértices para formar a cena Clipping, culling e Z-buffering Vertex shader Rasterização Pixel shading Clipping 13 - introdução ao open GL Programando em C++, o aluno aprenderá o básico sobre a inicialização e uso da biblioteca gráfica OpenGL para a criação de aplicações complexas em 3D Incluindo OpenGL no projeto Criação de contexto para o OpenGL usando SDL Inicialização e configuração Chamada de funções do OpenGL Matrizes e transformações Tipos de dados * Coordenadas normalizadas 8

14 - Câmera e Projeção Estudando os tipos de projeção, e os parâmetros que configuram uma abstração de câmera para gerar uma cena tridimensional. Exemplos práticos com OpenGL para aplicar a teoria. Projeção paralela (ortogonal) Projeção perspectiva Planos de projeção Campo de visão Montando a cena 15 - modelos e texturas Aprendendo e implementando código que carregue modelos complexos no padrão OBJ e adicione texturas. Representação de modelos como vértices e polígonos Objetos como texto em arquivos Desenvolvendo método para ler arquivo Desenhar objetos como conjunto de polígonos Carregando e utilizando imagens como texturas 9

16 - Iluminação Teorias sobre como a projeção de luz afeta a cena. Implementação prática de iluminação por shaders, como toon shading. Teorias sobre iluminação: ambiente, difusa, especular Abstração de luz no OpenGL Luz pontual Luz direcional Escrevendo shaders de iluminação 17 - Engine de jogos Toda a teoria estudada em OpenGL encontra a aplicação profissional em uma engine completa para desenvolvimento de jogos Conhecendo Unity3D Instalação Criação e configuração de projeto Criando cena Gameobjects Criando e configurando componentes 10

18 - Jogos complexos em Unity 3D Acompanhando passo a passo o desenvolvimento de jogos complexos usando todos os recursos da Unity 3D. Criando gameobjects pré fabricados Carregando e gerando assets como recursos Utilizando prefabs e assets prontos Colliders e física embutida Montando um jogo já pronto 19 - Scripting Estudando programação em scripts para dar a dinâmica dos jogos criados na Unity 3D. Tratando e gerando eventos, interferindo nos objetos da cena. Criação de scripts próprios Estrutura de scripts em javascript Declaração de variáveis Função de inicialização Função de atualização Recebendo comandos do usuário Modificando, criando e destruindo gameobjects Eventos: de tempo, de contato e de ação Biblioteca de códigos da Unity 3D 11

Nosso método O diferencial de nosso Centro de treinamento é trabalharmos com profissionais especialistas sobre o tema que está ministrando. Estes profissionais fazem parte do quadro de nossos estúdios ou de estúdios de empresas parceiras e renomadas. Com isso podemos passar o processo de forma real de trabalho, adquirido pela experência dos mesmos. Nossos treinamentos não são de softwares e sim de profissões e técnicas, Por isso nossa escola não trabalha com instrutores de informática e sim com profissionais com base sólida em produção. carga horária Compreende 12 meses, sendo 40 encontros de 03 horas e meia, realizado 01 vez por semana, somando 140 horas. E mais 280 horas de prática extra-classe. Portanto ao longo destes 12 meses você terá que se dedicar no mínimo 420 horas aos estudos da Imagine School. material didático Vídeo-aulas - Tudo o que você aprende na Imagine School, você verá também em vídeo-aula em sua casa. Disponibilizamos todo conteúdo visto em sala de aula, como materiais, links, tutoriais e com suas respectivas vídeo-aulas, que servirá de auxílio para prática de seus exercícios. Pendrive - É obrigatório o uso do pendrive para cópia dos arquivos e video-aulas visto em sala de aula. Sua matrícula dará direito a este pendrive. projeto final - portfólio Durante nosso treinamento é sugerido uma série de exercicios que ao final, será sugerido a criação de um blog para postá-los. Esse procedimento se torna não somente útil, mas também, necessário caso o aluno deseje trabalhar na área de estudo, pois esse será seu portfólio que demonstrará teu domínio sobre os recursos e ferramentas. oportunidades - o sindicato osindicato.com.br é o portal de oferta de empregos relacionado as áreas que nossa escola atende. Com o seu projeto final em mãos, você poderá participar de nosso banco de talentos da Imagine School. Toda a semana são inúmeras vagas solicitadas para profissionais de nossa escola. hall da fama Em Nosso Site seu trabalho poderá ser destacado para todos os usuários. Eles serão escolhidos pelos professores e profissionais da escola. Seu trabalho exposto em nosso site significa pelo 1500 usuários conhecendo seu talento. * As aulas podem sofrer alterações de conteúdo no decorrer do curso e mudança de numeração conforme andamento da turma. 12