Prof. MSc. João Ricardo Bittencourt



Documentos relacionados
Aula 3 TECNOLOGIA EM JOGOS DIGITAIS PROGRAMACAO E INTEGRACAO DE JOGOS I. Marcelo Henrique dos Santos

Utilizando o 3D Studio Max como Level Editor para Construção de Cenários para Ogre3D

Utilizando o 3D Studio Max como Level Editor para Construção de Cenários para Ogre3D

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

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Toolkit para Linux Embarcado. Autor: Thiago Waltrik Orientador: Miguel Alexandre Wisintainer

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

Persistência e Banco de Dados em Jogos Digitais

Professor: Ronilson Morais Lobo. Salvador / 2015

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

Sistemas Embarcados Android

Multimídia. Hardware/Software para Multimídia (Parte I) Sistemas Multimídia. Tópico. Hardware e Software para Multimídia

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

Fundamentos de Sistemas Operacionais

Formação de um Game Developer

Simulação Distribuída em Ambientes Virtuais 3D e Mídias Interativas

4 Estrutura do Sistema Operacional Kernel

Sistemas Embarcados Android

Desenvolvimento de uma Biblioteca de Funções para Simulação no Torque Game Engine

Informática Software. Prof. Marcos André Pisching, M.Sc.

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

Soluções Autodesk Transferência de Tecnologias. Parcerias tecnológicas, treinamentos e licenciamentos

AUTOMAÇÃO DE ESCRITÓRIOS ADE

3 SCS: Sistema de Componentes de Software

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

INFORMAÇÃO PROVA FINAL DE CICLO A NÍVEL DE ESCOLA. Aplicações Informáticas B 12º Ano - Prova /2015

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Soluções Autodesk Transferência de Tecnologias

Sistemas Supervisórios

PLANO DE ESTUDOS DE T.I.C. 7.º ANO

Disciplina: Tecnologias de Informação e Comunicação Ano Letivo 2014/2015

Sistemas Operacionais

LAG. Laboratório de Aplicações Gráficas e Desenvolvimento de Jogos. Professor responsável M. Sc. Will Ricardo dos Santos Machado

AGRUPAMENTO DE ESCOLAS DE PORTELA E MOSCAVIDE. Informação - Prova de Equivalência à Frequência da disciplina de Aplicações Informáticas B

Prof. Esp. Lucas Cruz

4 Um Exemplo de Implementação

Informática. Informática. Valdir

VIRTUALIZAÇÃO CONVENCIONAL

... Calendarização: 2 blocos de 90 m Metas/Objetivos Descritores Conceitos/Conteúdos Estratégias/Metodologias Avaliação

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMA GERENCIADOR DE BANCO DE DADOS

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

GOVERNO DO ESTADO DO PARÁ MINISTÉRIO PÚBLICO DE CONTAS DOS MUNICÍPIOS DO ESTADO DO PARÁ MPCM CONCURSO PÚBLICO N.º 01/2015

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

X3DOM E WEBGL: O 3D INDEPENDENTE NA WEB

SECRETÁRIA DE ESTADO DA EDUCAÇÃO DO PARANÁ CURSO PROFISSIONALIZANTE INFORMÁTICA

PLANO DA SITUAÇÃO DE APRENDIZAGEM CURSOS TÉCNICOS. Walter André de Almeida Pires. Silveira

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

MB Engine: Game Engine para a Construção de Jogos em HTML 5

Desenvolvimento de jogo educativo digital para estimular o processo de aprendizagem

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

SISTEMAS OPERACIONAIS

Programação Palm OS. Roteiro da Apresentação. Motivação

Introdução ao Design de Games

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

Governança de TI. ITIL v.2&3. parte 1

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

WHITEPAPER. Guia de compra para câmeras IP: tudo o que você precisa saber antes de adquirir a sua solução digital

Personata Recorder. Manual de Instalação e Configuração

Programação de Computadores - I. Profª Beatriz Profº Israel

Planificação Anual TIC 8º Ano 2012/ PERÍODO

Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados

SISTEMA PARA AUTOMATIZAR O MONITORAMENTO DE ROTEADORES DE UM PROVEDOR DE ACESSO

EMENTA DA DISCIPLINA Hardware e dispositivos de E/S Sistema Operacional Editor de Texto

Sistemas Distribuídos

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

ESCOLA TÉCNICA ESTADUAL DE ILHA SOLTEIRA ILHA SOLTEIRA

Sistemas Distribuídos

EIXO TECNOLÓGICO: INFORMAÇÃO E COMUNICAÇÃO. Relação de Títulos Informação e Comunicação. Aprendizagem

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Governança da Capacidade de TI

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

HELP DESK 2. SERVIÇOS Help Desk Microcomputadores (Desk top e lap top)

Capítulo 2 Introdução à ferramenta Flash

DESENVOLVIMENTO DE SISTEMAS CORRETOS. BISI, Nícolas Nogueira Universidade Federal de Pelotas

Open Graphics Library OpenGL

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Técnico em Informática

SIMULADO Windows 7 Parte IV

PLANIFICAÇÃO ANUAL. Tecnologias da Informação e. Comunicação. Ano Letivo: 2011/2012 E 2012/2013. Professora: Marlene Fernandes. (Marlene Fernandes)

Ambiente Visual para o Desenvolvimento de Jogos Eletrônicos

Modelos de Arquiteturas. Prof. Andrêza Leite

Workshop Construct 2. Gutenberg Neto

A LIBERDADE DO LINUX COM A QUALIDADE ITAUTEC

Professor: Roberto Franciscatto. Curso: Engenharia de Alimentos 01/2010 Aula 3 Sistemas Operacionais

06/06/2013. O que é Software de Sistema? Sistema Operacional (SO) Tipos de Software de Sistema. Fatia de Mercado :: SO Desktop

3.º e 4.º Anos de Escolaridade Competências Conteúdos Sugestões metodológicas Articulações

ESTUDO DE CASO WINDOWS VISTA

COMPONENTES CURRICULARES POR TITULAÇÃO PROCESSO SELETIVO 7591/2013

Desenvolvimento de um aplicativo básico usando o Google Android

DESENVOLVIMENTO DE JOGOS DIGITAIS. Desmistificando o desenvolvimento de games e mercado de trabalho

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva

Windows Partners Day Principais razões para migrar para o Windows Vista

LEAS ONLINE: PROTÓTIPO DE UM JOGO DE MMORPG

APLICATIVO MOBILE CATÁLOGO DE PÁSSAROS - PLATAFORMA ANDROID/MYSQL/WEBSERVICE

Multimídia. Conceitos Básicos (Parte II)

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

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

J3DTOOL Um Motor para o Desenvolvimento de Jogos Educacionais em Java3D

Transcrição:

Introdução aos Motores de Jogos Prof. MSc. João Ricardo Bittencourt joaorb@unisinos.br www.inf.unisinos.br/~jrbitt www.ludensartis.com.br UNISINOS

Sumário 1. Contexto 2. Principais conceitos de motores 3. Arquiteturas de motores 4. Ogre3D 5. Referências

Contexto Game Design Desenvolvimento Codificação Arte Integração Teste

Contexto Game Design Desenvolvimento Codificação Arte Integração Teste

Contexto Existem muitas alternativas para o desenvolvimento de jogos digitais Código de máquina Assembly Bibliotecas OpenGL/DirectX/SDL Toolkits Crystal Space SDKs Dark Game SDK Mas queremos projetar/desenvolver motores de jogos!

Contexto SDK Engine Crystal Space Ogre3D DirectX OpenGL SDL Hardware

Contexto Biblioteca conjunto de funções para desempenhar alguma tarefa SDL, OpenGL, DirectX Toolkits coleção de classes que oferecem um conjunto de serviços CrystalSpace, Ogre3D SDK conjunto de softwares e demais artefatos usados para programar outro software

Conceitos Relação Generalização x Desempenho Criação de um game design Eixo norteador Contextualização de mercado Serão produzidos outros títulos? Definição da plataforma de execução do jogo (recursos) Qual o nível de desempenho requerido pelo jogo? O que é crítico? Nem todo o jogo tem desempenho como requisito crítico Qual o grau de generalização posso adotar?

Conceitos Para Lewis & Jacobson, motores de jogos tratam-se de uma coleção de módulos de simulação que não especifica diretamente o comportamento ou ambiente do jogo Inclui módulos para: Capturar eventos de entrada Gerar saída gráfica e de áudio Gerenciar a dinâmica do mundo de jogo

Conceitos Física Áudio IA Entradas Núcleo Rede 2D 3D Script

Conceitos Física Áudio IA Entradas Núcleo Rede 2D 3D Script

Conceitos ODE OpenAL IA SDL Núcleo HawkNL SDL SDL Ogre3D Python/Lua

Conceitos Esquema genérico de um motor de jogo

Conceitos Para Watt & Policarpo, os principais fatores envolvidos na criação de um motor de jogo Qual o nível de facilidade que será oferecido pelo motor? Oferecer facilidades conforme o gênero. Oferecer diferentes otimizações típicas para cada gênero O que pode ser delegado para o hardware? Evitar despender grande parte do projeto desenvolvendo ferramentas com baixa reusabilidade Complexidade de um jogo digital está embarcada no motor de jogo

Exemplos SCUMM RenderWare Quake, Quake II e Quake III Half Life Unreal Torque Yake (baseada no Ogre3D) Entre outras centenas... http://cg.cs.tu-berlin.de/~ki/engines.html

Arquiteturas Hodorowicz Dados imagens, sons, modelos 3D, scripts,... Sistema comunicação com o hardware Gráficos, entradas, som, timer e configuração do motor Console usada no modo debug Suporte matemática, gerenciador de memória, carregar arquivos, estruturas de dados Renderer produção das imagens sintéticas Interface do jogo abstração do gênero Jogo lógica e os dados usados pelo motor

Arquiteturas Forge V8 3D (Domingues) Baseada no padrão MVC (Modelo-Visão- Controle)

Arquiteturas Gelatti Proposta de generalização da arquitetura do motor

Arquiteturas Bittencourt Periféricos de Entrada Usada no JFRoGE - multiplataforma Evento Laço de Consulta Eventos Mapa de Teclas GAME ENGINE Ação Auto-executável Memória Sinal Controle Atualiza Relógio Sincroniza Render Desenha Cena CONTAINER Superfície Gráfica

Ogre3D O OGRE (Object-oriented Graphics Rendering) foi criado no final de 2001 pelo inglês Steve Streeting, conhecido como Sinbad. É o proprietário da Torus Knot Software Ltd que presta serviços e desenvolve produtos baseado no OGRE. Desenvolvido em C++ executa em diferentes plataformas (Win/Linux/MacOS) Importante! Trata-se de um engine gráfico NÃO é um game engine. Possui uma série de plug-ins, ferramentas e addons para criar diferentes aplicações gráficas.

Ogre3D Suporta diferentes configurações de hardware e é compatível com DirectX e OpenGL. Inclusive permite detectar o hardware e utilizar shaders. Possui bindings para Java,.Net e Python. Vantagem: não precisar reinventar a roda, reiniciar o processo do zero. E o melhor de tudo é um projeto Software Livre! (GNU LGPL) Demonstrações

Referências BATES, Bob. Game Design The Art & Business of Creating Games.Roseville: Prima Tech, 2001, 300 p. BATTAIOLA, André L. Jogos por Computador Histórico, Relevância Tecnológica e Mercadológica, Tendências e Técnicas de Implementação In: XIX Jornada de Atualização em Informática. Proceedings. Curitiba:SBC, Julho/2000, v. 2. pp. 83-122. DOMINGUES, Rodrigo G. Projeto de um framework para auxilio no desenvolvimento de aplicações com gráficos 3D e animação. São Carlos, UFSCAR, 2003, 196 p. (Dissertação de Mestrado)

Referências FURTADO, André; SANTOS, André. FunGEn Um Motor para Jogos em Haskell. In: I Workshop Brasileiro de Jogos e Entretenimento Digital. Proceedings. SBC: Fortaleza, 2002, [Meio digital]. GELATTI, Giorgenes P. A Framework for Building Engines for Games and Simulations In: I Workshop Brasileiro de Jogos e Entretenimento Digital. Proceedings. SBC: Fortaleza, 2002. [Meio digital] HODOROWICZ, Luke. Elements of a Game Engine. 2001. Disponível em: <http://www.flipcode.com/tutorials/tut_el_engine.shtml> Acesso em 16 ago. 2005. (Whitepaper)

Referências MADEIRA, André G. Forge V8: Um Framework para o Desenvolvimento de Jogos de Computador e Aplicações Multimídia. Recife, UFPE, 2001, 99p. (Dissertação de Mestrado) PESSOA, Carlos A.C. wgem: Um Motor para o Desenvolvimento de Jogos para Dispositivos Móveis. Recife: CIN/UFPE, 2001, 58p. (Trabalho de Conclusão) LEWIS, Michael; JACOBSON, Jeffrey. Game Engines in Scientific Research In: Communication of the ACM. Jan. 2002, vol. 45, n. 1, 27-31p.

Referências ROLLINGS, Andrew. MORRIS, Dave. Game Architecture and Design. Arizona: Coriolis, 2000, 742 p. WATT, Alan; POLICARPO, Fabio. 3D Games: Real- Time Rendering and Software Tecnology. Addison- Wesley, 2000, 800 p.