Engenharia de Software para Jogos

3,695 views

Published on

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

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,695
On SlideShare
0
From Embeds
0
Number of Embeds
221
Actions
Shares
0
Downloads
120
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Engenharia de Software para Jogos

  1. 1. Engenharia de JogosAlunos:Alessander Gabriel da SilvaDaniel Almeida de OliveiraGuilherme Fernando FerreiraRicardo Siqueira de Oliveira LeiteWendel Luis Bernardes Ferreira
  2. 2. 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
  3. 3. Introdução● O que um Jogo● Mercado de Jogos● Jogos Consoles● Jogos Mobile○Android Market foram feitos + de 4,7 bilhõesdownloads○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
  4. 4. Games: 36.388
  5. 5. Distribuição na AppStore (iOS)Games: 59.602 (14%)
  6. 6. Porque da Engenharia de Jogos
  7. 7. Equipe de Desenvolvimento de Jogos
  8. 8.   Processo de Desenvolvimento de Jogos
  9. 9. PDJ     Segundo Almeida [2006], segue uma seqüência lógica deetapas, partindo da concepção, realizando um planejamentodetalhado, passando à produção e chegando à finalização.Neste processo, existem iterações, que executadasconsecutivamente baseiam-se em retornos, levando a umaevolução do software (construção incremental).
  10. 10. PDJ    Para Sikora [2002] e Cook [2001] jogos eletrônicosnão têm requisitos, mas regras. Assim, as regras deum jogo determinam o comportamento e a interaçãoentre os agentes que habitam o seu ambiente.
  11. 11. PDJ     Segundo Petrilo, [2008], o Documento de Projeto (DesignDocument) é a principal, muitas vezes a única, documentaçãode um jogo. Seu objetivo é descrever e detalhar a mecânicado jogo, isto é, o que o jogador é capaz de fazer dentro doambiente do jogo, como ele e capaz de fazê-lo e como issopode levar a e uma experiência satisfatória.
  12. 12. PDJFases do Ciclo de Vida e Artefatos gerados
  13. 13. Metodologias deDesenvolvimento de Jogos
  14. 14. Game Waterfall ProcessFases do Modelo Cascata Tradicional e Adaptado para Jogos
  15. 15. Extreme Game DevelopmentPráticas do Extreme Programming
  16. 16. Game Unified Process         Criado por Kevin Flood, um gerente de projetos da áreade jogos, o Game Unified Process ou simplesmente GUP, foiconcebido com a proposta de unir características presentesem duas outras metodologias de desenvolvimento: oExtreme Programming e o RUP.
  17. 17. ScrumVisão Geral do Scrum
  18. 18. Ferramena CASE  CASE – conjunto de técnicas e ferramentas informáticasque auxiliam o engenheiro de software no desenvolvimento deaplicações
  19. 19. 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 ferramentasCASE é constituída por um conjunto deaplicações/componentes, suportados por um repositóriointegrado.Mecanismos de integração entre ferramentas. 
  20. 20. Tipos de ferramentas Modelação de processos de negócio Modelação de análise e desenho do sistema  Programação de aplicações 
  21. 21. Uniformização do processo de desenvolvimentoe 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.
  22. 22. Evolução Ferramentas de geração automática de código, de gestão deprojetos, de elaboração de estimativas, de suporte à realizaçãode testes, etc.Ferramentas de modelação visual, especialmentevocacionadas para as abordagens orientadas por objetos eo desenvolvimento de componentes
  23. 23. Taxonomia em Ferramentas CASEA Taxonomia de ferramentas CASE diz respeito à suacategorizaçãoFerramenta de desenvolvimento de sistemas comerciaisFerramenta de documentação Ferramentas de prototipação  
  24. 24.  Engines● É uma Ferramenta para o desenvolvimento do Game● Possui um conjunto de Bibliotecas, onde cada bibliotecapossui uma funcionalidade específica de cadacaracterística do Game. (ex: Animações Físicas).● Na Engenharia de Softwares para Games a Engine é umponto muito importante, pois dependendo da Engineutilizada pode definir um tempo estimado para o Términodo Projeto.● A Engine sendo Completa facilita e agiliza odesenvolvimento.
  25. 25. Engines● Engines Completas possui um Conjunto de Enginesmenores ou específicas.● A Primeira Engine de Terceiros foi a Freescape Engine.(Tiro em Primeira Pessoa).● Empresas que possuem Engines próprias :VALVEcoporation, Blizzard Enterteinment
  26. 26. 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  
  27. 27. OpenGL
  28. 28. OpenGLJogos:■ Alien Arena 2008■ Americas Army (Mac OS X andLinux 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
  29. 29. DirectX ( Direct3d )
  30. 30. ConclusãoDiferenças na Eng. Jogos e Eng. Software Comercial● Equipes multidisciplinares●  Inclusões de boas práticas do XP, Scrum, Waterfall paraArtistas. ● Requisitos --> Regras●  MODsBoas práticas no desenvolvimento de jogos:● Programação em par● Comunicação entre a equipe● Integração Continua● Reunião em Pé
  31. 31. Bibliografia● Análise de Metodologias de Desenvolvimento de Software aplicadas aoDesenvolvimento de Jogos Eletrônicos -  Raphael Lima Belém de Barros ● Práticas Ageis no Processo de Desenvolvimento de Jogos Eletrônicos - Fábio dosSantos Petrillo● Aruitetura de Motores de Jogos: Carlos André C. Pessoa,Eduardo Sampaio Rochae 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.pdfAcesso em 30/05/2011.

×