Um XNA “XBox 360 Project” também funcionará no Windows?

12

Entendo que um projeto XNA para o XBox 360 usará uma versão especializada do .NET Compact Framework. Mas digamos que eu queira lançar o XBox 360 e o Windows.

A versão XBox (usando estrutura compacta) ainda funcionará se distribuída para Windows, ou eu precisaria reconstruir a estrutura regular (ou o CF não Xbox) para distribuir?

CodexArcanum
fonte

Respostas:

15

Sim, plataformas diferentes executam diferentes tempos de execução .net.

A maneira como isso funciona no xna 3 / 3.1 / 4 é que você cria seu projeto de jogo para uma única plataforma (por exemplo, crie um novo projeto de jogo do Windows Xna no visual studio). Nos estúdios visuais 'solution explorer', clique com o botão direito do mouse no projeto e escolha 'create copy of project for X', onde x é a plataforma que você deseja que o novo projeto seja direcionado. Isso é praticamente tudo o que existe. criar cópia do projeto

Esses dois projetos são mantidos em sincronia; qualquer coisa que você adicionar a um será exibida no outro. Use os blocos #if WINDOWS ou #if XBOX ou #if WINDOWS_PHONE para adicionar código específico a uma única plataforma.

Cubed2D
fonte
Ahh, é por isso que os projetos de amostra têm "Cópia de X" neles. Presumi que eram apenas cópias manuais, não percebi que o XNA + VS automatizou isso. Muito útil! E a imagem demonstra onde a opção é muito agradável. Parece que seria melhor começar com um projeto XBox e fazer uma cópia do Windows se eu estiver planejando lançar os dois desde o início.
CodexArcanum 22/10/10
O ID do Personaly sempre começa em um projeto do Windows, é mais fácil depurar no Windows e você obtém ferramentas como perf hud e pix. Dosnt importa o caminho em volta de você fazê-lo, mas fazer isso maneira amável rodada de solidifica a idéia de c plataforma dev principal, mas teste cedo e muitas vezes em 360.
Cubed2D
3

Você precisa reconstruir o Windows. Existe uma ferramenta para automatizar o processo de conversão dos projetos do visual studio. Desde que você começou no 360 e na estrutura compacta, você deve estar bem. Indo de outra maneira, você pode encontrar problemas nos quais usa os recursos da estrutura .Net que não são suportados pela estrutura compacta.

Os documentos contêm uma seção sobre diferenças entre os dois (por exemplo, você não pode definir a afinidade do processador no Windows). Se você está realmente lançando seu jogo no PC, pode ter problemas de compatibilidade. Por exemplo, seu formato de buffer de renderização pode não ser suportado ou seus shaders podem não ser compilados. Essa é a maldição do desenvolvimento de PCs, embora não seja específica do XNA.

Chris Howe
fonte
É bom estar ciente de que também posso ter problemas com shader ou buffer no PC. Eu assumi que o XNA estava escondendo a maioria desses pequenos detalhes, mas acho que alguns ainda escapam.
CodexArcanum 22/10/10
Sim, o hardware do PC é bastante variado. Mas eu descobri que o xbox é mais difícil de explicar do que os recursos do hardware gráfico convencional. Que um padrão solto, eu sei :)
Seth Battin