A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvimento de Jogos Um Processo Criativo de Engenharia de Software Gustavo Henrique Nacha Costa 13 / 07 / 2005 –

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de Jogos Um Processo Criativo de Engenharia de Software Gustavo Henrique Nacha Costa 13 / 07 / 2005 –"— Transcrição da apresentação:

1 Desenvolvimento de Jogos Um Processo Criativo de Engenharia de Software Gustavo Henrique ghpc@cin.ufpe.br Nacha Costa ncb@cin.ufpe.br 13 / 07 / 2005 – CIn – UFPE

2 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br2 Jogo: Pacman [1] Plataforma: Atari 2600 (~ $249 – 1977) [9]

3 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br3 Jogo: Super Mario World [3] Plataforma: Super Nintendo (~ $199 – 1991) [2] [9]

4 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br4 Jogo: Need for Speed [4] Plataforma: Playstation I (~ $299 - 1995) [2] [9]

5 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br5 Jogo: Dead to rights II – Hell to pay [6] Plataforma: Playstation II (~ $299 - 1995) [5] [9]

6 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br6 Jogo: Forza Motorsport [8] Plataforma: Xbox (~ $299 - 2001) [7] [9]

7 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br7 Jogo: Gears of War [8] Plataforma: Xbox 360 (~ $400 - 2005) [3] [9]

8 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br8 Jogo: Killzone 2 [6] Plataforma: Playstation 3 (?? – 2006) [3] [9]

9 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br9 Jogo: Battlefield 2 [6] Plataforma: PC

10 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br10 Algumas Empresas [10]

11 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br11 Desenvolvimento de Jogos [11] Annual SalaryUS Average Salary ($)36.210 [12] Computer Programmers64.510 [12] Multimedia artists and animators 52.880 [12] Lead Game Programmer (2-5 years exp.) 79.904 [13] Lead Game Artists (5 years exp.) 53.636 [13] Faturamento: US$ 17 bilhões em 2003 [14] Obs.: Maior do que a indústria de cinema.

12 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br12 Cadeia de Valor [15] Desenvolvedor Artista Animador Designer Eng. de som Programador Testador = Processo criativo Detentor de Licenças Detentor de Licenças Subcontratados Publisher = Financiador Dinheiro Arquivos de música / arte / etc. Jogo Dinheiro Dados para o jogo Dados para marketing Marketing Relações Públicas ProduçãoDistribuição

13 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br13 Processo de Desenvolvimento [16] METODOLOGIA DE DESENVOLVIMENTO QUALIDADE PLANEJAMENTO & GERÊNCIA Game Design Testes Desenvolviment o

14 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br14 Processo de Desenvolvimento [16] METODOLOGIA DE DESENVOLVIMENTO QUALIDADE PLANEJAMENTO & GERÊNCIA Game Design Testes Desenvolviment o

15 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br15 XGD [17] XGD = Extreme Game Development [21] –Uma adaptação do XP para jogos Foco: criar um produto (jogo) funcional Várias empresas já utilizam esta metodologia [18] Motivação: elevado índice de atrasos no desenvolvimento de jogos vs. penalidades severas impostas pelos Publishers [19] Atrasos [20] –Tecnologia muda muito rapidamente –Freqüentemente os desenvolvedores querem fazer “O” jogo –Publishers freqüentemente mudam seus anseios XGD: uma maneira de minimizar os atrasos

16 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br16 XGD [17] Os valores do XP precisam ser preservados no XGD –Simplicidade, comunicação, feedback, coragem Estórias: ajudam a estimar e identificar requisitos do jogo –Pequenas descrições de funcionalidades do jogo Exemplo (PACMAN): –Ao iniciar o jogo, o jogador verá um labirinto, fantasmas dentro deste labirinto, um score na parte inferior do vídeo e a quantidade de vidas (abaixo do score). Algumas estórias específicas podem ser traduzidas em casos de uso –É possível utilizar UML para modelar unidades críticas do jogo (caso de uso, diagramas de seqüência, diagramas de classes, etc.) Dificuldades em traduzir práticas do XP para XGD: –Pair-programming (artistas)

17 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br17 XGD [17]

18 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br18 Processo de Desenvolvimento [16] METODOLOGIA DE DESENVOLVIMENTO QUALIDADE PLANEJAMENTO & GERÊNCIA Game Design Testes Desenvolviment o

19 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br19 Qualidade [22] Documentar o que se espera por qualidade (do processo, do produto, das pessoas) –Utilizar parâmetros mensuráveis Qualidade do Processo –Documentar o processo de desenvolvimento de jogos –Estabelecer padrões de documentação Qualidade do Produto –Inspecionar o código durante o desenvolvimento –Realizar testes (unitários, funcionais, de jogabilidade, de usabilidade, etc.) Qualidade das Pessoas –Prover um ambiente de desenvolvimento confortável –Não deixar o desenvolvedor confundir criar jogos com jogar

20 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br20 Processo de Desenvolvimento [16] METODOLOGIA DE DESENVOLVIMENTO QUALIDADE PLANEJAMENTO & GERÊNCIA Game Design Testes Desenvolviment o

21 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br21 Planejamento & Gerência [23] [24] [25] Gerenciar / Planejar é uma atividade extremamente crítica no desenvolvimento de jogos Alto grau de interdependência entre recursos e pessoas –É fácil gerar atrasos Prazos rígidos (planejamento de marketing do Publisher) –Multas severas para atrasos Programador: implementar movimentação do player –Precisa: do modelo animado do personagem (animador) Animador: animar o personagem –Precisa: do modelo estático do personagem (modelador) Modelador: modelar o personagem –Precisa: da arte conceitual do personagem (artista)

22 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br22 Planejamento & Gerência [26] Essencial: planejar os riscos Desenvolver jogos depende de –Conhecimento técnico (OpenGL, Processamento Gráfico, etc.) –Alto grau de especialização (Engenheiro de som, etc.) –Subjetividade / intuição (O que irá prover diversão, etc.) vários fatores que potencializam riscos RISCORECURSOSIMPACTOCONTINGÊNCIAMITIGAÇÃO Atraso da versão experimental do jogo Programação / Design 10 dias (2 semanas) para o primeiro demo Redigir um bom documento de game design e começar a implementação em paralelo Negociar 1 hora extra por dia no expediente

23 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br23 [A] Graphics Engine [B] Sound Engine [C] Music Engine [D] Input Engine [E] Gameplay/general programming [F] Physics [G] 2D Artwork [H] 3D Artwork [I] Sound effects [J] Music recording [K] Level Design Planejamento & Gerência [27] Essencial: organizar as interdependências

24 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br24 Processo de Desenvolvimento [16] METODOLOGIA DE DESENVOLVIMENTO QUALIDADE PLANEJAMENTO & GERÊNCIA Game Design Testes Desenvolviment o

25 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br25 Game Design [15] [28] [29] Espinha dorsal de projetos de desenvolvimento de jogos Descrição das características do produto final (jogo) Objetivos –Apresentar o jogo para o publisher –Motivar e dar objetivos à equipe de desenvolvimento –Unificar a visão da equipe –… Game design: expressa a visão do jogo, descreve suas características e apresenta um plano de implementação Essencial produzir um documento explicativo e bem estruturado Documento continuamente atualizado

26 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br26 Introdução –Motivação do documento –Objetivos do documento –Público-alvo do documento Concepção do Jogo –Introdução do jogo –Background do jogo –Descrição do jogo –Principais características –Plataformas (restrições) –Arte conceitual Game Design [28] [29] [30] [31] [32]

27 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br27 Game Design [28] [29] [30] Proposta do Jogo –Análise da concepção do jogo –Análise de mercado –Análise técnica –Análise legal –Custos e projeções de venda Especificação Funcional –Mecânica do jogo Fluxo do jogo Atuação do jogador Física, IA GUI Arte, efeitos sonoros e música Estágio 1 Estágio 2aEstágio 2b Estágio Final FácilEstágio Final Difícil Estágio Especial Game Over Final

28 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br28 Processo de Desenvolvimento [16] METODOLOGIA DE DESENVOLVIMENTO QUALIDADE PLANEJAMENTO & GERÊNCIA Game Design Testes Desenvolviment o

29 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br29 Desenvolvimento [15] [33] Diablo II [31] –Desenvolvedores (full-time): 40 / Tempo de desenvolvimento: 3 anos –Lançamento: 28 de Junho de 2000 / Plataformas: PC e Macintosh Tom Clancy's Splinter Cell [34] –Desenvolvedores (full-time): 76 / Tempo de desenvolvimento: 5 meses –Lançamento: 28 de Março de 2003 / Plataforma: PlayStation 2 Final Fantasy VII [15] –Custo: US$ 40 milhões / Tempo de desenvolvimento: 3 anos Asheron’s Call [15] –Tempo de desenvolvimento: 4 anos / Linhas de código: 2 milhões Não há mais espaço para romantismo no desenvolvimento. –Especificação técnica: classes, padrões de codificação, etc.

30 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br30 Desenvolvimento [35] EstóriasGame Design + Design criativo (Planejamento) Design criativo Design técnico (Planejamento) Design técnico Documento de Projeto Implementação Testes FIM Obs.: O pessoal de arte também está trabalhando!

31 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br31 Desenvolvimento [35] Design criativo Design técnico Overview Temática Interface Storyboards Protótipos Mecânica do Jogo Descrevem tecnicamente como o jogo irá “look, feel, play” Análise de requisitos Arquitetura do sistema Especificação de módulos

32 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br32 Postmortem [36] Realizar uma análise crítica sobre o processo de desenvolvimento do jogo –Boas práticas vs. Práticas equivocadas Propagar acertos e não insistir nos erros Definir um formato padrão –Introdução / Processo de Desenvolvimento / Time de Desenvolvimento / Ferramentas Utilizadas / Práticas certas / Práticas erradas / Dados Numéricos do Projeto / Conclusão Diablo II [31] Boas PráticasPráticas Equivocadas - Grau de detalhes de cada jogador - Tecnologias vs. Modelos

33 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br33 Critical Stage Analysis (CSA) [37] "What's wrong with the games that are out there today?“ –Wolfgang Hamann Postmortem –No final do projeto –Não oferece possibilidade de resolver erros no projeto atual –Ninguém é responsável por corrigir os erros apontados pelo postmortem –Costuma lidar com problemas de alto nível CSA: busca melhorar o jogo atual examinando o seu progresso em estágios críticos durante o seu ciclo de desenvolvimento –5 pontos positivos –5 pontos negativos –5 pontos que podem ser melhorados

34 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br34 Processo de Desenvolvimento [16] METODOLOGIA DE DESENVOLVIMENTO QUALIDADE PLANEJAMENTO & GERÊNCIA Game Design Desenvolviment o Testes

35 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br35 Testes [38] “Sometimes I think of making a videogame as an endless process of fixing thousands of bugs.” –Jamie Fristom Early AlphaLate AlphaBeta

36 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br36 Testes [39] Jogabilidade + Level Design –Usabilidade A experiência do jogador está intimamente relacionada com a usabilidade do jogo Grande gama de jogos dentro de um mesmo estilo –Jogos de corrida Classificação de problemas de usabilidade [40]

37 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br37 Testes [39] Tipo: Severo Descrição: o player se move muito devagar Tipo: Severo Descrição: não há feedback indicando que não é possível pegar algum item Tipo: Severo Descrição: o player pegou uma arma e não notou Tipo: Catastrófico Descrição: uma cor possui vários significados no mapa

38 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br38 Conclusões Atualmente o mercado de jogos exige um processo criativo de engenharia de software para possibilitar o desenvolvimento de jogos mais complexos e com melhor qualidade Um processo bem definido de desenvolvimento é um diferencial entre consolidar uma empresa de jogos no mercado e a falência É difícil enunciar um processo único / geral –Cada empresa precisa adaptar a sua realidade / as suas necessidades Mas o processo não pode deixar de ser criativo! [6]

39 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br39 A Referência [16]

40 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br40 Referências [1] www.answers.com [2] www.cyberiapc.com [3] www.gamespot.com [4] www.vidgames.com/ps/screens/screens.html [5] www.us.playstation.com [6] www.finalboss.com [7] http://xbox-codes.com [8] http://screenshots.teamxbox.com [9] www.ps3portal.com/?page=history [10] http://en.wikipedia.org/wiki/Category:Computer_and_video_game_companies [11] The State of Game Development in Eastern Europe [12] U.S. Department of Labor Bureau of Labor Statistics, May 2003 National Occupational Employment and Wage Estimates [13] 2003 Game Development Salary Survey, CMP Media Inc. [14] The Economist 2003 [15] Slides da disciplina de Projeto e Implementação de Jogos 2D do CIn – UFPE [16] Jeannie Novak, Game Development Essentials: An Introduction

41 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br41 Referências [17] Thomas Demachy, Extreme Game Development: Right on Time, Every Time [18] James Fristrom, Treyarch's Spider-Man, Game Developer Magazine, Aug 2002 [19] Jim Charne, Time is of the Essence, Famous Last Words IGDA column, Dec 2001 [20] Gamasutra PostMortem Collection [21] http://www.extremegamedev.org/cgi-bin/wiki.pl [22] Phillip DeRosa, Top 10 Tips on How to Improve a Game Quality Assurance Department [23] Jamie Fristrom, Manager In A Strange Land: Dependencies, Part One – Gamasutra Article [24] Jamie Fristrom, Manager In A Strange Land: Dependencies, Part Two – Gamasutra Article [25] Tim Ryan, Controlling Chaos in the Development Process [26] Timothy Ryan, Risk Management With Development Schedules [27] Jack Hoxley, Critical Path Analysis and Scheduling for Game Development [28] Tim Ryan, The Anatomy of a Design Document, Part 1 [29] Tim Ryan, The Anatomy of a Design Document, Part 2 [30] Documento de game design do jogo Exordium implementado na disciplina de jogos [31] Postmortem: Blizzard Entertainment's Diablo II [32] Postmortem: SWAT3: Close Quarters Battle

42 13 / 07 / 2005{ ghpc, ncb } @ cin.ufpe.br42 Referências [33] Erik Bethke, Structuring Key Design Elements [34] Postmortem: Tom Clancy's Splinter Cell [35] Gordon Walton, Bringing Engineering Discipline to Game Development [36] Gamasutra Postmortem Guidelines [37] Wolfgang Hamann, Goodbye Postmortems, Hello Critical Stage Analysis [38] Jamie Fristrom, Production Testing and Bug Tracking [39] Sauli Laitinen, Better Games Through Usability Evaluation and Testing

43 Desenvolvimento de Jogos Um Processo Criativo de Engenharia de Software Gustavo Henrique ghpc@cin.ufpe.br Nacha Costa ncb@cin.ufpe.br 13 / 07 / 2005 – CIn – UFPE


Carregar ppt "Desenvolvimento de Jogos Um Processo Criativo de Engenharia de Software Gustavo Henrique Nacha Costa 13 / 07 / 2005 –"

Apresentações semelhantes


Anúncios Google