63

Programação de Jogos Alexandre Tolstenko Nogueira [email protected]

Embed Size (px)

Citation preview

Page 1: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net
Page 2: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Programação de Jogos

Alexandre Tolstenko [email protected]

http://tolstenko.net

Page 3: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@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;• Viciado por jogos eletrônicos.

Page 4: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Sinopse

Breve Histórico

Profissionais de Games

Produção de Games Mercado Como

Começar

Page 5: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Breve Histórico

Profissionais de Games

Produção de Games Mercado Como

Começar

Page 7: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net
Page 9: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Brainstorm – Ideamap

Page 13: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

StoryboardImagens: Ricardo Nakayma

Page 15: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

StoryboardImagens: Ricardo Nakayma

Page 16: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Concept Art

Imagens: Ricardo Nakayma

Page 17: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Arte FinalImagens: Alexandre Creto

Page 18: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Tipos de Jogadores

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

Page 21: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

O que querem?

• Desafio• Socializar• Ter uma

experiência dinâmica solitária

• Gabar-se• Emoção• Fantasiar

Page 22: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Atualidades

Page 25: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Atualidades

Page 26: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Atualidades

Page 27: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Atualidades

Page 28: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Atualidades

Fonte: Abragames, 2005

Page 29: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Atualidades

Fonte: Abragames, 2005

Page 30: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Fonte: Game Developer 2009

Page 31: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Fonte: Game Developer 2009

Page 32: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Fonte: Game Developer 2009

Page 33: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Facilidades

Page 48: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Metas do Milênio

Page 50: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Recicle

Page 52: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Gariman

Page 53: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

SB Games

• Vice-Campeão em 2007 com o iCoco

Page 54: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

ICoco

Page 55: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Imagine Cup

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

Page 56: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Matemundo

Page 58: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Last Galaxy

Page 59: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Musicor

Page 60: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Dream Build Play

• ???

Page 61: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Referencias

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

Page 62: Programação de Jogos Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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 Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Agradecimento

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