programação de jogos

63

Upload: faxon

Post on 23-Feb-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Programação de Jogos. Alexandre Tolstenko Nogueira [email protected] http://tolstenko.net. 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; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Programação  de  Jogos
Page 2: Programação  de  Jogos

Programação de Jogos

Alexandre Tolstenko [email protected]

http://tolstenko.net

Page 3: Programação  de  Jogos

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.

Page 4: Programação  de  Jogos

Sinopse

Breve Histórico

Profissionais de Games

Produção de Games Mercado Como

Começar

Page 5: Programação  de  Jogos

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?

Page 6: Programação  de  Jogos

Breve Histórico

Profissionais de Games

Produção de Games Mercado Como

Começar

Page 7: Programação  de  Jogos

Profissionais de Games

• Equipe multi-disciplinar:– Marketing;– Desenhistas;– Modeladores;– Escritores;– Músicos;– Programadores;– Testadores;– Projetista de Níveis, de Personagens, de Jogos;– ...

Page 8: Programação  de  Jogos
Page 9: Programação  de  Jogos

Breve Histórico

Profissionais de Games

Produção de Games

Etapas GDD Storyboard Concept Art Arte Final

Mercado Como Começar

Page 10: Programação  de  Jogos

Etapas

• Concepção;• Modelagem

(documentos de Design, Technical Design; Visão; Mercado …);

• Construção do jogo;• Testes;• Etapas comuns ao

desenvolvimento de um software.

Page 11: Programação  de  Jogos

Produção de Games

Estudo de Requisitos Brainstorm Conceito

de Jogo

GDD TDD Construção do Jogo

Alpha Beta Release

Page 12: Programação  de  Jogos

Brainstorm – Ideamap

Page 13: Programação  de  Jogos

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

Page 14: Programação  de  Jogos

StoryboardImagens: Ricardo Nakayma

Page 15: Programação  de  Jogos

StoryboardImagens: Ricardo Nakayma

Page 16: Programação  de  Jogos

Concept Art

Imagens: Ricardo Nakayma

Page 17: Programação  de  Jogos

Arte FinalImagens: Alexandre Creto

Page 18: Programação  de  Jogos

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

Page 19: Programação  de  Jogos

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; …

Page 20: Programação  de  Jogos

Tipos de Jogadores

• Casual;• Hardcore;• Pro;• Newbie;• Import;• Retro;• Girl;

Page 21: Programação  de  Jogos

O que querem?

• Desafio• Socializar• Ter uma

experiência dinâmica solitária

• Gabar-se• Emoção• Fantasiar

Page 22: Programação  de  Jogos

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

Page 23: Programação  de  Jogos

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

Page 24: Programação  de  Jogos

Atualidades

Page 25: Programação  de  Jogos

Atualidades

Page 26: Programação  de  Jogos

Atualidades

Page 27: Programação  de  Jogos

Atualidades

Page 28: Programação  de  Jogos

Atualidades

Fonte: Abragames, 2005

Page 29: Programação  de  Jogos

Atualidades

Fonte: Abragames, 2005

Page 30: Programação  de  Jogos

Fonte: Game Developer 2009

Page 31: Programação  de  Jogos

Fonte: Game Developer 2009

Page 32: Programação  de  Jogos

Fonte: Game Developer 2009

Page 33: Programação  de  Jogos

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.

Page 34: Programação  de  Jogos

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.

Page 35: Programação  de  Jogos

Breve Histórico

Profissionais de Games

Produção de Games Mercado Como

Começar

Diálogo Ferramentas Requisitos Dificuldades Facilidades Campeonatos

Page 36: Programação  de  Jogos

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.

Page 37: Programação  de  Jogos

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!

Page 38: Programação  de  Jogos

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.”.

Page 39: Programação  de  Jogos

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 …

Page 40: Programação  de  Jogos

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.

Page 41: Programação  de  Jogos

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!

Page 42: Programação  de  Jogos

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

Page 43: Programação  de  Jogos

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.

Page 44: Programação  de  Jogos

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;

Page 45: Programação  de  Jogos

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;

Page 46: Programação  de  Jogos

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.

Page 47: Programação  de  Jogos

Facilidades

Page 48: Programação  de  Jogos

Como Começar

Diálogo Ferramentas Requisitos Dificuldades Facilidades Campeonatos

Metas do Milênio

XNA Challenge SBGames Imagine Cup Arena Info Dream Build

Play

Page 49: Programação  de  Jogos

Metas do Milênio

Page 50: Programação  de  Jogos

XNA Challenge

• 2o XNA Challenge:– Vencedor com o game Recicle;– Finalista com o game Gariman

• 3o XNA Challenge– Finalista com o Óculos do tempo;

Page 51: Programação  de  Jogos

Recicle

Page 52: Programação  de  Jogos

Gariman

Page 53: Programação  de  Jogos

SB Games

• Vice-Campeão em 2007 com o iCoco

Page 54: Programação  de  Jogos

ICoco

Page 55: Programação  de  Jogos

Imagine Cup

• Chegou até a segunda fase do ImagineCup 2008 com o game Gariman;

Page 56: Programação  de  Jogos

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

Page 57: Programação  de  Jogos

Matemundo

Page 58: Programação  de  Jogos

Last Galaxy

Page 59: Programação  de  Jogos

Musicor

Page 60: Programação  de  Jogos

Dream Build Play

• ???

Page 61: Programação  de  Jogos

Referencias

• www.gamedev.net• www.opengl.org• www.gamasutra.com• www.gdmag.com

Page 62: Programação  de  Jogos

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

Page 63: Programação  de  Jogos

Agradecimento

spriteBatch.DrawString( Arial, "Obrigado Pela Atenção!", positionVect, Color.Black);