Qual é o futuro do XNA no Windows 8 ou como os jogos gerenciados serão desenvolvidos no Windows 8? [fechadas]

83

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.

Ken
fonte
2
O Windows 8 possui um modo compatível com versões anteriores, então por que isso seria um problema?
ashes999
6
Se eu quiser desenvolver um jogo de ac # para a interface do usuário do metro, qual estrutura devo usar?
Ken
5
Você deve usar o SharpDX.
Jonathan Dickinson
+1 para Johnathan. O SharpDX agora suporta o DirectX 11.1 para compatibilidade com o Metro.
ChrisC
4
@Deza: Não apenas ele não terá suporte para o metrô, mas o XNA também não será usado para o Windows Phone 8. Além disso, se o XNA não for atualizado, ele nunca suportará o DX11 e não funcionará no próximo console Xbox. Existem muitas razões para que os desenvolvedores evitem o XNA se ele não for atualizado.
Nic Foster

Respostas:

61

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:

  1. 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.

  2. 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. Exibições de página do mecanismo de início rápido

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:

Crie jogos imersivos usando o poder do DirectX A nova pilha de gráficos do Windows 8 é melhor integrada, facilitando o uso em conjunto dos componentes Direct2D, Direct3D e DirectCompute e exigindo menos recursos duplicados do que antes. Recursos disponíveis anteriormente apenas no XNA, como DirectXMath, XAudio2 e XInput, agora estão disponíveis. Para a melhor experiência em jogos e vídeos, use o DirectX 11.1 para trazer 3D estereoscópico para seus aplicativos.

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.

Nic Foster
fonte
Os representantes da Microsoft aparentemente disseram às pessoas para usar o suporte do MonoGame para Windows 8, embora o suporte a 3D ainda esteja em desenvolvimento. Pode valer a pena ver se você pode porta você motor :)
David C. Bishop
11
Sim, isso é algo que eu poderia considerar. Eu principalmente usei o projeto do mecanismo como um hobby para aprender mais sobre áreas de desenvolvimento de jogos com as quais estou menos familiarizado. Com motores como o Unity por aí que podem ser usados ​​gratuitamente, houve pouco uso do meu motor (tanto quanto eu sei). Não tenho certeza do quanto estou falando sério sobre tornar o mecanismo mais acessível, sabendo quão pouco provavelmente seria usado. Posso continuar expandindo o mecanismo apenas para continuar praticando com a tecnologia de mecanismos de jogos em geral.
Nic Foster
11
Atualmente, estou usando o Monogame para o meu jogo 3D XNA que está atualmente trabalhando no WP7, Windows e W8. Ainda faltam alguns elementos críticos que eu gostaria que estivessem lá, mas estão sendo fortemente desenvolvidos por algumas partes interessadas.
22413 RobCurr
47

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.

Dominique
fonte
4
Para quem me deu uma pontuação negativa, não estou respondendo à pergunta do autor original sobre "como os jogos gerenciados serão desenvolvidos no Windows 8?" Eu pensei que havia sugerido que o MonoGame terá uma implementação do Windows 8 no futuro, então essa é uma alternativa possível ao Unity3D, DeltaEngine etc. E também esclareci pontos xoofx sobre o MonoGame. Apenas querendo saber por que o voto negativo.
Dominique
6
Atrevo-me a adivinhar que poderia ser porque sua resposta parece mais um anúncio do que uma resposta.
Josh
6
@ Dominique eu votei em você. Eu usei e aproveitei o seu produto, mas o que diz "Então, suponho que meu argumento seja, considere o MonoGame se você planeja escrever jogos de plataforma cruzada usando XNA". resume a intenção da sua resposta. Uma pequena quantidade de informações úteis não esconde o fato de que é um argumento.
ClassicThunder
11
@Dominique Consulte as perguntas frequentes sobre promoção no site. Acredito que você estava sinceramente tentando responder à pergunta, mas ficou um pouco envolvido em promover seu projeto em vez de fornecer uma resposta à pergunta. Como seu projeto é de código aberto, você pode se qualificar para um anúncio de promoção da comunidade e vale a pena analisar. Obrigado pela resposta e bem-vindo ao GDSE.
MichaelHouse
11
Já faz um tempo desde que eu respondi a esta discussão e muita coisa aconteceu. Eu só queria ressaltar que agora existem pelo menos 2 jogos na Windows 8 preview Store, que usam o MonoGame. O primeiro ARMADO! foi destaque nos estandes e sites da Microsoft recentemente. Rune Legend é outro. Procure mais jogos com MonoGame chegando ao Windows 8. Há apenas duas semanas, eu e um desenvolvedor de MonoGame fomos convidados a visitar a Microsoft Reading, no Reino Unido, e conversamos com eles sobre o MonoGame. Apresentamos a 8 evangelistas. Também Bob Familiar, um evangelista da Microsoft nos EUA, escreveu recentemente um artigo 3 parte abou
Dominique
16

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:

dbomb101
fonte
8
Eu realmente espero que seja o último, porque se eles estão depreciando o XNA depois de quanto eles o pressionam ao longo dos anos, bem, cocô.
Jhocking
@jhocking concorda que é cocô. Mas como desenvolvedores, devemos sempre ser multilíngues. XNA também era minha plataforma favorita, mas agora, acho que está de volta ao Flash ou algo assim. Suspiro.
precisa saber é
2
lol bem, não "muito", pois nunca programarei no XNA. Eu estava pensando mais que isso poderia ferrar todos os meus amigos que continuam evangelizando o XNA. Pode não me ferrar pessoalmente, mas também não gosto de ver outras pessoas se ferrando.
jhocking
As coisas que acontecem com o próprio DX sugerem que não haverá outra versão do XNA. Mas, a tecnologia muda.
Blecki
11
  1. Qual é o futuro do XNA no Windows 8?

    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).

  2. Como os jogos gerenciados [que não usam a API XNA] serão desenvolvidos no Windows 8 (Metro)?

    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).

xoofx
fonte
5

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

O WinRT é o próximo .NET e C ++ / CX é o próximo C #.

Eles dizem:

Ei, é tão fácil escrever em C ++ quanto em C #! Por que você precisa do XNA se pode escrever em C ++ e DirectX?

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.

Petr Abdulin
fonte
2

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.

Jules
fonte
7
Olá Jules. Bem-vindo ao GDSE! Nós não somos realmente um fórum aqui, então respostas como essa que são meio faladoras são desencorajadas. Se você tivesse informações factuais para adicionar ou fontes para sua resposta, isso seria ótimo!
MichaelHouse