programação de jogos alexandre tolstenko nogueira [email protected]
TRANSCRIPT
Apresentação
• Estudante Unicamp;• Integrante do Gamux;• Participante do LMSu – Microsoft Innovation
Center;• Palestrante de cursos de programação de
jogos; • Programador desde 8ª série;• Viciado por jogos eletrônicos.
Sinopse
Breve Histórico
Profissionais de Games
Produção de Games Mercado Como
Começar
Histórico
• Início nos anos 70/80– Geralmente desenvolvido por uma única pessoa;– Osciloscópio: Tenis para dois;– Pong: Atari;– Tetris.
• Atualmente:– Centenas de pessoas trabalham na produção de
um jogo;• Futuro?
Breve Histórico
Profissionais de Games
Produção de Games Mercado Como
Começar
Profissionais de Games
• Equipe multi-disciplinar:– Marketing;– Desenhistas;– Modeladores;– Escritores;– Músicos;– Programadores;– Testadores;– Projetista de Níveis, de Personagens, de Jogos;– ...
Breve Histórico
Profissionais de Games
Produção de Games
Etapas GDD Storyboard Concept Art Arte Final
Mercado Como Começar
Etapas
• Concepção;• Modelagem
(documentos de Design, Technical Design; Visão; Mercado …);
• Construção do jogo;• Testes;• Etapas comuns ao
desenvolvimento de um software.
Produção de Games
Estudo de Requisitos Brainstorm Conceito
de Jogo
GDD TDD Construção do Jogo
Alpha Beta Release
Brainstorm – Ideamap
Game Design Document(Nosso Modelo)
• Sumário Executivo• Conceito• Tema• Visão Geral• História de Fundo• Exemplo de jogo• Plataformas• Público Alvo• Diferencial• Jogos Concorrentes• Requisitos de Sistema• Gameplay• Gameflow• Menu / Fluxo de Telas
• Controles• Elementos de Tela (HUD)• Personagens e Objetos• Elementos de Jogo• Gráficos• Multiplayer• Física• IA• Áudio/Som• Níveis• Milestones• Plano de Negócios• Licença do Jogo
StoryboardImagens: Ricardo Nakayma
StoryboardImagens: Ricardo Nakayma
Concept Art
Imagens: Ricardo Nakayma
Arte FinalImagens: Alexandre Creto
Breve Histórico
Profissionais de Games
Produção de Games Mercado
Tipos de Jogos
Tipos de Jogadores
O que querem
O que esperam Atualidades Requisitos
Como Começar
Tipos de Jogos
• Advergames; Jogos educacionais; Serious Games; RPG; MMO; Simuladores de corrida, aviões etc; Puzzle; Quiz; FPS; RTS; Estratégia; Tabuleiro; Cartas; Adventure; Ação; Esportes; …
Tipos de Jogadores
• Casual;• Hardcore;• Pro;• Newbie;• Import;• Retro;• Girl;
O que querem?
• Desafio• Socializar• Ter uma
experiência dinâmica solitária
• Gabar-se• Emoção• Fantasiar
O que esperam?• Soluções razoáveis• Direção• Continuidade• Imergir• Falhar• Chance justa• Não ter que repetir• Um mundo consistente• Não perder as esperanças• Fazer, não assistir• Conhecer as fronteiras do
universo do jogo
Atualidades
• Faturamentos de 2007 e 2008 superou as indústrias de música e cinema;
• “U.S. computer and video game software sales grew 22.9 percent in 2008 to $11.7 billion – more than quadrupling industry software sales since 1996.”
• 77% de chefes de família jogam algum jogo digital• Média de idade de jogadores: 35 anos e jogam em média há
12 anos;• Média de idade de compradores: 39 anos• 63% dos pais acreditam que games são construtivos na
formação dos filhosFonte: www.theesa.com
Atualidades
Atualidades
Atualidades
Atualidades
Atualidades
Fonte: Abragames, 2005
Atualidades
Fonte: Abragames, 2005
Fonte: Game Developer 2009
Fonte: Game Developer 2009
Fonte: Game Developer 2009
Requisitos do Profissional
• Programador:– Proficiência em C/C++;– Conhecimentos avançados de algebra linear,
computação gráfica, algorítmos, física …;– Conhecimento de diversas APIs, SDKs,
Frameworks, Bibliotecas: DirectX, OpenGL, Physx, Xlib, Win32 …;
– Boa capacidade comunicativa.
Requisitos do Profissional
• Artista (imagem):– Proficiência em design
de conceitos, animação, modelagem, desenho …;
– Experiência em algum software: 3DSMax, Maya, Blender, Photoshop, Zbrush, Softimage XSI… ;
– Boa capacidade comunicativa.
Breve Histórico Profissionais de Games
Produção de Games Mercado Como Começar
Diálogo Ferramentas Requisitos Dificuldades Facilidades Campeonatos
Diálogo
• “Agora me empolguei e farei um MMO / FPS melhor que World of Warcraft / Crysis com meus colegas!“;
• Esses jogos são feitos por equipes gigantescas e altamente especializadas;
• Vejamos o caso do GTA 4:– 1000+ pessoas trabalhando em tempo integral;– 3,5 anos de desenvolvimento;– 100+ milhões de dólares investidos.
Diálogo
• “Mas não desanimem! Ainda é possível!”;• Tibia:– 3 desenvolvedores, que começaram o
desenvolvimento durante a graduação;– Chegou a um pico de 64,000 players online e 77
servers em 28 de novembro de 2007;– Contra-mão da evolução que deu certo: apostaram em
2D quando o 3D estava apontando!– Primazia pela simplicidade e leveza do jogo;– Primeiro MMORPG para celular: TibiaME!
Diálogo
• Percebam que uma boa idéia para um jogo faz toda a diferença;
• Evitem escolher como projetos iniciais games MMO, RPG, ou qualquer outro que tome muito tempo;
• Uma frase bem comum e repetida no Gamux: “Apenas após o seu 10o game, será capaz de fazer o seu 1o bom jogo.”.
Diálogo
• “Então só me resta fazer um pong!”
• É inevitável isso. Até hoje não conheço um programador de games que não tenha feito um PONG na vida;– Já que vai fazer um PONG,
aproveite o embalo e faça um SNAKE, SPACE INVADERS, TETRIS, ASTEROIDS …
Diálogo
• “Ok, entendi seu ponto, então como devo fazer um game? em assembly?”
• “We will gladly sacrifice 10% of our performance for 10% of our productivity”, Tim Sweeney (Unreal 3)– Pensem bem quais
ferramentas liguagens a utilizar.
Diálogo
• Sugestão para começar:– Liguagens: Java / C# /
Flash / Python ;– Engines / Framework:
XNA/ TorqueX / Ogre3D / SDL / Flash ;
• NÃO REINVENTE A RODA! SEJA PRODUTIVO!
Engines, Ferramentas e SDKs
• Open Source: jMonkey, Ogre3D, Cadabra, Crystal Space, Allegro, SDL;
• Baixo Custo: XNA, UDK, Torque, Unity, 3DGS
• Alto custo: Gamebryo, C4, CryEngine3
Requisitos
• É importante saber desde cedo a área a seguir e se especializar nela;
• É de suma importancia traçar metas, prazos e objetivos;
• Escolher a ferramenta certa;• Tempo e dedicação:• Um bom game é feito de 20%
inteligência, 20% conhecimento e 60% de esforço.
Dificuldades
• Incentivo nacional muito baixo:– Incentivo da CGU: 70 mil;– Investimento do GTA4: 100 milhões.
• Pirataria de games e produtos nacionais;• Antigamente:– Demandava muito conhecimento técnico, em
especial consoles;
Dificuldades
• Acesso aos SDKs era:– Restrito – apenas algumas empresas podiam utilizar;– Caro – PS3: 30.000$;– Complexo – Baseado em C++ e Assembly, Focado em
espaço/performance utilizando técnicas de baixo nível.• Desenvolver games para consoles e PCs eram
experiências distintas;• Falta de comunidades e materiais de apoio para
estudar;
Facilidades
• XNA:– Xna is Not an Acronym;
• Plataformas suportadas (API praticamente idêntica):– Windows;– Xbox 360;– Zune;– Windows Mobile 7;– Web(com Silverlight).
• Simplificação no tratamento de hardware, dando ao programador a possibilidade de se entreter apenas ao desenvolvimento dos games em si.
Facilidades
Como Começar
Diálogo Ferramentas Requisitos Dificuldades Facilidades Campeonatos
Metas do Milênio XNA Challenge SBGames Imagine Cup Arena Info Dream Build
Play
Metas do Milênio
XNA Challenge
• 2o XNA Challenge:– Vencedor com o game Recicle;– Finalista com o game Gariman
• 3o XNA Challenge– Finalista com o Óculos do tempo;
Recicle
Gariman
SB Games
• Vice-Campeão em 2007 com o iCoco
ICoco
Imagine Cup
• Chegou até a segunda fase do ImagineCup 2008 com o game Gariman;
Arena Info
• Campeão com o jogo Matemundo;• Semi-Finalista com o jogo Óculos do Tempo• Finalista com o jogo Musicor• Semi-Finalista com o jogo LastGalaxy
Matemundo
Last Galaxy
Musicor
Dream Build Play
• ???
Referencias
• www.gamedev.net• www.opengl.org• www.gamasutra.com• www.gdmag.com
Agradecimentos
“Se fui capaz de ver mais longe foi apenas porque eu estava apoiado sobre ombro de gigantes.” (Newton).
• André Furtado;• Bruno Evangelista;• Thiago Carvalho;• Bruno Melo
Agradecimento
spriteBatch.DrawString( Arial, "Obrigado Pela Atenção!", positionVect, Color.Black);