Engenharia de Jogos
Alunos:
Alessander Gabriel da Silva
Daniel Almeida de Oliveira
Guilherme Fernando Ferreira
Ricardo Siqueira de Oliveira Leite
Wendel Luis Bernardes Ferreira
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
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
Games: 36.388
Distribuição na AppStore (iOS)
Games: 59.602 (14%)
Porque da Engenharia de Jogos
Equipe de Desenvolvimento de Jogos
 
 
Processo de 
Desenvolvimento 
de 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).
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.
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.
PDJ
Fases do Ciclo de Vida e Artefatos gerados
Metodologias de
Desenvolvimento 
de Jogos
Game Waterfall Process
Fases do Modelo Cascata Tradicional e Adaptado para Jogos
Extreme Game Development
Práticas do Extreme Programming
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: o
Extreme Programming e o RUP.
Scrum
Visão Geral do Scrum
Ferramena CASE
 
 
CASE – conjunto de técnicas e ferramentas informáticas
que auxiliam o engenheiro de software no desenvolvimento de
aplicações
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.
 
Tipos de ferramentas
 
Modelação de processos de negócio
 
Modelação de análise e desenho do sistema
 
 
Programação de aplicações 
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.
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
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
 
 
 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.
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
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  
OpenGL
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
DirectX ( Direct3d )
Conclusão
Diferenç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é
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.

Engenharia de Software para Jogos

  • 1.
    Engenharia de Jogos Alunos: AlessanderGabriel da Silva Daniel Almeida de Oliveira Guilherme Fernando Ferreira Ricardo Siqueira de Oliveira Leite Wendel Luis Bernardes Ferreira
  • 2.
    Sumário ● Introdução ● Equipede Desenvolvimento de Jogos ● Processos de Desenvolvimento de Jogos ● Metodologias de Desenvolvimento de Jogos ● Ferramentas Case ○Engines ■Bibliotecas e SDKs ● Conclusão
  • 3.
    Introdução ● O queum 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
  • 4.
  • 5.
    Distribuição na AppStore(iOS) Games: 59.602 (14%)
  • 6.
  • 7.
  • 8.
  • 9.
    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).
  • 10.
    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.
  • 11.
    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.
  • 12.
    PDJ Fases do Ciclode Vida e Artefatos gerados
  • 13.
  • 14.
    Game Waterfall Process Fasesdo Modelo Cascata Tradicional e Adaptado para Jogos
  • 15.
    Extreme Game Development Práticasdo Extreme Programming
  • 16.
    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: o Extreme Programming e o RUP.
  • 17.
  • 18.
    Ferramena CASE     CASE –conjunto de técnicas e ferramentas informáticas que auxiliam o engenheiro de software no desenvolvimento de aplicações
  • 19.
    Arquitetura das ferramentasCASE           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.  
  • 20.
    Tipos de ferramentas   Modelaçãode processos de negócio   Modelação de análise e desenho do sistema     Programação de aplicações 
  • 21.
    Uniformização do processode 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.
  • 22.
    Evolução   Ferramentas de geraçãoautomá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
  • 23.
    Taxonomia em FerramentasCASE A Taxonomia de ferramentas CASE diz respeito à sua categorização Ferramenta de desenvolvimento de sistemas comerciais Ferramenta de documentação   Ferramentas de prototipação    
  • 24.
     Engines ● É umaFerramenta 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.
  • 25.
    Engines ● Engines Completaspossui 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
  • 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.
  • 28.
    OpenGL Jogos: ■ Alien Arena2008 ■ 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
  • 29.
  • 30.
    Conclusão Diferenç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é
  • 31.
    Bibliografia ● Análise deMetodologias 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.