Download - Microsoft XNA
Microsoft XNAAlexandre Nardi
??
?
??
Agenda
O que é XNA?
Como funciona o XNA?
A evolução do XNA.
Visão Geral do sistema XNA.
O Ciclo de vida de um Jogo.
Camadas do Sistema.
As linguagens de desenvolvimento.
Starter Kits.
Conclusão.
O que é XNA?
O que é?◦ XNA é uma iniciativa da empresa Microsoft para criação de jogos independentes de plataforma.
◦ O XNA foi lançado oficialmente em sua primeira versão em novembro de 2006
O que significa?◦ XNA é um acrônimo auto-recursivo que significa XNA is Not Acronymed que em português significa “XNA não é um Acrônimo” (Sigla).
Como funciona o XNA?
Funcionamento XNA◦ O XNA funciona como um Middleware entre o DirectX e o desenvolvedor. Enquanto o DirectX trabalha em nível baixo, tendo até mesmo que gerenciar recursos de hardware, o XNA trabalha em um nível onde somente a aplicação importa.
Qual a vantagem?◦ Recursos altamente avançados ao alcance de todos.
O Custo disso?◦ Perda de Flexibilidade.
A Evolução do XNA
Versão 1.0◦ Surgiu em sua versão final em Novembro de 2006.
◦ Causou um grande furor na comunidade de desenvolvedores .NET
◦ Tinha originalmente duas IDEs:
XNA Game Studio Professional (descontinuado)
XNA Game Studio Express.
◦ Permite desenvolvimento de jogos para Windows e Xbox 360.
A Evolução do XNA
Versão 2.0◦ Lançada em Dezembro de 2007.
◦ Foi a versão que trouxe a maior quantidade de adeptos da plataforma.
◦ Introduziu a API de comunicação com a Xbox Live.
◦ Gerenciamento de Hardware remodelado.
◦ O XNA Game Studio passou a ser uma extensão do Visual Studio 2005.
A Evolução do XNA
Versão 3.0◦ Lançada em Outubro de 2008.
◦ Suporte à linguagem C# 3.0 (LINQ, Extensions, etc).
◦ Suporte ao desenvolvimento da plataforma Zune (Media Players).
◦ Suporte à jogos Multiplayer Cross Plataform(Windows X Xbox 360 x Zune).
◦ Passa à ter como IDE o Visual Studio 2008.
A Evolução do XNA
Versão 3.1◦ Anunciada no “Game Developers Conference” em Março de 2009.
◦ Sem data de lançamento definida.
XNA Framework Content Pipeline◦ Ferramenta que trouxe a integração para publicação de jogos na Xbox Live.
XNA Framework
Visão geral do sistema XNA
XNA Game Studio
Estende o C# Express para suporte ao XNA Framework, construindo conteúdo parajogos, mirando no Xbox 360
XNA Framework
.NET Game Framework
.NET Framework for 360
.NET Compact Framework Personalizado
Managed DirectXManaged DirectX (MDX)
Gerenciado sobre o DX nativo
XNA Game Studio
.NET Framework for Windows
Distribuição baseada no .NET 2.0
Ciclo de Vida de um Jogo
Ciclo de Vida de um Jogo
Initialize (Inicialização)◦ Carrega recursos não visuais, como variáveis.
LoadContent (Carregar Recursos)◦ Carrega recursos como Sons, imagens e videos.
Update (Atualizar)◦ Atualiza estados e verifica regras.
Draw (Desenhar)◦ Desenha o resultado do Update na tela.
UnloadContent (Descarregar Recursos)◦ Destrói objetos do jogo em memória.
Games
Camadas do sistema
Plataforma
Core
Framework
FrameworkEstendido
XACT XINPUT XContentDirect3D
Graphics Audio Input MathStorage
Modelo de aplicação Fila de conteúdo
Starter Kits Código Conteúdo Componentes
Legend XNA Provê Você Provê Comunidade
As linguagens
C#◦ O XNA foi desenvolvido com base na linguagem C# (C Sharp) e essa é até hoje a sua única linguagem nativa.
Outras linguagens◦ Comunidades de outras linguagens criaramformas de acessar recursos do XNA Framework.
◦ Exemplos: Chrome (Pascal), Xnua(Lua), IronPython(Python), C++/CLI, F#, VB.NET etc.
Starter Kits
Mini-jogos e aplicações prontos para uso/extensão.
Podem ser usados como destino final ou ponto de partida.
Novos kits sempre vão surgindo.
Cada kit possui um tópico em foco.
Existem atualmente 6 Starter Kits oficiais: Marblets, Race, Space War, NET Rumble, RPG e Plataformer.
Space War deu origem à Space War – MissionCommando.
Conclusão
Novidades na parte de input (GamePad)◦ Enumeração gamePadType permite verificar o tipo de controle, e método GetCapabilities permite receber detalhes sobre capacidades. ArcadeStickController - arcade stick.
DancePadController - dance pad.
DrumKitController - drum kit (tambor).
FlightStickController - flight stick (manche).
GamePadController - Xbox 360 Controller.
GuitarController - guitarra!
UnknownController - unknown type (?)
WheelController – wheel (volante).
Conclusão
Total suporte a plataforma Zune a partir da versão 3.0.
XNA Developer Centerhttp://msdn.com/xna
DirectX Developer Centerhttp://msdn.com/directx
Game Development MSDN Forumshttp://forums.microsoft.com/msdn
Unified XNA Websitehttp://www.xna.com
Recursos sobre XNA
Integrantes
Lucas Araujo RA: 411593 – 7
Kelsen Lima RA: 266901 – 3
Leandro Fernandes RA: 267312 – 6
Tiago Gonçalves RA: 410857 – 4