Arquitetura de Jogos Gustavo Goedert. p

Documentos relacionados
MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS

Tópicos Especiais em Engenharia de Software (Jogos II)

Tópicos Especiais em Engenharia de Software (Jogos II)

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica

Curso online de Fundamentos em Android. Plano de Estudo

Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais

Objetivos. do Exame. Certified Expert Gameplay Programmer. Especialista Certificado Unity Programador de Jogabilidade

EducaTrans: um Jogo Educativo para o Aprendizado do Trânsito

Professor: Laboratório de Programação com Games. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF

GPU (Graphics Processing Unit) Bruno Padilha Gregory De Bonis Luciana Kayo

Seleção de Livros sobre Desenvolvimento de Jogos. Por Marcos Romero Dezembro / 2008

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

CURSO SUPERIOR DE TECNOLOGIA EM JOGOS DIGITAIS

Introdução Introdução

Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW.

Desenvolvendo aplicações com Unity3D. Renan Vinicius Aranha

Introdução à Engenharia ENG1000

Simulação de Dispositivos Dinamicos para Jogos

Análise de Motores Gráficos 3D para Simulação de Fluídos

Porte do Engine de Física ODE para a Plataforma Pocket PC

Título do Jogo. game design document versão dia/mês/ano

Descrição. Requisitos. Ementa do curso. Duração: 42h divididas em 12 aulas

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas

Visualizador de animações 3D com suporte ao formato arquivos FBX em Objective-C++

Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010

Escrito por Thiago C. Moraes Sex, 04 de Setembro de :00 - Última atualização Sex, 04 de Setembro de :46

Code em Up: Programando para Games

Processamento Gráfico

Computação Gráfica e Áreas Correlatas

Computação Gráfica e Áreas Correlatas

Desde o surgimento dos primeiros jogos eletrônicos em meados dos anos 50, uma infinidade de aparatos eletrônicos foram desenvolvidos, principalmente

Jogos digitais 3D. O seu desenvolvimento 2013/2014 MIEIC/MIEIG

Desenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais

Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti

VisEdu-MAT: Visualizador de material educacional, módulo de matemática

Daniel Pereira prof. Dalton S. dos Reis

ESTÁGIO CURRICULAR I e II

TRATAMENTO EFICIENTE DE VISIBILIDADE ATRAVÉS DE ÁRVORES DE VOLUMES ENVOLVENTES. Mauricio Hofmam

Objetivos. do Exame. Certified Expert Technical Artist: Shading & Effects. Especialista Certificado Unity Artista Técnico: Sombreamento & Efeitos

Computação Gráfica e Áreas Correlatas

Reconstrutor de modelos 3D utilizando técnica de nível de detalhamento no ios

Programação para Dispositivos Móveis

Introdução à Engenharia ENG1000

PROGRAMAÇÃO EM JOGOS DIGITAIS

Novatec Editora Ltda. 2014, 2016.

Computação e Desenvolvimento de Jogos Digitais

MIEIC Luís Borges up Margarida Silva up Nuno Martins up Tiago Castro up Tiago Fragoso up

ÍCARO GOULART FARIA MOTTA FRANÇA

Computação Gráfica. Representação e Modelagem

Visualização de terrenos em GPU

Oi, Ficou curioso? Então conheça nosso universo.

Aula 1 Introdução ao CryENGINE 3

Programação para Dispositivos Móveis

Uma biblioteca de Realidade Aumentada para a plataforma ios. Acadêmico Paulo Cesar Meurer Orientador Dalton Solano dos Reis

FERRAMENTA DE VISUALIZAÇÃO 3D DE UM SISTEMA DE ARQUIVOS. Vinícius Krauspenhar Orientador: Mauro Marcelo Mattos

Introdução à Engenharia ENG1000

Imagem do Batman: Arkham Asylum capturada em uma GPU NVIDIA. Fornecida pela Eidos Interactive.

Desenv. de Jogos 2D com Unreal Completo

Treinamento Videogames

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 18 Dez/2016.

CURSO TÉCNICO DE INFORMÁTICA. Fundamentos de Hardware e Software

Comparação entre as bibliotecas gráficas. OpenGL e Direct3D. Aluno:Alexandre Otto Strube Orientador: Paulo César Rodacki Gomes

Protótipo de um visualizador de modelos 3D para dispositivos móveis utilizando a plataforma.net CF 2.0

Proposta de Estágio Ano letivo 2011 / 2012 Tema: myplace - participação no desenvolvimento de plataforma de customização de espaços em 3D

Tópicos Especiais em Linguagens de Programação

Novatec Editora Ltda

Desenvolvimento com grandes equipes: desafios e soluções. Charles Marcel de Barros (Lead Game Programmer)

Arquitetura de um video game moderno. Rafael Parente

CONTEÚDO PROGRAMÁTICO

REVOLUTION ENGINE ARQUITETURA DE UM MOTOR 3D PARA JOGOS. Universidade Federal de Pernambuco. Centro de Informática

Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real

Game Design: Rali DaBus

ATIVIDADE PRÁTICA SUPERVISIONADA Objetivos Atividades a serem desenvolvidas Avaliação

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Professor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF

Desenvolvimento de um Escalonador de Cenas para motores de jogos

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Um Sistema de Animação Baseado em Movimento Capturado

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

Virtualizando Sistema Operacional

Prof. MSc. João Ricardo Bittencourt

Desenvolvimento de Jogos 3D com o Blender

Licenciatura em Engenharia Multimédia

Direitos autorais e os canais de gameplay

Computação e Imagens: PI, CG e Visualização. Computação Visual

DESENHO TÉCNICO AULA 01 INTRODUÇÃO À UNIDADE CURRICULAR

Simulador de um Ambiente Virtual Distribuído Multiusuário para Batalhas de Tanques 3D com Inteligência Baseada em Agentes BDI

Game Design Document

º SEMESTRE

Ementário das disciplinas do Curso Superior de Tecnologia em Redes de Computadores. - Núcleo Básico -

INTRODUÇÃO. Prof. Msc. Luis Filipe Alves Pereira 2015

CHAMADA PÚBLICA 06/ EDITAL DE SELEÇÃO

Terceira Edição Revisada e Ampliada. Allan Brito. Novatec

Blender 3D jogos e animações interativas Allan Brito

Introdução à Computação Gráfica

Enquadramento e Conceitos Fundamentais

Computaçã. Visão Geral. Sistema Gráfico. Computação Gráfica. Pixels. Sistema Gráfico e o Frame Buffer. Introdução à Computação Gráfica

NIGHTMARE BEATS. Acadêmico do Curso de Bacharelado em Sistemas de Informação da Faculdade de Apucarana FAP 2

Transcrição:

Arquitetura de Jogos Gustavo Goedert http://www.gustavogoedert.com/lectures/facin0810.zi p

Sobre o Apresentador Empresas Southlogic Studios (1999-2008) Ubisoft Porto Alegre (2009-2010) Atualmente pesquisador na FACIN Trabalho Trabalho em Sistemas para Engines Porting entre DirectX PS2 Xbox Xbox360 Wii

Resumo da Palestra Trabalhando em equipe em um projeto de jogos Soluções para projetos de jogos Ferramentas usadas em projetos de jogos Visão geral sobre os diversos subsistemas de um engine de jogos

Equipes em um Projeto de Jogos Equipes de Programação Engine Ferramentas Aplicação Equipes de Arte Props Montagem de Niveis Game Designer

Trabalho em Equipe Todo mundo tem que trabalhar em conjunto Se alguém atrasa todo mundo atrasa Se a empresa atrasa o publicador não paga

Soluções de Projeto Documentos Design Doc (feito principalmente pelo Game Desginer - descreve como vai ser o jogo) Tech Doc (negociado por toda a empresa - descreve como o jogo vai ser feito) Cronogramas/Milestones podem ser usados reuniões semanais com codereview e também scrum Cronogramas podem ser revistos periodicamente Gerenciamento das equipes Acompanhamento do cronograma e manter as equipes focadas Resolução de problemas upstream (mais barato) e evitar problemas downstream

Ferramentas Externas Preferência a ferramentas open-source Ferramenta de Controle de Versão (Mercurial, SVN, CVS, SourceSafe, Perforce...) Código, Arte, Documentos do Projeto Editores 3D e 2D (Blender, GIMP, Max, Photoshop,...) Compiladores Ferramenta de acompanhamento de bugs (Bugzilla) Gerador do Instalador (Inno Setup)

Ferramentas Internas Faça a ferramenta que faz o dado Exportador de modelos do editor 3d Visualizador de modelos Editor de Níveis Criador de Packs Simplicidade de instalação Criptografia

O Que é um Engine A expressão apareceu nos anos 90 Apareceram primeiro em FPS tipo Doom Separação core, assets e as regras que definem o gameplay Com um mesmo engine podemos fazer vários jogos mudando os assets e o gameplay Desde então os engines estão cada vez mais evoluídos

Engine Engine pode ser desenvolvido inhouse ou comprado Criação de títulos derivados Upgrade facilitado da tecnologia desenvolvida Exemplos Quake Unreal Renderware

Subsistemas Específicos de Jogos Rendering Mecânicas de jogadores Câmeras IA

Interface com o Usuário HUD GUI Vídeo

Interface com o Usuário HUD GUI Vídeo

Interface com o Usuário HUD GUI Vídeo

Fundamentos do Jogo Elementos Estáticos Elementos Dinâmicos Simulação em Tempo Real Sistema de Mensagens/Eventos Streaming do Nível/Mundo

Efeitos Visuais Iluminação HDR Partículas

Efeitos Visuais Iluminação HDR Partículas

Efeitos Visuais Iluminação HDR Partículas

Grafos de Cena / Otimizações de Culling Subdivisão Espacial /Oclusão & PVS Arvore de esferas BSP Octree

Grafos de Cena / Otimizações de Culling Subdivisão Espacial /Oclusão & PVS Arvore de esferas BSP Octree

Grafos de Cena / Otimizações de Culling Subdivisão Espacial /Oclusão & PVS Arvore de esferas BSP Octree

Grafos de Cena / Otimizações de Culling Sistema de LOD

Colisão & FísicaF Intersecção de Raio/Esfera (testes seleção de objetos)

Colisão & FísicaF Rigid Bodies / Resolução de Colisões

Animação de Esqueletos Inverse Kinematics

Animação de Esqueletos Playback de Animações

Animação de Esqueletos Ragdoll

Multiplayer Online Match-Making Política sobre autoridade dos objetos do jogos Replicação do estado do jogo

Áudio Efeitos DSP Modelo de áudio 3D Gerenciamento de playback de áudio Streaming

Rendering Low-Level Level Materiais/Shaders Iluminação Estática & Dinâmica Câmeras Textos & Fontes Primitivas (Sopa de Triângulos) Viewports & Telas Virtuais Gerenciamento de Superfícies (Texturas, Shaders) Interface com Dispositivo Gráfico

Interface com Jogador I/O Dispositivos físicos

Interface com Jogador Interface especifica de jogo

Recursos (Assets do Jogo) Modelos 3D

Recursos (Assets do Jogo) Texturas

Recursos (Assets do Jogo) Materiais

Recursos (Assets do Jogo) Fontes

Recursos (Assets do Jogo) Esqueletos

Recursos (Assets do Jogo) Modelos de Colisão

Recursos (Assets do Jogo) Mapas do Mundo/Jogo

Sistemas BásicosB Inicialização / Finalização Assertions Gerenciamento de Memória Biblioteca Matemática Biblioteca de Debuging/Logging Profiling/Estatísticas Serviços de Localização Playback de Filmes Parsers (XML) Configuração do Engine Gerador de Números Aleatórios Biblioteca de Curvas e Superficies Handles de Objetos / IDs Únicos I/O de arquivos assíncrono

Sistemas Independentes de Plataforma Detecção da Plataforma Tipos Atômicos Coleções e Iteradores (STL/Boost) Abstração do Sistema de Arquivos Abstração da Rede (UDP/TCP/?) Timer de Alta Resolução Abstração Dispositivo Gráfico Abstração Física/Colisão

SDK's / Sistemas Proprietários rios DirectX, OpenGL, Xbox360, Playstation, Nintendo... Havok, PhysX, ODE, etc. Boost++ STL Kynapse Granny, Havok, ODE, etc. etc...

AINDA TEM OS Drivers Hardware

Referencias Graphic Gems (1-5 meio antigo mas ainda valido) Game Programming Gems (1-7) AI Game Programming Wisdom (1-4) GPU Gems (1-3) ShaderX (1-5) Massively Multiplayer Game Development (1-2) Secrets of the Game Business Introduction to Game Development GDC (evento) Game Developer Magazine (revista) Gamasutra (site)

Contato http://www.gustavogoedert.com