650 likes | 801 Views
Programação de Jogos. Alexandre Tolstenko Nogueira alexandre@tolstenko.net 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;
E N D
Programação de Jogos AlexandreTolstenkoNogueira alexandre@tolstenko.net 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; • Viciado por jogos eletrônicos.
Histórico • Início nos anos 70/80 • Geralmentedesenvolvidoporumaúnicapessoa; • Osciloscópio: Tenis para dois; • Pong: Atari; • Tetris. • Atualmente: • Centenas de pessoastrabalhamnaprodução de um jogo; • Futuro?
Profissionais de Games • Equipe multi-disciplinar: • Marketing; • Desenhistas; • Modeladores; • Escritores; • Músicos; • Programadores; • Testadores; • Projetista de Níveis, de Personagens, de Jogos; • ...
Etapas • Concepção; • Modelagem (documentos de Design, Technical Design; Visão; Mercado …); • Construção do jogo; • Testes; • Etapascomunsaodesenvolvimento de um software.
Game Design Document(NossoModelo) • 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
Storyboard Imagens: Ricardo Nakayma
Storyboard Imagens: Ricardo Nakayma
Concept Art Imagens: Ricardo Nakayma
Arte Final Imagens: AlexandreCreto
Tipos de Jogos • Advergames; Jogoseducacionais; 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 quequerem? • Desafio • Socializar • Ter uma experiência dinâmica solitária • Gabar-se • Emoção • Fantasiar
O queesperam? • 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íliajogamalgumjogo digital • Média de idade de jogadores: 35 anos e jogamemmédiahá 12 anos; • Média de idade de compradores: 39 anos • 63% dos paisacreditamque games sãoconstrutivosnaformação dos filhos Fonte: www.theesa.com
Atualidades Fonte: Abragames, 2005
Atualidades Fonte: Abragames, 2005
Requisitos do Profissional • Programador: • Proficiênciaem C/C++; • Conhecimentosavançados de algebra linear, computaçãográfica, algorítmos, física …; • Conhecimento de diversas APIs, SDKs, Frameworks, Bibliotecas: DirectX, OpenGL, Physx, Xlib, Win32 …; • Boa capacidadecomunicativa.
Requisitos do Profissional • Artista (imagem): • Proficiênciaem design de conceitos, animação, modelagem, desenho …; • Experiênciaemalgum software: 3DSMax, Maya, Blender, Photoshop, Zbrush, Softimage XSI… ; • Boa capacidadecomunicativa.
Diálogo • “Agora me empolguei e farei um MMO / FPS melhorque World of Warcraft / Crysis com meuscolegas!“; • Essesjogossãofeitosporequipesgigantescas e altamenteespecializadas; • Vejamos o caso do GTA 4: • 1000+ pessoastrabalhandoem tempo integral; • 3,5 anos de desenvolvimento; • 100+ milhões de dólaresinvestidos.
Diálogo • “Masnãodesanimem! Ainda é possível!”; • Tibia: • 3 desenvolvedores, quecomeçaram o desenvolvimentodurante a graduação; • Chegou a um pico de 64,000 players online e 77 servers em 28 de novembro de 2007; • Contra-mãodaevoluçãoquedeucerto: apostaramem 2D quando o 3D estavaapontando! • Primaziapelasimplicidade e leveza do jogo; • Primeiro MMORPG paracelular: TibiaME!
Diálogo • Percebamqueuma boa idéiapara um jogofaztoda a diferença; • Evitemescolhercomoprojetosiniciais games MMO, RPG, ouqualqueroutroque tome muito tempo; • Umafrasebemcomum e repetida no Gamux: “Apenasapós o seu 10o game, serácapaz de fazer o seu 1obomjogo.”.
Diálogo • “Entãosó me restafazer um pong!” • É inevitávelisso. Atéhojenãoconheço um programador de games quenãotenhafeito um PONG navida; • Jáquevaifazer um PONG, aproveite o embalo e faça um SNAKE, SPACE INVADERS, TETRIS, ASTEROIDS …
Diálogo • “Ok, entendiseuponto, entãocomodevofazer um game? em assembly?” • “We will gladly sacrifice 10% of our performance for 10% of our productivity”, Tim Sweeney (Unreal 3) • Pensembemquaisferramentasliguagens a utilizar.
Diálogo • Sugestãoparacomeçar: • Liguagens: Java / C# / Flash / Python ; • Engines / Framework: XNA/ TorqueX / Ogre3D / SDL / Flash ; • Nãoreinvente a roda! Sejaprodutivo!
Engines, Ferramentas e SDKs • Open Source: jMonkey, Ogre3D, Cadabra, Crystal Space, Allegro, SDL; • BaixoCusto: XNA, UDK, Torque, Unity, 3DGS • Alto custo: Gamebryo, C4, CryEngine3
Requisitos • É importante saber desdecedo a área a seguir e se especializarnela; • É de sumaimportanciatraçarmetas, prazos e objetivos; • Escolher a ferramentacerta; • Tempo e dedicação: • Um bom game é feito de 20% inteligência, 20% conhecimento e 60% de esforço.
Dificuldades • Incentivonacionalmuitobaixo: • Incentivoda CGU: 70 mil; • Investimento do GTA4: 100 milhões. • Pirataria de games e produtosnacionais; • Antigamente: • Demandavamuitoconhecimentotécnico, em especial consoles;
Dificuldades • Acessoaos SDKs era: • Restrito – apenasalgumasempresaspodiamutilizar; • Caro – PS3: 30.000$; • Complexo – Baseadoem C++ e Assembly, Focadoemespaço/performance utilizandotécnicas de baixonível. • Desenvolver games para consoles e PCs eramexperiênciasdistintas; • Falta de comunidades e materiais de apoioparaestudar;
Facilidades • XNA: • Xna is Not an Acronym; • Plataformassuportadas (API praticamenteidêntica): • Windows; • Xbox 360; • Zune; • Windows Mobile 7; • Web(com Silverlight). • Simplificação no tratamento de hardware, dandoaoprogramador a possibilidade de se entreterapenasaodesenvolvimento dos games emsi.
XNA Challenge • 2o XNA Challenge: • Vencedor com o game Recicle; • Finalista com o game Gariman • 3o XNA Challenge • Finalista com o Óculos do tempo;