2. ROTEIRO
• Introdução ao desenvolvimento de jogos
• Como funciona o XNA
• Problemas no desenvolvimento
• O que é o Sparta
• Vantagens em usar Sparta
• Arquitetura
• Demos
4. INTRODUÇÃO
Jogos são sistemas de tempo real pois precisam de resposta
rápida e precisa
Não são 100% baseados em eventos, o jogo tem um loop que
controla tudo
5. GAME LOOP
while (!endGame)
{
input
processamento do jogo
output
}
6. GAME LOOP while (!endGame)
{
if (Keyboard.Jump.Pressed)
{
Player.Y -= 20
}
if (Player.Y == Moeda.Y)
{
Player.Pontos += 10
Moeda.Delete()
}
Draw(Player, Player.X, Player.Y)
Draw(Moeda, Moeda.X, Moeda.Y)
}
7. XNA
É a solução disponível no Windows Phone para desenvolvimento
de jogos
Silverlight = Apps
XNA = Jogos
XNA + Silverlight perde um pouco de desempenho
9. TOMBSTONING
Tombstoning deve ser uma preocupação do programador quando desenvolver
para Windows Phone
Não é uma obrigação do jogo ter tombstoning
:(
10. CÂMERA E INPUT
Seguir o jogador ou outro objeto
Facilidade em fazer transformações como zoom e scale
Cortar os objetos que estão fora da área desenhável
12. CONTROLE DE SPRITES
É preciso uma classe para se fazer animações
Classe base para se adicionar em coleções
Classes derivadas de desenho que servem para outros
propósitos
13. MEMÓRIA
Pelas normas do Windows Phone Store aplicativos em celulares
com 256mb não podem ultrapassar 90mb na RAM
Garbage Collector trava o jogo quando ativo
Tomar cuidado para não instanciar nada no loop pois enche a
memória muito rápido
Sempre que possível reutilizar coleções ao invés de usar new e
dispose
16. O QUE É O SPARTA
Framework para desenvolvimento de jogos 2D
Não é um engine
Precisávamos de algo rápido para prototipagem e
desenvolvimento
Baseado em projetos open source como Flixel e Qt
27. FEATURES
• Controle de telas
• Transição entre telas
• Engine física integrado
• Sprites
• PropertyAnimation
• Classes pra UI
• Som
• Câmera
• Tombstoning
• Modo debug
28. PLUS
• Open Source e Free
• Arquitetura simples
• Desenvolvido pra ser extendido
• Fácil usar para prototipagem
• Desenvolvedores disponíveis
• Usa XNA por baixo
• Agora disponível em sabor morango
29. ROADMAP
• 3D
• Multiplataforma (HTML5, C++/DirectX)
• Construtor de Interface
• Integrar engines de física de uma maneira flexível
31. CONTATO
Site do projeto
http://projects.developer.nokia.com/sparta
Grupo desenvolvimento de Windows Phone
facebook.com/groups/nokiadevwp/
Heitor
heitor.repolho@indt.org.br
Thiago
thiago.valle@indt.org.br