engenharia de software para jogos

31
Engenharia de Jogos Alunos: Alessander Gabriel da Silva Daniel Almeida de Oliveira Guilherme Fernando Ferreira Ricardo Siqueira de Oliveira Leite Wendel Luis Bernardes Ferreira

Upload: ricardo-leite

Post on 06-Jun-2015

2.155 views

Category:

Technology


5 download

DESCRIPTION

Apresentação apresentada na disciplina de Engenharia de Software na PUC Minas Poços de Caldas

TRANSCRIPT

Page 1: Engenharia de  Software para Jogos

Engenharia de Jogos

Alunos:Alessander Gabriel da SilvaDaniel Almeida de OliveiraGuilherme Fernando FerreiraRicardo Siqueira de Oliveira Leite Wendel Luis Bernardes Ferreira

Page 2: Engenharia de  Software para Jogos

Sumário

● Introdução● Equipe de Desenvolvimento de Jogos ● Processos de Desenvolvimento de Jogos● Metodologias de Desenvolvimento de Jogos● Ferramentas Case

○Engines■Bibliotecas e SDKs

● Conclusão

Page 3: Engenharia de  Software para Jogos

Introdução

● O que um Jogo● Mercado de Jogos● Jogos Consoles ● Jogos Mobile

○Android Market foram feitos + de 4,7 bilhões downloads

○Mercado deve passar de 11 bilhões de dólares○Angry Birds + de 40 milhões de downloads 

● Jogos Web○HTML 5 + CSS3 ○Web Apps

Page 4: Engenharia de  Software para Jogos

Games: 36.388

Page 5: Engenharia de  Software para Jogos

Distribuição na AppStore (iOS)

Games: 59.602 (14%)

Page 6: Engenharia de  Software para Jogos

Porque da Engenharia de Jogos

Page 7: Engenharia de  Software para Jogos

Equipe de Desenvolvimento de Jogos

Page 8: Engenharia de  Software para Jogos

  

Processo de Desenvolvimento 

de Jogos

Page 9: Engenharia de  Software para Jogos

PDJ

     Segundo Almeida [2006], segue uma seqüência lógica de etapas, partindo da concepção, realizando um planejamento detalhado, passando à produção e chegando à finalização. Neste processo, existem iterações, que executadas consecutivamente baseiam-se em retornos, levando a uma evolução do software (construção incremental).

Page 10: Engenharia de  Software para Jogos

PDJ

    Para Sikora [2002] e Cook [2001] jogos eletrônicos não têm requisitos, mas regras. Assim, as regras de um jogo determinam o comportamento e a interação entre os agentes que habitam o seu ambiente.

Page 11: Engenharia de  Software para Jogos

PDJ

      Segundo Petrilo, [2008], o Documento de Projeto (Design Document) é a principal, muitas vezes a única, documentação de um jogo. Seu objetivo é descrever e detalhar a mecânica do jogo, isto é, o que o jogador é capaz de fazer dentro do ambiente do jogo, como ele e capaz de fazê-lo e como isso pode levar a e uma experiência satisfatória.

Page 12: Engenharia de  Software para Jogos

PDJ

Fases do Ciclo de Vida e Artefatos gerados

Page 13: Engenharia de  Software para Jogos

Metodologias de Desenvolvimento 

de Jogos

Page 14: Engenharia de  Software para Jogos

Game Waterfall Process

Fases do Modelo Cascata Tradicional e Adaptado para Jogos

Page 15: Engenharia de  Software para Jogos

Extreme Game Development

Práticas do Extreme Programming

Page 16: Engenharia de  Software para Jogos

Game Unified Process

         Criado por Kevin Flood, um gerente de projetos da área de jogos, o Game Unified Process ou simplesmente GUP, foi concebido com a proposta de unir características presentes em duas outras metodologias de desenvolvimento: oExtreme Programming e o RUP.

Page 17: Engenharia de  Software para Jogos

Scrum

Visão Geral do Scrum

Page 18: Engenharia de  Software para Jogos

Ferramena CASE

    CASE – conjunto de técnicas e ferramentas informáticas que auxiliam o engenheiro de software no desenvolvimento de aplicações

Page 19: Engenharia de  Software para Jogos

Arquitetura das ferramentas CASE

         Deve seguir-se uma estratégia best-of-breed, isto é, selecionar melhor ferramenta para cada funcionalidade. A arquitetura típica da generalidade das ferramentas CASE é constituída por um conjunto de aplicações/componentes, suportados por um repositório integrado. Mecanismos de integração entre ferramentas. 

Page 20: Engenharia de  Software para Jogos

Tipos de ferramentas

  Modelação de processos de negócio  Modelação de análise e desenho do sistema  Programação de aplicações 

Page 21: Engenharia de  Software para Jogos

Uniformização do processo de desenvolvimento e das atividades realizadas

  Reutilização         Automatização de atividades        Diminuição do tempo de desenvolvimento        Integração de artefatos        Demonstração da consistência        Qualidade superior do produto final.        Geradores de código, etc.

Page 22: Engenharia de  Software para Jogos

Evolução

  Ferramentas de geração automática de código, de gestão de projetos, de elaboração de estimativas, de suporte à realização de testes, etc.

Ferramentas de modelação visual, especialmente vocacionadas para as abordagens orientadas por objetos e o desenvolvimento de componentes

Page 23: Engenharia de  Software para Jogos

Taxonomia em Ferramentas CASE

A Taxonomia de ferramentas CASE diz respeito à sua categorização Ferramenta de desenvolvimento de sistemas comerciais Ferramenta de documentação Ferramentas de prototipação   

Page 24: Engenharia de  Software para Jogos

 Engines

● É uma Ferramenta para o desenvolvimento do Game● Possui um conjunto de Bibliotecas, onde cada biblioteca

possui uma funcionalidade específica de cada característica do Game. (ex: Animações Físicas).

● Na Engenharia de Softwares para Games a Engine é um ponto muito importante, pois dependendo da Engine utilizada pode definir um tempo estimado para o Término do Projeto.

● A Engine sendo Completa facilita e agiliza o desenvolvimento.

Page 25: Engenharia de  Software para Jogos

Engines

● Engines Completas possui um Conjunto de Engines menores ou específicas.

● A Primeira Engine de Terceiros foi a Freescape Engine. (Tiro em Primeira Pessoa).

● Empresas que possuem Engines próprias :VALVE coporation, Blizzard Enterteinment

Page 26: Engenharia de  Software para Jogos

Bibliotecas e SDKs

● OpenGL● Glide API● Fahrenheit graphics API● Microsoft XNA ● DirectX(Direct3D)● QuickDraw 3D● Fahrenheit graphics API

●NVIDIA PhysX●Havok●Bullet ●Farseer Physics Engine  

Page 27: Engenharia de  Software para Jogos

OpenGL

Page 28: Engenharia de  Software para Jogos

OpenGL Jogos:■Alien Arena 2008■America's Army (Mac OS X and

Linux versions)■Série Doom■Série Call of Duty■Counter-Strike■CUBE■Enemy Territory: Quake Wars■ Far Cry – Padrão D3D■ Frets on Fire■ FlightGear■Half-Life■OpenArena■Quake■Savage■Second Life

■StarCraft II ( MAC )■Unreal■Urban Terror■Warcraft 3■Wolfenstain■World of Warcraft■Worms \o/

Software:■Adobe After Effects■Adobe Photoshop CS3 +■ 3D Studio Max■Autodesk MAya■Blender■Celestia■Google Earth■Scilab■Stellarium

Page 29: Engenharia de  Software para Jogos

DirectX ( Direct3d )

Page 30: Engenharia de  Software para Jogos

ConclusãoDiferenças na Eng. Jogos e Eng. Software Comercial● Equipes multidisciplinares ●  Inclusões de boas práticas do XP, Scrum, Waterfall para

Artistas. ● Requisitos --> Regras●  MODs

Boas práticas no desenvolvimento de jogos: ● Programação em par● Comunicação entre a equipe● Integração Continua● Reunião em Pé

Page 31: Engenharia de  Software para Jogos

Bibliografia● Análise de Metodologias de Desenvolvimento de Software aplicadas ao Desenvolvimento de Jogos Eletrônicos -  Raphael Lima Belém de Barros 

● Práticas Ageis no Processo de Desenvolvimento de Jogos Eletrônicos - Fábio dos Santos Petrillo

● Aruitetura de Motores de Jogos: Carlos André C. Pessoa,Eduardo Sampaio Rocha e Geber Ramalho

● Engenharia de Software – Roger Pressman, Editora Makron Books, 1995;● Computação Gráfica - Introdução ao OpenGL - Tony Alexander Hild● Indrodução ao OpenGL - http://www.di.ubi.pt/~agomes/cg/praticas/01-opengl-lab.pdf● http://www.opengl.org/about/overview/ a● http://en.wikipedia.org/wiki/OpenGL● SIKORA, D. Incremental development. GameDev.net, junho 2002. Disponível em:

<http://www.gamedev.net/reference/articles/article1843.asp>.● ALMEIDA, Marcos Silvano Orita.MGUP: RUP APLICADO A JOGOS MÓVEIS. Diponivel em: http://www.dominiopublico.gov.br/download/texto/cp000585.pdf Acesso em 30/05/2011.