ECOSYSTEM1   INdT 2012 - Treinamento PUC
Desenvolvimento de    Jogos para Windows    Phone usando XNAInstituto Nokia de TecnologiaEcosystem Team2   INdT 2012 - Tre...
Windows Phone.Why…?3   INdT 2012 - Treinamento PUC
IDE4   INdT 2012 - Treinamento PUC
Linguagem5   INdT 2012 - Treinamento PUC
S.O.6   INdT 2012 - Treinamento PUC
Público Alvo7   INdT 2012 - Treinamento PUC
Público Alvo8   INdT 2012 - Treinamento PUC
Marketplace9   INdT 2012 - Treinamento PUC
Crescimento10   INdT 2012 - Treinamento PUC
Indústria dos Games11   INdT 2012 - Treinamento PUC
Ecosystem12   INdT 2012 - Treinamento PUC
And more!13   INdT 2012 - Treinamento PUC
It’s Magic!14   INdT 2012 - Treinamento PUC
Desenvolvimento15   INdT 2012 - Treinamento PUC
Game Loop       Intialize( )                LoadContent( )                                                    Game Over   ...
Sprites17   INdT 2012 - Treinamento PUC
ColisõesBounding Box(0,0)                                Área de colisão 18     INdT 2012 - Treinamento PUC
Placar - SpriteFont                                   Fonte: “Windows Phone 7                                   Game Devel...
Media - Sound Effects20   INdT 2012 - Treinamento PUC
Animation21   INdT 2012 - Treinamento PUC
Input - Acelerômetro22   INdT 2012 - Treinamento PUC
Input - TouchRaw Input – Determina toques na tela;Gestures – Determina o tipo de toque feito na tela;           Tipo      ...
This is Sparta!!!24   INdT 2012 - Treinamento PUC
This is Sparta!!!25   INdT 2012 - Treinamento PUC
This is Sparta!!!26   INdT 2012 - Treinamento PUC
This is Sparta!!!27   INdT 2012 - Treinamento PUC
Contatos                        Nokia Developer                        www.developer.nokia.com                        (Nok...
29   INdT 2012 - Treinamento PUC
Upcoming SlideShare
Loading in …5
×

INdT_ecosystem_wp7_games

303 views
239 views

Published on

Palestra de 3 horas sobre Desenvolvimento de Jogos para Windows Phone usando XNA

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
303
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Olá pessoal, meu nome é Sérgio Cavalcante, sou Evangelista de Windows Phone Ecosystem, e é por isso que estou aqui.
  • Hoje eu vou apresentar uma palestra sobre Desevolvimento de jogos para Windows Phone usando XNA.
  • Mas antes, vocês podem estar se perguntado, porque desenvolver pro WP? O que é XNA? O que é Ecosystem?
  • A IDE é muito funcional e fácil de se adaptar. Conta inclusive com um emulador com Debug Capability. Inclusive se quiser, depois do build, fazer um deploy no próprio dispositivo, você debuga nele tbm! Já usei o Visual Estudio desde a versão 6, 2003, 2005, Eclipse, Delphi, e Qt Creator, e posso dizer que achei essa IDE fantástica. Muitos recursos, madura, eficiente. Intelisense, Code Completion, help do MSDN que é muito completo, etc. Pode ter certeza que ela não vai ficar no seu caminho. E o mais legal? A versão Express, que dá pra fazer tudo que você precisa, é de graça. É só baixare começar a brincar.
  • A curva de aprendizado é rápida. Se você sabe C++ ou Java, aprender C# é bem suave. O código é gerenciado pelo .NET, o pessoal do Java sabe bem como é isso.Eu, como ex desenvolvedor C++/Qt Linux, tinha um certo..pré-conceito quanto a linguagens gerenciadas, até ver que o código "builda" e roda sem maiores problemas,foi bem interessante aprender uma linguagem adicional e me aprimorar como desenvolvedor. Foi interessante, em um treinamento que eu dei, onde nenhum dos alunostinha conhecimento sobre o C#, uma pergunta que eu fiz. "Pessoal, chegamos ao fim do curso. Algum de vocês teve algum problema em assimilar c#?". A resposta unânime foi"não". E foi interessante tbm ver a cara de espanto deles, no estilo "Po, de fato, nem percebi isso"
  • Provavelmente você tem um computador rodando Windows certo? pronto, é tudo que você precisa. Quando em meados de 2009, eu tinha um iPhone 3G. Decidi fazer um app pra iOS, na época ainda iPhone OS, a primeira coisa que vi que tinha que fazer era comprar um Mac. Hmm fora de cogitação. O que fui fazer?Tentei apelar pros "Hackintoshes" da época rs. Bom, Não ficou bom no meu velho Laptop. Então desisti. Nesse caso, se vc tem o Widows, vc não precisa gastar mais nada.(Olhando o Slide) aproveitei também pra mostrar pra vocês a evolução do Logo do Windows desde o primeiro. Notaram que o Logo do 8 é bem parecido com o primeiro?É pq justamente o Windows tinha virado uma Bandeira! E é isso que ele representa atualmente, uma redefinição, um recomeço. E valorizando os tiles que é a grande sacada.
  • – Usando o sistema de distribuição da Nokia, os Windows Phones vão chegar a lugares nunca antes imaginados. Um explorador de guano da ilha Kiribati pode comprar um WP e comprar seu App antes que ela seja engolida pelo mar.
  • Nokia Lumia Momentum Map - Aliás eis uma estatística real da distribuição dos locais onde os Lumias atualmente estão disponíveis para compra. Em alguns lugares como USA a ATT ainda registra o Lumia 900 como mais vendido, mesmo com a chegada do S III! Alguns países, apesar de não sermos os primeiros, já ultrapassamos o iOS, como na Rússia e China! somente com alguns meses de trabalho e divulgação, isso é uma marca fantástica.http://events.nokia.com/lumiamomentummap/
  • - O Marketplace da Microsoft já está em mais de 50 países e tem um critério de seleção um pouco rígido para que não entre vírus e crapware nele. Aliás, quando você submete sua aplicação ela é testada quanto ao consumo de hardware. Um relatório é mandado para que você a adeque, o que melhora a experiência do usuário com as Apps em geral. O lado interessante é que como o marketplace é algo novo, é um bom momento de pensar em uma aplicação original pq ela pode ainda não ter sido criada e Você ser o cara a ser copiado. Lembram do iBeer e iFart?
  • O Windows App já conta com mais de 100 mil aplicativos, por volta de 300 por mês, uma verdadeira explosão. começa a ficar relevante e ainda está no início. Lembro que em nov ou dez do ano passado eram somente uns 6 mil aplicativos. Em pouco tempo o impedimento em não comprar um Lumia era a falta de Apps. Em pouco tempo, isso não vai ser mais problema.E tem uma peculiaridade que talvez vocês não saibam. No caso da loja da Apple, o iTunes, se você faz um app trial, conta com um App. Se coloca o completo, +1. Versão iPad? +1No caso do Google Play, a parada é pior. Vocêmanda um app com “Hello World”. Contacomo App.Mandaseu app em 3 cores diferentes? +3Porissoalgunsnúmeros dos concorretessãorealmentefantasiosos.100,145 apps published to the Windows Phone Marketplace over the last 20 months88,371 apps live (available for download, total across 60 countries)Windows Phone reached the 100,000 milestone faster than Android (24 months), but slower than iOS (16 months)23,825 publishers (developers)Proportion of quality apps (rated five or more times) stable at 8% (UK ratings) 12% (US ratings)
  • E aconteceu uma revolução. Eu sempre sonhei em trabalhar fazendo jogos. Meu sonho era ir pra Square, uma das razões que me fez gostar de aprender C++. Fazer um próximo Final Fantasy e morar no Hawai! Pena que é uma seleção bem rigorosa, e eu sou um mero mortal :DHoje em dia, por exemplo, um músico não precisa mais se aliar com uma Gravadora pra lançar um álbum, com as novas lojas de músicas online. Escritores não precisamda mesma forma das Editoras, pois já têm Livrarias virtuais para publicar suas obras. E o mesmo acontece com desevolvedores de jogos com as lojas de games virtuais.Hoje em dia nossos jogos podem ser comprados direto dos consoles. Antigamente Kits de desenvolvimeto eram muito Caros (PS 3 ~30 mil Obamas) , restritos (Software Houses, pouca informação na comunidade) e complexos (C++/Direct X). Logo só tinha uma chance de verdade de trabalhar com isso se fosse pra uma Software House. Mas com o XNA, a Microsoft mudou essa escrita. o Kit de Desenvolvimento, como falei antes é grátis, muitos tutoriais, cursos e o próprio MSDN pra municiaros gamedevs com informações, e o C# como já mencionei pra te ajudar. Essa é a primeira parte dessa revolução. Você já pode fazer seu jogo. Em casa.
  • And one more thing! Você pode disponibilizar seus games para todo o Ecosystem. Portabilidade facilitada pra Xbox Windows no caso de um jogo. É, você vai poder criar jogos pro Windows Phone, console, tablet e Laptop que podem ser comprados. É isso mesmo que você leu.Inclusive você pode fazer jogos que possam persistir seus estados na nuvem, por exemplo. Isso significa que você pode começar a jogar no WP e continuar no XBox.Ou uma fase que vc prefira usar o acelerômetro ou o Gamepad, você possa escolher em que device jogar.Com a integração com o Skype, você inclusivevai conversar com os outros players! Mas o que é o Ecosystem? É a experiência que você tem com o Sistema. São os tiles, panoramas, etc. Por exemplo, quando você pega um iPad nas mãos, e já tem um iPhone, você praticamente já sabe utilizá-lo. Porque já tem experiência com o Ecosystem do iOS. Além disso, Você compartilha conteúdo entre as peças do ecosystem.Telefone, Tablet, Xbox(Media Center) e PC como somente telas e entrada de dados diferentes, mas como se fosse um sistema único.
  • And more! Esse é o garoto que foi mostrado recentemente que vai fazer a mágica funcionar! XBox Smart Glass.
  • Informações sobre um mesmo conteúdo, em todo o Ecosistema ao mesmo tempo, da forma mas adequada dependendo do dispositivo? Aqui você vê uma informação de Mídia, do seriado Game of Thrones, onde, na tela, pelo XBox, você vê o seriado, e no Tablet você pode ver um mapa de Westeros apontado onde está se passando a cena!Imagine um jogo de corida onde você tenha na Tela, via XBox, o jogo em si, com a pista e a ponta do carro, e nas mãos, você possa controlar o carro com o Acelerômetro como uma volante normal? Inclusibe no tablet, com um volante de F1 renderizado, com os botões acionáveis para as marchas e etc?E ainda, você vendo na tela do seu Windows phone, servindo como o retrovisor do carro? It's Magic!E então, empolgado para começar? Já é o suficiente?
  • As 2 caixas de ferramentas (frameworks) que usamos para desenvolver no WP. Silverlight seria uma alternativa melhor pra se fazer apps, já que conta com Controles event-driven, desenvolvimeto rápido na base do arrasta e clica, properties e eventos, etc.Pra desenvolver games, o ideal é XNA, pela performance, deploy em diversas plataformas. E o que mais ele oferece?
  • Uma coisa importantíssima que o XNA oferece é o Game Loop. Ele basicamente te ajuda a encapsular 3 coisas importantíssimas no seu game:Inicialização de variáveisCarregar os assests (Sprites, Fontes, Músicas, efeitos Sonoros) do seu jogo do Content Pipeline através do LoadContent. Ele deixa tudo em memória para acesso imediato.O ContentPipeline fica em um projeto à parte para efeito de otimização.O Método Update. É aqui que você seta a nova posição dos seus sprites, checa colisão, checa se você ou um inimigo morreu. E o método Draw, onde, finalmente, você desenha seus sprites nas posicões atualizadas no método UpdateE, o método UnloadContent, você descarrega o conteúdo que não foi automaticamete liberado.(Abrir o Visual Studio e iniciar um novo GameProject. Mostrar cada método)
  • (Gráficos 2D - Sprites)O que são sprites? Cada desenho desse. Isso mesmo, você monta literalmente sua tela de jogo. O Jax é um sprite. Liu Kang, outro.Background, o Life, o placar, até o Fight! Quem fica na frente de quem, o z-order, depende basicamente de quem você desenha primeiro.E o efeito deles se mexerem? Aí entra o animation.Algumas coisas são nativas como:TranslaçãoRotaçãoScaleAnimation(Abrir o Visual Studio e Mostrar os exemplos)
  • Colisões! Seu jogo inteiro depende basicamente disso. É colisão com parede, com inimigos, projéteis e com outros sprites. Pode resultar emPerda de vida, ou meramente a impossibilidade de movimentar seu player. O Controle de colisão mais básico é tratado através de um métodoChamada “Colisão por Bounding Box”. Existe Também a “Colisão por Pixel”, mas é um pouco mais avançado.Existe já suporte no XNA a uma classe chamada BoundigBox em que você coloca ao redor do seu Sprite. Ela possui um método “itersects”,Que verifica com vários cálculos internos a colisão com outros Bounding Boxes(Abrir no Visual Studio e mostrar o código rapidamente)
  • Essa tabela é do livro do Adam Dawes (WP7 Game Development) que mostra todas as fontes suportáveis para usarem nos jogos.Nem todas as fontes você pode utilizar até porque muitas delas têm direitos autorais! Por isso a Microsoft licenciou essas em específico Para uso livre. Fontes são importantes para criar placares e não somente para mostrar informações escritas na tela.(Mostrar como inserir textos na tela – incrementar o exemplo da colisão)
  • Falandoainda de Contents, existe a parte de Áudio, quedecididamenteenriquece a experiência com seujogo. QuemnãolembraDe músicascomo de Mário e Zelda, ou de Effects como o “Shoryuken”? Então, o XNA deixaissotambémmuitofácilpravocê!(Incrementar o Exemplo Colision com um Sound Effec e fazer tomar uma música no Media Player)
  • Taí o Animation. É um sprite com umalista demovimentoschamada de Sprite Sheet.Elebasicamente é um overload do método Drawondevcpega um retânguloespecíficocadavezquechama o método. Dando um efeito de movimento.No caso do Luigi, omovimento de andarsãoos 3 primeirostriângulos do SS dele, desenhados de umamaneiratãorápidaquedá a sensaçãoQueeleestáemmovimento, comoaparece o gif(Mostrar o código do radar animation)
  • Agora entramos em uma parte de User Input. Se você está em um telefone ou tablet, pq não usar o acelerômetro?O que ele faz?Mede as forçasaplicada no aparelhoem um determinadoinstante.Estasforçaspodemserusadasparadeterminaremqualdireção o usuárioestámovendo o aparelho.Oscomponentes de aceleraçãosãoem X, Y e Z.Também é possívelsimular o acelerômetro no EmuladorPense se seu game se beneficiariadessecurso. Casopositivo é um grandediferencialemtermos de divertimento 
  • Outro Input legal em devices que suportem é o Touch. Alguns jogos ficam muito melhor usando um touch do que um GamePad. Porque não utilizar? Aproveite o que tem disponível pra você!
  • Peraí, quediabo de Slide é esseCalma, estamos no contexto. Agora é o momentoparafalarque, vocênãoprecisafazertudoaquiloquepasseinamão. Jáexistemalguns Frameworks, Jádesenvolvidosouemdesenvolvimento, pradeixarsuavidaaindamaisfácil e fazer com quevocê se preocupe o mínimopossível com detalhesoperacionais e maisCom a lógica do seuprópriojogo. Um deles é o quefoidesevolvidopeloINdTchamada Sparta. Ele é um frame bemrobustoquefoiutilizadoparaDoisimportantesprojetos.
  • Esse é o nossomelhor case do Sparta. Grande sucesso no Symbian e Meego, Chegou a disputar um prêmio no começo do anoem Barcelona. Recomentoquebaixem,Brinquem, se viciem, e vejam o que o Sparta podefazer. Parabénsaosidealizadores com o Glaubert, que o idealizou e osdevsHeitor, Thiago Valle, com umaajuda do ThiagoBessa,Que o tornaramrealidade no Windows Phone. Esse Game tevemais de meiomilhão de downloads no Meego, e jáestáemmais de 100 mil downloads no Microsoft Marketplace. E foilançado um diadesses! Hoje, no Marketplace brasileiro, ganhouaté um ótimo review no Tecnoblog. E surpresa, no total já tem mais de 1 milhão de downloads.
  • Outro case de sucessofoiesse Gamechamado Frog, feitotambém no Sparta, peloThiago Valle. Tenhomenosinformações mas vale a jogatinapravermaisDo poder do Sparta.
  • Esse é um jogoquefiz no INdT, em um treinamento. Demorou 4 horasprafazê-lo. Fiz um passo a passo com minhaturmaquelevou 6 horas.Maisumaprovaque o Sparta ajudamuito no aspecto do jogo.
  • E pra quem se interessou e quiser saber mais, aqui está o nosso time! Venha com dúvidas, sugestões e principalmenteCom sede de desenvolver seu game.
  • Porfim, o sonho do desenvolvedor, de fazer um jogo. Poucoinvestimento, públicoalvocrescente, momentobom, múltiplasplataformas, ecosystem com smart glass, lojamadura, Curva de aprendizadofacilitada, muitosuporte. Nuncafoitãofácilrealizar o sonho de ser um gamedev e aindamonetizarnaexperiência. NuncafoitãofácilrealmenteGanhardinheiro com o quevocêama.
  • INdT_ecosystem_wp7_games

    1. 1. ECOSYSTEM1 INdT 2012 - Treinamento PUC
    2. 2. Desenvolvimento de Jogos para Windows Phone usando XNAInstituto Nokia de TecnologiaEcosystem Team2 INdT 2012 - Treinamento PUC
    3. 3. Windows Phone.Why…?3 INdT 2012 - Treinamento PUC
    4. 4. IDE4 INdT 2012 - Treinamento PUC
    5. 5. Linguagem5 INdT 2012 - Treinamento PUC
    6. 6. S.O.6 INdT 2012 - Treinamento PUC
    7. 7. Público Alvo7 INdT 2012 - Treinamento PUC
    8. 8. Público Alvo8 INdT 2012 - Treinamento PUC
    9. 9. Marketplace9 INdT 2012 - Treinamento PUC
    10. 10. Crescimento10 INdT 2012 - Treinamento PUC
    11. 11. Indústria dos Games11 INdT 2012 - Treinamento PUC
    12. 12. Ecosystem12 INdT 2012 - Treinamento PUC
    13. 13. And more!13 INdT 2012 - Treinamento PUC
    14. 14. It’s Magic!14 INdT 2012 - Treinamento PUC
    15. 15. Desenvolvimento15 INdT 2012 - Treinamento PUC
    16. 16. Game Loop Intialize( ) LoadContent( ) Game Over Update( ) UnloadContent( ) Draw( )16 INdT 2012 - Treinamento PUC
    17. 17. Sprites17 INdT 2012 - Treinamento PUC
    18. 18. ColisõesBounding Box(0,0) Área de colisão 18 INdT 2012 - Treinamento PUC
    19. 19. Placar - SpriteFont Fonte: “Windows Phone 7 Game Development” – Adam Dawes19 INdT 2012 - Treinamento PUC
    20. 20. Media - Sound Effects20 INdT 2012 - Treinamento PUC
    21. 21. Animation21 INdT 2012 - Treinamento PUC
    22. 22. Input - Acelerômetro22 INdT 2012 - Treinamento PUC
    23. 23. Input - TouchRaw Input – Determina toques na tela;Gestures – Determina o tipo de toque feito na tela; Tipo Descrição Tap Um toque (touch & release); DoubleTap Dois seguidos na tela; Hold Um toque por um tempo relativamente longo; FreeDrag Toque com arrasto em qualquer posição; VerticalDrag Toque com arrasto para cima ou para baixo; HorizontalDrag Toque com arrasto para a direita ou esquerda; DragComplete Marca o final de um FreeDrag, HorizontalDrag ou VerticalDrag; Flick Toque de um dedo na tela e é retirado sem parar; Pinch Movimentação de dedos na tela; PinchComplete Marca o final do Pinch; 23 INdT 2012 - Treinamento PUC
    24. 24. This is Sparta!!!24 INdT 2012 - Treinamento PUC
    25. 25. This is Sparta!!!25 INdT 2012 - Treinamento PUC
    26. 26. This is Sparta!!!26 INdT 2012 - Treinamento PUC
    27. 27. This is Sparta!!!27 INdT 2012 - Treinamento PUC
    28. 28. Contatos Nokia Developer www.developer.nokia.com (NokiaDev_WP_Brasil) @nokiadev_brasil INdT Sérgio Cavalcante Rafael Padilla ext-sergio.cavalcante@nokia.com ext-rafael.padilla@nokia.com sergiocavalcante.wordpress.com haffybra@hotmail.com @sergiocavalc Jackson Feijó Thiago Bessa jackson.feijo@indt.org.br ext-thiago.bessa@nokia.com thiago_bessa@hotmail.com jacksonzi@live.com www.bessa.net.br28 INdT 2012 - Treinamento PUC
    29. 29. 29 INdT 2012 - Treinamento PUC

    ×