Introdução ao XNA e ao Game Developer Express José Antonio “jalf” Leal de Farias Microsoft Most Valuable Professional Comu...
Quem é esse cara? <ul><li>DirectX/XNA MVP </li></ul><ul><li>Diretor Técnico Stairs Studio </li></ul><ul><ul><li>http://www...
Agenda <ul><li>Introdução </li></ul><ul><ul><li>Xbox Live </li></ul></ul><ul><ul><li>Community Games </li></ul></ul><ul><u...
 
O que é XNA?
XNA Game Studio Express <ul><li>Desenhado com acadêmicos, hobistas e pequenos desenvolvedores de games </li></ul><ul><li>I...
XNA Framework <ul><li>O XNA Framework é uma plataforma de desenvolvimento de jogos baseada em .NET que pode ser usada para...
Instalação <ul><li>.NET 3.0 </li></ul><ul><li>Visual Studio 2008 (Qualquer Versão) </li></ul><ul><li>XNA Framework </li></...
Starter Kits <ul><li>Modifique os jogos e crie o seu próprio </li></ul><ul><li>Um jogo completamente funcional </li></ul><...
Camadas do XNA Framework Plataforma Core Framework Extended Framework Jogos XACT XINPUT XContent Direct3D Graphics Audio I...
Extended Framework
Modelo de Aplicação <ul><li>Mantenha-se focado no jogo e não em qual plataforma ele está rodando </li></ul><ul><li>Configu...
Modelo de Aplicação <ul><li>Crie componentes reusáveis que podem facilmente ser integrados ao seu jogo </li></ul><ul><li>G...
XNA Framework Content Pipeline Princípios de Design <ul><li>Liberdade de escolha </li></ul><ul><ul><li>Ferramenta de criaç...
XNA Framework Content Pipeline <ul><li>Importadores </li></ul><ul><ul><li>Conteúdo de jogo adicionado ao Visual Studio </l...
Core Framework
Graphics <ul><li>Fornece recursos de renderização de baixo nível </li></ul><ul><li>Construído sob o Direct3D 9 </li></ul><...
XNA Framework Effects
XNA Framework Effects
Audio <ul><li>É muito fácil tocar seus sons </li></ul><ul><li>Construa seus pacotes de som usando a ferramenta XACT </li><...
Input <ul><li>Torna fácil a obtenção de dados de entrada </li></ul><ul><li>Pronto para usar </li></ul><ul><ul><li>Sem inic...
Storage <ul><li>Fornece um jeito fácil para ler e salvar informações do jogo </li></ul><ul><li>StorageContainer atua como ...
Math <ul><li>Biblioteca de funções matemáticas para jogos </li></ul><ul><li>Vector, Matrix, Quaternion, Plane, AABB, Spher...
Criando Jogos para o Xbox 360
Pré-requisitos e Instalação <ul><li>Assinatura da Xbox live </li></ul><ul><li>XNA Creator’s Club (US$99 por um ano) </li><...
Xbox 360 Development <ul><li>Experiência de desenvolvimento </li></ul><ul><li>Project templates para jogos do Xbox 360 </l...
Criando um jogo
XNA 2D game “Rock Rain” <ul><li>Construção de um jogo simples </li></ul><ul><li>O jogador deve guiar a nave evitando os as...
Construção de um jogo em XNA Basedo na forma como um jogo funciona <ul><li>Todo jogo tem algums comportamentos fundamentai...
Esqueleto de um jogo XNA partial class Game1 : Microsoft.Xna.Framework.Game {  public Game1()   { graphics = new GraphicsD...
Inicialização do jogo <ul><li>LoadGraphicsContent  é chamada quando seu jogo inicializa </li></ul><ul><li>Ele cria a textu...
Usando o Content Pipeline <ul><li>O content pipeline gerencia os recursos </li></ul><ul><li>Cada recurso recebe um nome  <...
XNA Game Drawing protected override void Draw(GameTime gameTime) { graphics.GraphicsDevice.Clear(Color.Black); // Desenha ...
Update do Jogo protected override void Update() { foreach (GameComponent gc in Components) { if (gc is Meteor) { hasColisi...
Leitura do Joystick GamePadState padState = GamePad.GetState(PlayerIndex.One); if (padState.IsConnected) { if (padState.DP...
Leitura analógica do Joystick int padXSpeed = 10; int padYSpeed = 10; GamePadState padState = GamePad.GetState(PlayerIndex...
Xbox LIVE Arcade?? <ul><ul><li>Xbox Live  é o lugar para usuários que querem testar e comprar conteúdo no Xbox 360  </li><...
Introdução a Xbox Live Arcade <ul><li>Usuários & receita continuam a crescer </li></ul><ul><li>+80 jogos disponíveis atual...
Crescimento do Serviço
Audiência Engajada <ul><li>Mais de 45,000,000 de jogos baixados </li></ul><ul><li>Mais de 80,000,000 de horas de jogo </li...
Títulos mais jogados em 2007 Azul – 2007 Laranja – 2006 Verde - 2005 By Users By Average Session Length By Total Minutes 1...
Detalhes de Vendas Downloads  e   taxas de conversão <ul><li>Títulos originais conseguem  cerca de 350k downloads no prime...
Volume de vendas sobre o tempo <ul><li>O gráfico mostra  a média de todos os jogos do serviço </li></ul><ul><li>Primeiros ...
Melhores Título  ( Jul 06  –  Jun 07) Azul – 2007 Laranja – 2006 Verde - 2005 By Sales Volume By Revenue By Conversion Rat...
Performance de download de conteúdo para jogos <ul><li>636000 Downloads pagos </li></ul><ul><ul><li>107000 Temas de jogos ...
Presença de Mercado
Como é um jogo da Xbox LIVE Arcade? <ul><ul><li>Completa experiência de jogo </li></ul></ul><ul><ul><ul><li>Sem pedaços de...
‘ Aba’ da Xbox Live Arcade
Como os jogos chegam a Arcade Desenvolvedor Publisher Arcade  Publishing  Team Gerência do  Portfólio Microsoft  3PP Team
E os jogos da comunidade? <ul><li>Revisados pelo membros do Creator’s Club </li></ul><ul><li>Critérios como violência, sex...
Que tipo de games estamos procurando ? Nós queremos jogos que …
…  sejam atraentes <ul><li>“ Baixar e jogar” </li></ul><ul><li>“ Divertido para toda a família” </li></ul><ul><li>“ Divert...
…  suportem vários dispositivos <ul><li>Social em sua natureza </li></ul><ul><li>Controladores mais  atrativos </li></ul><...
…  inspirem <ul><li>Saúde física e mental </li></ul><ul><li>Ensinem sobre o mundo real </li></ul><ul><li>Faça você uma pes...
… unam as pessoas Jogos sociais <ul><li>Multiplayer </li></ul><ul><li>Competitivo </li></ul><ul><li>Cooperativo </li></ul>...
…  Jogos que funcionem entre plataformas
O que isso tudo significa para você? <ul><li>Primeiro, negócio é negócio: Se você tem um grande jogo, nos queremos vê-lo <...
Guia de Conceito Os 6 Pilares do que queremos em jogos  <ul><li>Inovação </li></ul><ul><li>Jogabilidade </li></ul><ul><li>...
Jogabilidade <ul><li>Tem de caber em 150 MB! </li></ul><ul><li>Idéias únicas </li></ul><ul><li>“ Baixar  e jogar” </li></u...
Visual <ul><li>Este jogo merece estar no Xbox 360? </li></ul><ul><li>Re-Design, não apenas um porte </li></ul><ul><li>Exem...
Multiplayer <ul><li>Xbox LIVE & desenhado para poucos participantes </li></ul><ul><ul><li>“ Join In Progress” </li></ul></...
Apelo Global <ul><li>Planeje seu jogo com o mercado global em mente </li></ul><ul><li>Localização </li></ul><ul><ul><li>In...
Guia de criação de conceito documentos de projeto <ul><li>Documentos de projeto contém </li></ul><ul><ul><li>Descrição mín...
Resumo do processo <ul><li>Passo #1: Crie um conceito –  Trabalhe em conjunto com o Arcade Portfolio Planning team ( [emai...
Dúvidas? José Antonio “jalf” Leal de Farias Microsoft Most  Valuable Professional [email_address] www.sharpgames.net
Próximos SlideShares
Carregando em…5
×

IntroduçãO Ao Xna Campus Party

1.454 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.454
No SlideShare
0
A partir de incorporações
0
Número de incorporações
9
Ações
Compartilhamentos
0
Downloads
13
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • 02/08/10 00:02
  • 02/08/10 00:02
  • 02/08/10 00:02
  • 02/08/10 00:02
  • 02/08/10 00:02 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • 02/08/10 00:02 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • 02/08/10 00:02 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • 02/08/10 00:02 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • 02/08/10 00:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 02/08/10 00:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 02/08/10 00:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Time “wasted” gaming  time “spent” gaming  time “invested” gaming Games that aspire to do more Exercise your mind, body, spirit Learn about the real world Make you a better person 02/08/10 00:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Social, party, multiplayer, coop, assym, etc – lots of examples 02/08/10 00:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Tip of the hat toward live anywhere 02/08/10 00:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 02/08/10 00:02 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 02/08/10 00:02
  • 02/08/10 00:02
  • 02/08/10 00:02 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • IntroduçãO Ao Xna Campus Party

    1. 1. Introdução ao XNA e ao Game Developer Express José Antonio “jalf” Leal de Farias Microsoft Most Valuable Professional Comunidade SharpGames [email_address] http://www.sharpgames.net
    2. 2. Quem é esse cara? <ul><li>DirectX/XNA MVP </li></ul><ul><li>Diretor Técnico Stairs Studio </li></ul><ul><ul><li>http://www.stairs.com.br </li></ul></ul><ul><li>Criador e Administrador do Sharpgames </li></ul><ul><ul><li>http://www.sharpgames.net </li></ul></ul><ul><li>Livros </li></ul><ul><li>Colunista XBox Magazine </li></ul>
    3. 3. Agenda <ul><li>Introdução </li></ul><ul><ul><li>Xbox Live </li></ul></ul><ul><ul><li>Community Games </li></ul></ul><ul><ul><li>XNA Challenge </li></ul></ul><ul><ul><li>SharpGames </li></ul></ul><ul><li>XNA Game Studio </li></ul><ul><ul><li>Starter Kit </li></ul></ul><ul><li>XNA Framework </li></ul><ul><ul><li>Modelo de Aplicação; Content Pipeline </li></ul></ul><ul><ul><li>Gráficos; Audio; Input </li></ul></ul><ul><ul><li>Armazenamento </li></ul></ul><ul><ul><li>Matemática </li></ul></ul>
    4. 5. O que é XNA?
    5. 6. XNA Game Studio Express <ul><li>Desenhado com acadêmicos, hobistas e pequenos desenvolvedores de games </li></ul><ul><li>Ideal para jogos casuais </li></ul><ul><li>Nova plataforma para desenvolvimento de jogos baseado em .NET 3.0, .NET Compact Framework </li></ul><ul><li>Extensão da IDE do Visual C# 2008 </li></ul><ul><li>Grupo de bibliotecas multi-plataforma optimizada para jogos </li></ul>
    6. 7. XNA Framework <ul><li>O XNA Framework é uma plataforma de desenvolvimento de jogos baseada em .NET que pode ser usada para criar jogos para Windows e Xbox 360 </li></ul><ul><li>Suporta as plataformas de jogos da Microsoft </li></ul><ul><li>Foco no jogo, não na plataforma </li></ul><ul><li>APIs consistentes e de fácil utilização </li></ul>
    7. 8. Instalação <ul><li>.NET 3.0 </li></ul><ul><li>Visual Studio 2008 (Qualquer Versão) </li></ul><ul><li>XNA Framework </li></ul><ul><li>XNA Game Studio </li></ul>
    8. 9. Starter Kits <ul><li>Modifique os jogos e crie o seu próprio </li></ul><ul><li>Um jogo completamente funcional </li></ul><ul><ul><li>Use como um começo para seus próprios jogos </li></ul></ul><ul><ul><li>Acessado via “New Project…” </li></ul></ul><ul><ul><li>Pressione F5 e divirta-se! </li></ul></ul><ul><ul><li>Documentação e tutoriais </li></ul></ul><ul><li>Disponibilidade </li></ul><ul><ul><li>2 jogos incluídos com XNA Game Studio Express </li></ul></ul><ul><ul><li>Novos kits saem regularmente </li></ul></ul>Platform Core Framework Extended Framework Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps
    9. 10. Camadas do XNA Framework Plataforma Core Framework Extended Framework Jogos XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Components Legenda XNA Fornece Você Fornece Comunidade
    10. 11. Extended Framework
    11. 12. Modelo de Aplicação <ul><li>Mantenha-se focado no jogo e não em qual plataforma ele está rodando </li></ul><ul><li>Configurado e rodando rapidamente </li></ul><ul><ul><li>As primeiras linhas de código já serão para seu jogo. </li></ul></ul><ul><li>Abstração de Plataforma </li></ul><ul><ul><li>Qual a melhor maneira de criar um game loop? </li></ul></ul><ul><ul><li>Como eu crio e gerencio minha janela? </li></ul></ul><ul><ul><li>Como eu sigo as melhores práticas para a plataforma? </li></ul></ul><ul><li>Game </li></ul><ul><ul><li>É o tipo principal de seu jogo </li></ul></ul><ul><ul><li>Eventos de Load, Update e Draw </li></ul></ul>Platform Core Framework Extended Framework Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps
    12. 13. Modelo de Aplicação <ul><li>Crie componentes reusáveis que podem facilmente ser integrados ao seu jogo </li></ul><ul><li>GameComponent, DrawableGameComponent </li></ul><ul><ul><li>Base para todos os componentes XNA </li></ul></ul><ul><ul><li>O Autor escreve o Load, Update, e Draw </li></ul></ul><ul><ul><li>Pode descobrir e interagir com outros componentes </li></ul></ul><ul><li>Game.Components </li></ul><ul><ul><li>Gerenciado em tempo de execução pelo jogo </li></ul></ul><ul><ul><li>Grande suporte a ‘design time’ pelo IDE </li></ul></ul>Platform Core Framework Extended Framework Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps
    13. 14. XNA Framework Content Pipeline Princípios de Design <ul><li>Liberdade de escolha </li></ul><ul><ul><li>Ferramenta de criação de conteúdo </li></ul></ul><ul><ul><li>Game engines </li></ul></ul><ul><li>Menos código para a criação </li></ul><ul><ul><li>Mais tempo para a criação do jogo </li></ul></ul><ul><li>Forte integração entre código e conteúdo </li></ul><ul><ul><li>Build de código e de conteúdo unificados </li></ul></ul>Platform Core Framework Extended Framework Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps
    14. 15. XNA Framework Content Pipeline <ul><li>Importadores </li></ul><ul><ul><li>Conteúdo de jogo adicionado ao Visual Studio </li></ul></ul><ul><li>Processadores </li></ul><ul><ul><li>Conversões de tipo altamante tipadas </li></ul></ul><ul><ul><li>Extensões de código gerenciado </li></ul></ul>ContentManager xnaLoader = new ContentManager (); myAsset = xnaLoader.Load< Mesh >( &quot;MyAssetName&quot; ); 3D File Formats 2D File Formats Material File Formats Audio File Formats .FBX .X .DDS .BMP .JPG .PNG .TGA .FX .XAP (XACT)
    15. 16. Core Framework
    16. 17. Graphics <ul><li>Fornece recursos de renderização de baixo nível </li></ul><ul><li>Construído sob o Direct3D 9 </li></ul><ul><li>APIs atualizadas que seguem as regras do .NET </li></ul><ul><ul><li>Efeitos </li></ul></ul><ul><ul><li>Recursos </li></ul></ul><ul><ul><li>Lock/Unlock </li></ul></ul><ul><ul><li>Vertex streams </li></ul></ul><ul><li>Recursos fornecidos </li></ul><ul><ul><li>Model, Mesh, Bones </li></ul></ul><ul><ul><li>Texturas </li></ul></ul><ul><ul><li>Efeitos e shaders </li></ul></ul>Platform Core Framework Extended Framework Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps
    17. 18. XNA Framework Effects
    18. 19. XNA Framework Effects
    19. 20. Audio <ul><li>É muito fácil tocar seus sons </li></ul><ul><li>Construa seus pacotes de som usando a ferramenta XACT </li></ul><ul><ul><li>Adicionar sons </li></ul></ul><ul><ul><li>Ajustar propriedades </li></ul></ul><ul><ul><li>Construir bancos de sons </li></ul></ul><ul><li>Fácil integração para desenvolvedores </li></ul><ul><ul><li>Acesse-os via seus nomes lógicos </li></ul></ul><ul><ul><li>Looping, streaming, e gerenciamento de memória </li></ul></ul><ul><ul><li>Sem gerenciamento de buffer de baixo nível </li></ul></ul>Platform Core Framework Extended Framework Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps
    20. 21. Input <ul><li>Torna fácil a obtenção de dados de entrada </li></ul><ul><li>Pronto para usar </li></ul><ul><ul><li>Sem inicialização </li></ul></ul><ul><ul><li>Sem gerenciamento de estado </li></ul></ul><ul><li>Dispositivos </li></ul><ul><ul><li>Joystick do Xbox 360 </li></ul></ul><ul><ul><li>Teclado </li></ul></ul><ul><ul><li>Mouse (apenas no Windows) </li></ul></ul>Platform Core Framework Extended Framework Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps
    21. 22. Storage <ul><li>Fornece um jeito fácil para ler e salvar informações do jogo </li></ul><ul><li>StorageContainer atua como um sistema de arquivos virtual </li></ul><ul><ul><li>Arquivos armazenados no local correto de cada plataforma </li></ul></ul><ul><ul><li>Suporta mútiplos dispositivos de armazenamento e perfis no Xbox 360 </li></ul></ul><ul><li>Baseado em Streams, o que facilita a integração com o System.IO </li></ul>Platform Core Framework Extended Framework Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps
    22. 23. Math <ul><li>Biblioteca de funções matemáticas para jogos </li></ul><ul><li>Vector, Matrix, Quaternion, Plane, AABB, Sphere, Ray, Frustum, Curve </li></ul><ul><li>Regra-da-mão-direita por default </li></ul><ul><li>Fácil integração </li></ul><ul><li>Testes de intersecção </li></ul><ul><li>Facilitadores para movimentos </li></ul>Platform Core Framework Extended Framework Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps
    23. 24. Criando Jogos para o Xbox 360
    24. 25. Pré-requisitos e Instalação <ul><li>Assinatura da Xbox live </li></ul><ul><li>XNA Creator’s Club (US$99 por um ano) </li></ul><ul><li>Instale o XNA Game launcher a partir da Xbox marketplace </li></ul><ul><li>Compre o XNA Creaters Club a partir Xbox marketplace </li></ul><ul><li>Para obter seu código de conexão, rode o XNA Game launcer de: Games  Demos and More no Xbox 360 </li></ul>
    25. 26. Xbox 360 Development <ul><li>Experiência de desenvolvimento </li></ul><ul><li>Project templates para jogos do Xbox 360 </li></ul><ul><li>F5 faz o deploy para o console </li></ul><ul><li>Remote debugging </li></ul><ul><ul><li>Breakpoints </li></ul></ul><ul><ul><li>Watches </li></ul></ul><ul><ul><li>Debug e Trace para o PC </li></ul></ul><ul><li>Sem </li></ul><ul><ul><li>Edit and Continue </li></ul></ul><ul><ul><li>Debug Visualizers </li></ul></ul>Platform Core Framework Extended Framework Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps
    26. 27. Criando um jogo
    27. 28. XNA 2D game “Rock Rain” <ul><li>Construção de um jogo simples </li></ul><ul><li>O jogador deve guiar a nave evitando os asteróides </li></ul><ul><li>É um jogo 2D simples, baseado em sprites </li></ul>
    28. 29. Construção de um jogo em XNA Basedo na forma como um jogo funciona <ul><li>Todo jogo tem algums comportamentos fundamentais: </li></ul><ul><li>Inicializa todos os recursos no início </li></ul><ul><ul><li>Inicializa todas as texturas, modelos, som, etc </li></ul></ul><ul><li>Continuamente roda o Game Loop: </li></ul><ul><ul><li>Atualiza a game engine </li></ul></ul><ul><ul><ul><li>Lê os controladores, atualiza o estado e a posição dos game elements </li></ul></ul></ul><ul><ul><li>Desenha o ambiente do jogo </li></ul></ul><ul><ul><ul><li>renderiza os game elements na tela </li></ul></ul></ul>
    29. 30. Esqueleto de um jogo XNA partial class Game1 : Microsoft.Xna.Framework.Game { public Game1() { graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); } protected override void LoadGraphicsContent(bool loadAllContent) { } protected override void Update(GameTime gameTime) { } protected override void Draw(GameTime gameTime) { } }
    30. 31. Inicialização do jogo <ul><li>LoadGraphicsContent é chamada quando seu jogo inicializa </li></ul><ul><li>Ele cria a textura do queijo e carrega uma imagem nele </li></ul><ul><li>Também cria um SpriteBatch para gerenciar o processo de renderização </li></ul>Texture2D cheeseTexture; SpriteBatch spriteBatch; protected override void LoadGraphicsContent(bool loadAllContent) { if (loadAllContent) { cheeseTexture = content.Load<Texture2D>(&quot;cheese&quot;); spriteBatch = new SpriteBatch(graphics.GraphicsDevice); } }
    31. 32. Usando o Content Pipeline <ul><li>O content pipeline gerencia os recursos </li></ul><ul><li>Cada recurso recebe um nome </li></ul><ul><li>O método Load do ContentManager fornece acesso ao recurso </li></ul><ul><li>Note o uso de generics </li></ul>cheeseTexture = content.Load<Texture2D>(“rockrain&quot;);
    32. 33. XNA Game Drawing protected override void Draw(GameTime gameTime) { graphics.GraphicsDevice.Clear(Color.Black); // Desenha o Background spriteBatch.Begin(); spriteBatch.Draw(backgroundTexture,new Rectangle(0, 0, graphics.GraphicsDevice.DisplayMode.Width, graphics.GraphicsDevice.DisplayMode.Height),Color.LightGray); spriteBatch.End(); // sprites spriteBatch.Begin(SpriteBlendMode.AlphaBlend); base.Draw(gameTime); spriteBatch.End(); }
    33. 34. Update do Jogo protected override void Update() { foreach (GameComponent gc in Components) { if (gc is Meteor) { hasColision = ((Meteor)gc).CheckCollision(shipRectangle); if (hasColision) { audioComponent.PlayCue(&quot;explosion&quot;); Start(); break; } } } UpdateComponents(); }
    34. 35. Leitura do Joystick GamePadState padState = GamePad.GetState(PlayerIndex.One); if (padState.IsConnected) { if (padState.DPad.Left == ButtonState.Pressed) { breadX--; } if (padState.DPad.Right == ButtonState.Pressed) { breadX++; } /// repetir para o eixo Y do pão }
    35. 36. Leitura analógica do Joystick int padXSpeed = 10; int padYSpeed = 10; GamePadState padState = GamePad.GetState(PlayerIndex.One); if (padState.IsConnected) { breadX += (int) (padState.ThumbSticks.Left.X * padXSpeed); breadY -= (int) (padState.ThumbSticks.Left.Y * padYSpeed); }
    36. 37. Xbox LIVE Arcade?? <ul><ul><li>Xbox Live é o lugar para usuários que querem testar e comprar conteúdo no Xbox 360 </li></ul></ul><ul><ul><li>Xbox Live Arcade contém conteúdo de jogos </li></ul></ul><ul><ul><ul><li>Alta Visibilidade em qualquer console (Aba ‘Games’) </li></ul></ul></ul><ul><ul><ul><li>Integração com o Marketplace (Download, compra, licenças) </li></ul></ul></ul><ul><ul><ul><li>Disponível para assinantes Silver & Gold </li></ul></ul></ul><ul><ul><ul><li>Banner de promoção de novos títulos </li></ul></ul></ul><ul><ul><ul><li>Diversos recursos para a retenção e re-play de jogos </li></ul></ul></ul>
    37. 38. Introdução a Xbox Live Arcade <ul><li>Usuários & receita continuam a crescer </li></ul><ul><li>+80 jogos disponíveis atualmente </li></ul><ul><li>Um ou mais títulos chegam por semana </li></ul><ul><li>Melhor serviço de download de jogos em um console no mercado </li></ul><ul><ul><li>Novos Jogos </li></ul></ul><ul><ul><li>Clássicos </li></ul></ul><ul><ul><li>Jogos Independentes </li></ul></ul><ul><ul><li>Conectado aos serviços da Live (MSN) </li></ul></ul>
    38. 39. Crescimento do Serviço
    39. 40. Audiência Engajada <ul><li>Mais de 45,000,000 de jogos baixados </li></ul><ul><li>Mais de 80,000,000 de horas de jogo </li></ul><ul><ul><li>Isso é mais de 9,100 homens-ano </li></ul></ul><ul><li>Mais de 170,000,000 de partidas </li></ul><ul><li>Mais de 45,000,000 de Achievements obtidos </li></ul><ul><li>Mais de 550,000,000 em Gamerscore </li></ul>
    40. 41. Títulos mais jogados em 2007 Azul – 2007 Laranja – 2006 Verde - 2005 By Users By Average Session Length By Total Minutes 1 TMNT 1989 Arcade Jewel Quest UNO 2 Worms Hardwood Spades Texas Hold ‘Em 3 UNO Catan Worms 4 Castlevania Bejeweled 2 Castlevania 5 3D Minigolf Adventures Texas Hold ‘Em Bejeweled 2 6 Paperboy Castlevania Geometry Wars 7 Alien Hominid Zuma Zuma 8 Geometry Wars Soltrio Solitaire Aegis Wing 9 Texas Hold ‘em Worms Catan 10 Heavy Weapon Luxor 2 3D Minigolf Adventures
    41. 42. Detalhes de Vendas Downloads e taxas de conversão <ul><li>Títulos originais conseguem cerca de 350k downloads no primeiro mês </li></ul><ul><li>Grandes hits conseguem us$125K em vendas na primeira semana </li></ul><ul><li>Games continuam com vendas significantes ao longo de sua vida. </li></ul>
    42. 43. Volume de vendas sobre o tempo <ul><li>O gráfico mostra a média de todos os jogos do serviço </li></ul><ul><li>Primeiros dois meses de vendas correspondem a 35% do volume total </li></ul><ul><li>Vendas tem uma pequena queda após o sétimo mês </li></ul>
    43. 44. Melhores Título ( Jul 06 – Jun 07) Azul – 2007 Laranja – 2006 Verde - 2005 By Sales Volume By Revenue By Conversion Rate 1 Street Fighter II HF Street Fighter II HF TMNT 1989 2 UNO Worms UNO 3 TMNT 1989 DOOM Texas Hold ‘em 4 Worms Castlevania Street Fighter II HF 5 DOOM Ultimate Mortal Kombat 3 Worms 6 Castlevania Texas Hold ‘em Castlevania 7 Ultimate Mortal Kombat 3 UNO GALAGA 8 PAC-MAN Bankshot Billiards 2 Ultimate Mortal Kombat 3 9 Geometry Wars LUMINES LIVE! PAC-MAN 10 Contra TMNT 1989 DOOM
    44. 45. Performance de download de conteúdo para jogos <ul><li>636000 Downloads pagos </li></ul><ul><ul><li>107000 Temas de jogos </li></ul></ul><ul><ul><li>360000 Conteúdo de jogos (novas fases, etc.) </li></ul></ul><ul><ul><li>170000 Imagens e Fotos </li></ul></ul><ul><li>Downloads gratuitos </li></ul><ul><ul><li>1.055.000 downloads </li></ul></ul><ul><li>Resumo – Conteúdo não vai torná-lo rico, mas é uma interessante fonte de receita </li></ul>
    45. 46. Presença de Mercado
    46. 47. Como é um jogo da Xbox LIVE Arcade? <ul><ul><li>Completa experiência de jogo </li></ul></ul><ul><ul><ul><li>Sem pedaços de jogos separados </li></ul></ul></ul><ul><ul><ul><li>Não deve ter dependências </li></ul></ul></ul><ul><ul><li>Pequeno em Tamanho </li></ul></ul><ul><ul><ul><li><150 MB (a maioria tem <50 MB) </li></ul></ul></ul><ul><ul><ul><li>Jogável sem mídia física ou qualquer outra dependência </li></ul></ul></ul><ul><ul><ul><li>Sem necessidade de manual de instruções </li></ul></ul></ul><ul><ul><ul><li>“ Baixar e jogar” </li></ul></ul></ul><ul><ul><li>Versão de testes limitada mas divertida </li></ul></ul><ul><ul><ul><li>Deve oferecer a opção de compra da versão completa </li></ul></ul></ul><ul><ul><ul><li>Promoção de venda do jogo dentro do jogo é permitida </li></ul></ul></ul><ul><ul><li>Experiências de jogo associadas a Live Arcade </li></ul></ul><ul><ul><ul><li>Ranks globais </li></ul></ul></ul><ul><ul><ul><li>Achievements & Gamerscore </li></ul></ul></ul><ul><ul><ul><li>Convites entre jogos </li></ul></ul></ul>
    47. 48. ‘ Aba’ da Xbox Live Arcade
    48. 49. Como os jogos chegam a Arcade Desenvolvedor Publisher Arcade Publishing Team Gerência do Portfólio Microsoft 3PP Team
    49. 50. E os jogos da comunidade? <ul><li>Revisados pelo membros do Creator’s Club </li></ul><ul><li>Critérios como violência, sexo, sangue, etc. </li></ul><ul><li>Critérios Técnicos </li></ul><ul><li>Formado EXCLUSIVAMENTE pela comunidade </li></ul>
    50. 51. Que tipo de games estamos procurando ? Nós queremos jogos que …
    51. 52. … sejam atraentes <ul><li>“ Baixar e jogar” </li></ul><ul><li>“ Divertido para toda a família” </li></ul><ul><li>“ Divertido para todas as idades” </li></ul><ul><li>Jogos casuais </li></ul>
    52. 53. … suportem vários dispositivos <ul><li>Social em sua natureza </li></ul><ul><li>Controladores mais atrativos </li></ul><ul><li>Quebrar paradigmas </li></ul>
    53. 54. … inspirem <ul><li>Saúde física e mental </li></ul><ul><li>Ensinem sobre o mundo real </li></ul><ul><li>Faça você uma pessoa melhor </li></ul><ul><li>Ajudar os outros </li></ul>
    54. 55. … unam as pessoas Jogos sociais <ul><li>Multiplayer </li></ul><ul><li>Competitivo </li></ul><ul><li>Cooperativo </li></ul><ul><li>“ Backseat driver” </li></ul><ul><li>Party Games </li></ul>
    55. 56. … Jogos que funcionem entre plataformas
    56. 57. O que isso tudo significa para você? <ul><li>Primeiro, negócio é negócio: Se você tem um grande jogo, nos queremos vê-lo </li></ul><ul><li>Compreendendo o valor de seu serviço para o cliente vai lhe ajudar a criar um melhor jogo para ele </li></ul><ul><li>Novas áreas de interesse: </li></ul><ul><ul><li>Simples, Atrativos </li></ul></ul><ul><ul><li>Suporte a vários tipos de controladores </li></ul></ul><ul><ul><li>Temas e conteúdo inspirativos </li></ul></ul><ul><ul><li>Social, Social, Social </li></ul></ul>
    57. 58. Guia de Conceito Os 6 Pilares do que queremos em jogos <ul><li>Inovação </li></ul><ul><li>Jogabilidade </li></ul><ul><li>Visual </li></ul><ul><li>Multiplayer & Social </li></ul><ul><li>Plataformas </li></ul><ul><li>Global </li></ul>
    58. 59. Jogabilidade <ul><li>Tem de caber em 150 MB! </li></ul><ul><li>Idéias únicas </li></ul><ul><li>“ Baixar e jogar” </li></ul><ul><li>Permitir pequenas seções de jogo </li></ul><ul><li>‘ Planejado para a família INTEIRA </li></ul><ul><ul><li>Opções para crianças </li></ul></ul><ul><ul><li>Dificuldade progressiva </li></ul></ul>
    59. 60. Visual <ul><li>Este jogo merece estar no Xbox 360? </li></ul><ul><li>Re-Design, não apenas um porte </li></ul><ul><li>Exemplos: </li></ul><ul><ul><li>RoboBlitz </li></ul></ul><ul><ul><li>Small Arms </li></ul></ul><ul><ul><li>Jetpac Refuelled </li></ul></ul>
    60. 61. Multiplayer <ul><li>Xbox LIVE & desenhado para poucos participantes </li></ul><ul><ul><li>“ Join In Progress” </li></ul></ul><ul><ul><li>Migração de Host </li></ul></ul><ul><li>Multiplayer Local (2+ em um console) </li></ul><ul><li>Co-Op </li></ul><ul><li>Experiências Sociais </li></ul><ul><li>Offline gameplay & tracking </li></ul>
    61. 62. Apelo Global <ul><li>Planeje seu jogo com o mercado global em mente </li></ul><ul><li>Localização </li></ul><ul><ul><li>Inglês, Frances, Italiano, Alemão, Espanhol, Japonês, Koreano, Chinês (tradicional), Português (pt-br opcional). </li></ul></ul>
    62. 63. Guia de criação de conceito documentos de projeto <ul><li>Documentos de projeto contém </li></ul><ul><ul><li>Descrição mínima da jogabilidade </li></ul></ul><ul><ul><li>Quantidade e variedade de exemplos de arte </li></ul></ul><ul><ul><ul><li>Screenshots é melhor, mas arte conceitual ajuda </li></ul></ul></ul><ul><ul><li>Evidência de diferenciação </li></ul></ul><ul><ul><ul><li>Como esse jogo é diferente de outros títulos semelhantes? </li></ul></ul></ul><ul><ul><ul><li>O que exatamente “novas formas de jogar” significa? </li></ul></ul></ul><ul><ul><ul><li>Suporte a PDLC não é, automaticamente, um diferencial </li></ul></ul></ul>
    63. 64. Resumo do processo <ul><li>Passo #1: Crie um conceito – Trabalhe em conjunto com o Arcade Portfolio Planning team ( [email_address] ) – ou- com seu Publisher para verificar se seu jogo é bom o suficiente e discutir aspectos de negócios. </li></ul><ul><li>Passo #2: Comece!– Converse com o Arcade production team para discutir requisitos e best practices. Se ajuste de acordo com material técnico de suporte específico para a Arcade. </li></ul><ul><li>Passo #3 – Trabalhe duro – Desenvolva um título que todo usuário de um Xbox 360 gostaria de ter  Trabalhe em conjunto com o time da Arcade durante esse período. </li></ul><ul><li>Passo #4 – Envie para certificação – Títulos Arcade também são certificados de forma semelhante aos títulos em DVD, segundo critérios definidos pela comunidade. </li></ul><ul><li>Passo #5 – Envie ao mercado –O título é enviado ao Marketplace e os downloads começam. </li></ul>
    64. 65. Dúvidas? José Antonio “jalf” Leal de Farias Microsoft Most Valuable Professional [email_address] www.sharpgames.net

    ×