sexta-feira, 19 de outubro de 2007

História do XNA

Tudo começou com o DirectX. DirectX é uma coleção de API´s para gerenciar tarefas relacionadas a multimídia, como os jogos. Ah, jogos para plataformas Microsoft (Windows, XBox, etc.). O nome DirectX vem do padrão de nomes no projeto inicial, onde cada uma das API´s começava com Direct, como por exemplo, Direct3D, DirectDraw, DirectSound, etc. DirectX, então, surgiu da união desses nomes num único pacote.

O resto é história. O DirectX se tornou a principal API utilizada para desenvolvimento de jogos. Foi universalmente aceito na indústria de jogos, principalmente por causa da API Direct3D, que possibilita a criação de gráficos tridimensionais em aplicações onde o desempenho é importante, como os jogos.

Os aplicativos são desenvolvidos utilizando a linguagem C++, que, dizem, é a melhor linguagem para se desenvolver jogos. Porém, como alguns de vocês já podem ter percebido, programar um jogo "do nada" em C++ não é pra normais.

Daí, a Microsoft, em 2002, teve uma idéia de criar uma API por cima do DirectX que possibilitasse programadores tirar as vantagens do DirectX a partir da plataforma .NET. Assim, surgiu a API Managed DirectX (MDX), que conseguiu a façanha de ter 98% do desempenho de uma aplicação DirectX nativa! Isso é um "feito"! Em 2006 saiu vários updates para o Managed DirectX, chegando até a versão 2.0.

O passo seguinte foi a criação do XNA: uma API construída utilizando como base o MDX, que possibilita a criação de aplicativos em C#, tanto para XBOX360 e Windows. O MDX 2.0 está descontinuado e a bola da vez é o XNA, que está em constante atualização!

Não sei se deixei claro, mas a moral da história é: desenvolver em XNA é ótimo para os iniciantes, pois possibilita ao programador se abstrair de detalhes de baixo nível, o que o DirectX não faz tanto assim! Isso significa que os grandes jogos, das grandes indústrias, não usam XNA para desenvolver seus jogos, mas DirectX puro.

Ah, só reforçando a mensagem: XNA está por cima do DirectX, o que implica que XNA é rápido, abrangente e tem muito potencial!

Nenhum comentário: