Sei que esse é um possível engano dessa pergunta , mas a última resposta foi há 18 meses e muita coisa aconteceu desde então.
Parece haver alguma incerteza sobre o XNA no Windows 8. Especificamente, o Windows 8 por padrão usa a interface Metro, que não é suportada pelo XNA. Além disso, a loja do Windows 8 não armazenará aplicativos que não sejam metropolitanos, portanto não armazenará aplicativos XNA.
Devemos seguir o XNA ou a Microsoft deseja que mudemos para uma estrutura diferente para o desenvolvimento gerenciado de jogos no Windows 8?
Editar: Como apontado em um dos comentários, o Windows 8 poderá executar jogos XNA em um modo de compatibilidade com versões anteriores. Mas isso cheira a depreciação.
Respostas:
EDIT: É oficial, a Microsoft matou o XNA . Estou triste com isso, mas não foi inesperado, é o que eu estava prevendo que aconteceria, mas esperando estar errado. Tudo abaixo deste ponto é o meu post original do início de 2012.
Outra coisa a considerar é que a Microsoft provavelmente lançará um novo console em meados do final de 2013. Eles continuarão tentando que algo como o XNA funcione no console? Se eles quiserem que os indivíduos façam jogos no novo Xbox, precisarão de algo, e seria um desperdício desfazer-se do XNA e começar de novo com outra coisa. Além disso, o Windows 8 será executado em tablets com processadores ARM, e todos sabemos quão grande é o mercado de aplicativos para telefones e tablets, é uma grande oportunidade para a Microsoft ter uma API para criar aplicativos nesses dispositivos, mas será XNA ou apenas .NET?
Eu vejo alguns caminhos em potencial:
O XNA não foi extremamente bem-sucedido com o Xbox atual, principalmente devido ao número de jogos XNA sendo exibidos e à configuração insuficiente da loja para jogos XNA no Xbox Live. Portanto, a Microsoft pode decidir desligar completamente, deixando-nos o XNA 4.0, que é compatível com o DX10, e será uma plataforma decente para as pessoas criarem jogos simples de PC nos próximos anos antes que desapareçam.
A Microsoft pode ver as enormes possibilidades com aplicativos caseiros, coisas como a App Store da Apple são enormes fabricantes de dinheiro, e se a Microsoft pode facilitar a criação de jogos e colocá-los em tablets Xbox Live e Windows 8, eles têm a chance de aumentar no mercado de aplicativos de console. Se a Microsoft seguir esse caminho, vejo o novo XNA dando suporte ao DX11.1 com sua próxima versão e continuando o suporte ao XNA por pelo menos mais 5 anos.
Algumas coisas a considerar:
Atualmente com o XNA, você deve pagar US $ 100 se quiser desenvolver seu jogo para o Xbox 360, são US $ 100 apenas para experimentá-lo e ver se você pode ganhar algum dinheiro, e mesmo assim a MS obtém uma parcela dos lucros do seu jogo. Se a Microsoft pagar a taxa de US $ 100 e apenas pegar a parte dos lucros, eles podem acabar vendo muito mais jogos e ganhar mais dinheiro com o negócio.
Os jogos XNA têm problemas de desempenho no Xbox 360. A Microsoft não queria que os jogos XNA representassem um risco de segurança quando rodavam nos Xboxes de outras pessoas; portanto, eles rodam basicamente jogos XNA em uma sandbox com acesso limitado à CPU, GPU e memória. Além do acesso limitado, os jogos programados no Xbox SDK completo não são gravados em C # e não precisam de coisas como coleta de lixo, mas o XNA é executado no próprio C # da Microsoft; portanto, a Microsoft precisou criar um invólucro para que o XNA fosse executado no Xbox, e esse invólucro atrasa bastante as coisas. Coisas como desempenho de ponto flutuante podem ser até 10 vezes mais lentas que os jogos do Xbox que são escritos no SDK completo. Esses problemas de desempenho significam que os jogos do Xbox desenvolvidos pelo XNA não podem realmente usar todo o potencial do Xbox, o que prejudica a qualidade dos jogos que a Microsoft pode obter da comunidade. A Microsoft faria bem em considerar isso se eles continuarem com o XNA, para que seu próximo console permita que os desenvolvedores do XNA usem o sistema em todo o seu potencial.
Até onde eu sei, o XNA não suporta o estilo metro do Windows 8, portanto, os desenvolvedores não poderão escrever jogos para tirar proveito dele. O XNA também não será executado nos processadores ARM; portanto, você não pode usar o XNA para escrever aplicativos para tablets Windows 8 que serão lançados em breve. Isso é um sinal de que o XNA pode não ser suportado no futuro?
A Microsoft usa o XNA para jogos no momento, mas com um pouco de trabalho, ele também pode ser usado para criar alguns aplicativos interessantes. Se a Microsoft empurrou o XNA para comunidades que não sejam desenvolvedores de jogos, ele pode ser usado com mais frequência e ter mais motivos para a Microsoft continuar dando suporte a ele.
Os fóruns do XNA secaram um pouco, leva mais tempo para que as pessoas obtenham respostas, e raramente vejo mais algum membro da equipe do XNA nos fóruns, exceto Shawn Hargreaves, portanto, eles podem estar apenas em um papel de suporte no momento.
Eu criei e suportei um mecanismo de jogos de código aberto para o XNA, nos últimos 2 anos, os downloads do mecanismo caíram para cerca da metade do que começaram, mesmo que o mecanismo seja muito melhor do que costumava ser. Isso me indica que muito menos pessoas estão usando XNA do que costumavam. Aqui está um gráfico do número de acessos que tenho no meu site, você pode ver o interesse no XNA atingiu o pico entre o final de 2007 e meados de 2008.
Aqui está uma longa discussão que inclui alguns membros da equipe do XNA. Obviamente, eles não estão dispostos a comentar muito, porque a Microsoft não fala muito sobre as coisas antes de serem anunciadas:
http://xboxforums.create.msdn.com/forums/t/91616.aspx
Também citações como esta são interessantes:
http://download.microsoft.com/download/1/E/4/1E455D53-C382-4A39-BA73-55413F183333/Windows_Developer_Preview-Windows8_guide.pdf
No momento, sou compatível com um mecanismo de jogos de código aberto para o XNA, portanto, prefiro vê-lo suportado no futuro; no entanto, mesmo que o XNA 4.0 seja o último XNA, ainda é uma plataforma decente para criar jogos do Windows de maneira rápida e fácil, e também uma ótima API para quem deseja aprender a criar videogames.
Minha opinião sincera é que o XNA 4.0 será o último, mas eu realmente espero estar errado sobre isso.
fonte
O MonoGame (uma implementação OpenSource, OpenGL do XNA) v2.5 foi lançado hoje com suporte para shaders personalizados em iOS, Android, MacOS e Linux. Nossa equipe começou a trabalhar para adicionar o suporte ao PlayStation Suite SDK e também o Window8 Metro (baseado no SharpDX, acredito).
Já temos uma ramificação 3D, imaginativamente denominada develop3d, que é onde todos os nossos esforços serão focados nos próximos meses, agora que a v2.5 foi lançada. Dê uma olhada no nosso canal do YouTube para saber onde estamos atualmente com o 3D - http://www.youtube.com/user/MonoGameTeam?feature=watch .
Temos desenvolvedores de alguns estúdios de jogos ajudando, então achamos que o ramo develop3d deve ser mais otimizado do que o ramo v2.5 atualmente é e é quase uma reescrita total. A demonstração do Reach levou 15 minutos para ser portada do Windows para o MacOS X, quando eu comecei do zero no final de semana passado. O ramo develop3d ainda não é perfeito e nem todo o MonoGame, mas achamos que estamos a caminho de resolver os problemas que temos e se mais pessoas ajudarem, ainda melhor.
Já existem 28 jogos iOS (27 2D e 1 3D) na Apple App Store, 5 no mercado Android e 1 nas lojas MacOS e Linux. Se alguém aqui jogou Bastion em seu navegador Google Chrome, que usa uma versão modificada do MonoGame e esperamos oferecer suporte a jogos NaCL no futuro, graças ao SuperGiant nos enviando informações sobre como eles fizeram o MonoGame trabalhar com NaCL.
Temos entre 4 e 5 desenvolvedores ativos trabalhando no MonoGame e, se você gosta de conversar conosco, vá para monogame.codeplex.com ou irc.gnome.org no canal #MonoGame. Pegue o código mais recente do Github
Então, suponho que meu argumento seja, considere o MonoGame se você planeja escrever jogos de plataforma cruzada usando XNA.
Dominique.
fonte
Pelo que entendi, a situação pode ser de duas maneiras. A API está sendo preterida ou está aumentando para criar uma versão XNA baseada no DirectX 11.
Aqui está um artigo sobre cada perspectiva:
fonte
O XNA será executado apenas na área de trabalho do Win8 e quase não há chance de a Microsoft estar trabalhando em uma API compatível com o XNA em execução no Win8 Metro UI / DirectX11.1.
Se você realmente deseja continuar desenvolvendo uma API do XNA como no Windows 8 Metro, enquanto ainda pode usar o pipeline de conteúdo (uma das razões pelas quais o XNA é compatível com desenvolvedores de jogos de baixo orçamento), siga o projeto do ANX Framework . Este projeto tem boas chances de estar pronto antes do Windows 8 RTM (pelo menos com o suporte do SpriteBatch). Embora provavelmente exija a alteração leve de shaders (por exemplo, semântica), o ANX está fornecendo uma maneira de importar um projeto XNA existente, o que pode ajudar bastante. Eles também estão trabalhando em outros back-end (como o OpenGL para gráficos), para que também possam segmentar outras plataformas .NET (como o Mono no Android / iPhone).
O MonoGame pode ser outra opção, mas atualmente é apenas para 2D, com um único back-end do OpenGL / ES, portanto, não poderá ser executado no Windows 8 Metro (o OpenGL não é uma API "certificada" no Win8 Metro e, provavelmente, não faz parte dos planos da Microsoft).
Existem várias opções:
Você pode usar diretamente o SharpDX , uma API DirectX de baixo nível (a ANX está usando). Por exemplo, uma estrutura mínima para um jogo 2D geralmente é viável com uma API de baixo nível como esta (e pode ser feita com o Direct2D). Conheço pelo menos duas pequenas empresas que o estão usando para desenvolver jogos Win8 Metro.
Você pode começar a usar o DeltaEngine que, esperamos, seja compatível com o Win8 Metro nos próximos meses (provavelmente será necessária uma licença)
Você pode tentar desenvolver com o Unity3D , embora eles ainda não tenham anunciado nenhum suporte para o Windows 8 Metro (requer uma licença). Mas eles trabalharam recentemente em um renderizador Direct3D11, de modo que não deve ser tão difícil fornecer suporte ao Win8 (mas como muitas APIs do Win32 não estão autorizadas no Win8 Metro, provavelmente não é a única coisa que eles precisam portar).
fonte
Com o lançamento do WinRT , está se tornando cada vez mais óbvio que o Microsoft way deu uma grande virada. O hype gerenciado está diminuindo, o hype nativo está mais forte do que nunca. Aparentemente, alguém influente na empresa (algumas afirmam que é a equipe principal do Windows) não está satisfeito com o desempenho do .NET. A principal tendência que vejo nos artigos mais recentes é algo como
Eles dizem:
Essa é a sensação que tenho da última vez. Como você pode esperar uma desaceleração de todos os projetos relacionados gerenciados, a única diferença é o valor da desaceleração.
A Microsoft tem meu respeito por quase nunca desistir do suporte a produtos, eles simplesmente não são mais desenvolvidos. Portanto, pelo menos, podemos usar o XNA 4.0 por algum tempo, mesmo que seja a última versão suportada.
fonte
Não parece bom para nós, desenvolvedores independentes de XNA, que desejam portar nossos jogos XNA no Metro. A Microsoft não demonstrou interesse e espera que voltemos à programação C ++ / DirectX ou adotemos estruturas C # de terceiros, a maioria das quais não oferece suporte a nenhum XNA Content Pipeline.
Tudo muito triste, eu realmente não consigo entender MS às vezes.
fonte