¿Cuál es el futuro de XNA en Windows 8 o cómo se desarrollarán los juegos administrados en Windows 8? [cerrado]

83

Sé que este es un posible engaño de esta pregunta , pero la última respuesta que hubo fue hace 18 meses y han pasado muchas cosas desde entonces.

Parece haber cierta incertidumbre acerca de XNA en Windows 8. Específicamente, Windows 8 usa de manera predeterminada la interfaz Metro, que no es compatible con XNA. Además, la tienda de Windows 8 no almacenará aplicaciones que no sean de metro, por lo que no almacenará aplicaciones XNA.

¿Deberíamos seguir con XNA o Microsoft quiere que pasemos a un marco diferente para el desarrollo de juegos administrados en Windows 8?

Editar: como se señaló en uno de los comentarios, Windows 8 podrá ejecutar juegos XNA en un modo de compatibilidad con versiones anteriores. Pero eso huele a deprecación.

Conocer
fuente
2
Windows 8 tiene un modo compatible con versiones anteriores listo para usar, entonces, ¿por qué esto sería un problema?
ashes999
66
Si quiero desarrollar un juego ac # para la interfaz de usuario de metro, ¿qué marco debo usar?
Ken
55
Deberías usar SharpDX.
Jonathan Dickinson el
+1 para Johnathan. SharpDX ahora es compatible con DirectX 11.1 para compatibilidad con Metro.
ChrisC
44
@Deza: no solo no tendrá soporte de metro, sino que XNA tampoco se usará para Windows Phone 8. Además de eso, si XNA no se actualiza, nunca admitirá DX11 y no funcionará para la próxima consola Xbox. Hay muchas razones para que los desarrolladores eviten XNA si no se actualiza.
Nic Foster

Respuestas:

61

EDITAR: es oficial, Microsoft ha matado a XNA . Me entristece esto, pero no fue inesperado, es lo que estaba prediciendo que sucedería, pero con la esperanza de estar equivocado. Todo debajo de este punto es mi publicación original de principios de 2012.

Algo más a considerar es que es probable que Microsoft lance una nueva consola a mediados o finales de 2013. ¿Continuarán intentando que algo como XNA funcione en su consola? Si quieren que las personas creen juegos en la nueva Xbox, van a necesitar algo, y sería un desperdicio desechar XNA y comenzar de nuevo con otra cosa. Además, Windows 8 se ejecutará en tabletas con procesadores ARM, y todos sabemos lo grande que es el mercado de aplicaciones para teléfonos y tabletas, esa es una gran oportunidad para que Microsoft tenga una API para crear aplicaciones en esos dispositivos, pero será XNA o solo .NET?

Veo un par de caminos potenciales:

  1. XNA no ha sido extremadamente exitoso con la Xbox actual, principalmente debido a la poca cantidad de juegos de XNA que se muestran, y cuán mal configurada está la tienda para los juegos de XNA en Xbox Live. Por lo tanto, Microsoft puede decidir desconectarse por completo, dejándonos con XNA 4.0, que es compatible con DX10, y será una plataforma decente para que las personas creen juegos de PC simples durante los próximos años antes de que desaparezca.

  2. Microsoft puede ver las enormes posibilidades con aplicaciones caseras, cosas como la App Store de Apple son grandes fabricantes de dinero, y si Microsoft puede facilitar la creación de juegos y llevarlos a las tabletas Xbox Live y Windows 8, entonces tienen la oportunidad de hacerlo grande en el mercado de aplicaciones de consola. Si Microsoft sigue este camino, veo el nuevo XNA que admite DX11.1 con su próxima versión, y el soporte continuo para XNA durante al menos 5 años más.

Algunas cosas a considerar:

  • Actualmente con XNA debe pagar $ 100 si desea desarrollar su juego para Xbox 360, eso es $ 100 solo para probarlo y ver si puede ganar dinero, e incluso entonces MS obtiene una gran parte de las ganancias de su juego. Si Microsoft retira la tarifa de $ 100 y solo toma la mayor parte de las ganancias, en realidad pueden terminar viendo muchos más juegos y ganar más dinero con el acuerdo.

  • Los juegos XNA tienen problemas de rendimiento en la Xbox 360. Microsoft no quería que los juegos XNA representaran un riesgo de seguridad cuando se ejecutaban en las Xbox de otras personas, por lo que básicamente ejecutan juegos XNA en un entorno limitado con acceso limitado a la CPU, la GPU y la memoria. Además del acceso limitado, los juegos programados en el SDK completo de Xbox no están escritos en C # y no necesitan cosas como la recolección de basura, pero XNA se ejecuta en el propio C # de Microsoft, por lo que Microsoft tuvo que escribir un contenedor para que XNA se ejecute en el Xbox, y esa envoltura ralentiza bastante las cosas. Cosas como el rendimiento de punto flotante pueden ser hasta 10 veces más lentos que los juegos de Xbox que se escriben a través del SDK completo. Estos problemas de rendimiento significan que los juegos de Xbox desarrollados a través de XNA realmente no pueden usar todo el potencial de Xbox, lo que perjudica la calidad de los juegos que Microsoft puede obtener de la comunidad. Microsoft haría bien en considerar esto si continúan con XNA para que su próxima consola permita a los desarrolladores de XNA usar el sistema en todo su potencial.

  • Hasta donde yo sé, XNA no admitirá el estilo metro de Windows 8, por lo que los desarrolladores no podrán escribir juegos para aprovecharlo. XNA tampoco se ejecutará en procesadores ARM, por lo que no podría usar XNA para escribir aplicaciones para tabletas con Windows 8 que saldrán pronto. ¿Es esto una señal de que XNA podría no ser compatible en el futuro?

  • Microsoft usa XNA para juegos en este momento, pero con un poco de trabajo también podría usarse para crear algunas aplicaciones interesantes. Si Microsoft empujó XNA a comunidades distintas a los desarrolladores de juegos, entonces podría usarse con más frecuencia y tener más razones para que Microsoft continúe apoyándolo.

  • Los foros de XNA se han secado un poco, a las personas les lleva más tiempo obtener respuestas, y rara vez veo a algún miembro del equipo de XNA en los foros, excepto Shawn Hargreaves, por lo que pueden estar en un rol de soporte en este momento.

  • Creé y admití un motor de juego de código abierto para XNA, en los últimos 2 años las descargas del motor se han reducido a aproximadamente la mitad de lo que comenzaron, a pesar de que el motor es mucho mejor de lo que solía ser. Esto me indica que muchas menos personas usan XNA que antes. Aquí hay un gráfico de la cantidad de visitas que tengo en mi sitio, puede ver que el interés en XNA alcanzó su punto máximo entre finales de 2007 y mediados de 2008. Vistas de la página del motor de inicio rápido

Aquí hay una larga discusión que incluye algunos miembros del equipo XNA. Por supuesto, no están dispuestos a comentar mucho porque Microsoft no habla mucho de las cosas antes de que se anuncien:

http://xboxforums.create.msdn.com/forums/t/91616.aspx

También citas como esta son interesantes:

Cree juegos inmersivos utilizando el poder de DirectX La nueva pila de gráficos de Windows 8 está mejor integrada, lo que hace que los componentes Direct2D, Direct3D y DirectCompute sean más fáciles de usar juntos y requieran menos recursos duplicados que antes. Las capacidades que antes solo estaban disponibles en XNA, como DirectXMath, XAudio2 y XInput, ahora están disponibles. Para la mejor experiencia en videojuegos y juegos, use DirectX 11.1 para traer 3D estereoscópico a sus aplicaciones.

http://download.microsoft.com/download/1/E/4/1E455D53-C382-4A39-BA73-55413F183333/Windows_Developer_Preview-Windows8_guide.pdf

Actualmente soporto un motor de juegos de código abierto para XNA, por lo que preferiría verlo admitido en el futuro, sin embargo, incluso si XNA 4.0 es el último XNA, sigue siendo una plataforma decente para crear juegos de Windows de manera rápida y fácil, y también Una gran API para aquellos que quieran aprender a hacer videojuegos.

Mi opinión sincera es que XNA 4.0 será el último, pero realmente espero estar equivocado al respecto.

Nic Foster
fuente
Los representantes de Microsoft aparentemente han estado diciendo a las personas que usen MonoGame para el soporte de Windows 8, aunque su soporte 3D todavía está en desarrollo. Podría valer la pena ver si puedes portar tu motor :)
David C. Bishop
1
Sí, eso es algo que podría considerar. Principalmente he usado el proyecto del motor como un pasatiempo para aprender más sobre las áreas de desarrollo de juegos con las que estoy menos familiarizado. Con motores como Unity que se pueden usar de forma gratuita, ha habido poco uso de mi motor (que yo sepa). No estoy seguro de cuán serio soy para hacer que el motor sea más accesible sabiendo lo poco que probablemente se usaría. Puedo seguir ampliando aún más el motor para seguir practicando con la tecnología del motor de juego en general.
Nic Foster
1
Actualmente estoy usando Monogame para mi juego 3D XNA que actualmente funciona en WP7, Windows y W8. Todavía faltan varios elementos críticos que desearía que estuvieran allí, pero algunas partes interesadas clave lo están desarrollando en gran medida.
RobCurr
47

MonoGame (una implementación OpenSource, OpenGL de XNA) v2.5 se lanzó hoy con soporte para sombreadores personalizados en iOS, Android, MacOS y Linux. Nuestro equipo comenzó a trabajar para agregar compatibilidad con el SDK de PlayStation Suite y también con Window8 Metro (basado en SharpDX, creo).

Ya tenemos una rama 3D, llamada imaginativamente desarrollo3d, que es donde todos nuestros esfuerzos se centrarán en los próximos meses, ahora que la v2.5 está fuera. Echa un vistazo a nuestro canal de YouTube para saber dónde estamos actualmente con 3D: http://www.youtube.com/user/MonoGameTeam?feature=watch .

Tenemos desarrolladores de un par de estudios de juegos que nos ayudan, por lo que creemos que la rama de desarrollo3d debería estar más optimizada que nuestra rama v2.5 actualmente y es casi una reescritura total. La demostración de Reach tardó 15 minutos en pasar de Windows a MacOS X, cuando comencé desde cero el fin de semana pasado. La rama de desarrollo3d aún no es perfecta y tampoco lo es todo MonoGame, pero creemos que estamos en camino de resolver los problemas que tenemos y si más personas ayudan, aún mejor.

Ya hay 28 juegos de iOS (27 2D y 1 3D) en la tienda de aplicaciones de Apple, 5 en el mercado de Android y 1 en las tiendas de MacOS y Linux. Si alguien aquí ha jugado Bastion en su navegador Google Chrome, que usa una versión modificada de MonoGame y esperamos admitir juegos de NaCL en el futuro, gracias a SuperGiant enviándonos información sobre cómo hicieron que MonoGame funcionara con NaCL.

Tenemos alrededor de 4-5 desarrolladores activos trabajando en MonoGame y si te apetece chatear con nosotros, ve a monogame.codeplex.com o visita irc.gnome.org en el canal #MonoGame. Toma el último código de Github

Así que supongo que mi punto es, por favor considere MonoGame si planea escribir juegos multiplataforma usando XNA.

Dominique

Dominique
fuente
44
A quien me dio una puntuación negativa, ¿no estoy respondiendo la pregunta original del autor sobre "cómo se desarrollarán los juegos administrados en Windows 8"? Pensé que había sugerido que MonoGame tendrá una implementación de Windows 8 en el futuro, por lo que es una posible alternativa a Unity3D, DeltaEngine, etc. Y también aclaré los puntos de xoofx sobre MonoGame. Solo me pregunto por qué el voto negativo.
Dominique
66
Me atrevería a adivinar que podría ser porque su respuesta se lee más como un anuncio que como una respuesta.
Josh
66
@Dominique Yo te rechacé. He usado y disfrutado su producto, pero lo que dice "Así que supongo que mi punto es, considere MonoGame si planea escribir juegos multiplataforma usando XNA". resume la intención de su respuesta. Una pequeña cantidad de información útil no oculta el hecho de que es un lanzamiento.
ClassicThunder
1
@Dominique Consulte las preguntas frecuentes sobre la promoción en el sitio. Creo que honestamente estaba tratando de responder la pregunta, pero quedó un poco atrapado en la promoción de su proyecto en lugar de proporcionar una respuesta a la pregunta. Dado que su proyecto es de código abierto, puede calificar para un anuncio de promoción comunitaria , y vale la pena investigarlo. Gracias por la respuesta y bienvenido a GDSE.
MichaelHouse
1
Ha pasado un tiempo desde que respondí a este hilo y han sucedido muchas cosas. Solo quería señalar que ahora hay al menos 2 juegos en la tienda de vista previa de Windows 8, que usan MonoGame. El primer ARMADO! ha aparecido recientemente en los stands y el sitio de Microsoft. Rune Legend es otra. Esté atento a más juegos de MonoGame para Windows 8. Hace solo 2 semanas, a mí y a un compañero desarrollador de MonoGame, se nos pidió visitar Microsoft Reading, Reino Unido, y les hablamos sobre MonoGame. Presentamos a 8 evangelistas. También Bob Familiar, un evangelista de Microsoft en los EE. UU., Escribió recientemente un artículo de 3 partes sobre él
Dominique
16

Por lo que entiendo sobre la situación, puede ir de dos maneras. La API está en desuso o se está acelerando para crear una versión XNA basada en DirectX 11.

Aquí hay un artículo sobre cada perspectiva:

dbomb101
fuente
8
Realmente espero que sea lo último, porque si están despreciando a XNA después de lo mucho que lo han estado presionando a lo largo de los años, bueno caca.
jhocking
@jhocking está de acuerdo en que es caca. Pero como desarrolladores, siempre debemos ser multilingües. XNA también era mi plataforma favorita, pero ahora, supongo que vuelve a Flash o algo así. Suspiro.
cenizas999
2
jajaja bueno no "demasiado" ya que nunca he programado en XNA. Estaba pensando más que esto podría arruinar a todos mis amigos que siguen evangelizando a XNA. Puede que no me joda personalmente, pero tampoco me gusta ver que otras personas se jodan.
jhocking
Lo que le sucede a DX en sí mismo sugiere que no habrá otra versión de XNA. Pero, la tecnología cambia.
Blecki
11
  1. ¿Cuál es el futuro de XNA en Windows 8?

    XNA solo se ejecutará en el escritorio Win8 y casi no hay posibilidad de que Microsoft esté trabajando en una API compatible con XNA que se ejecute bajo Win8 Metro UI / DirectX11.1.

    Si realmente desea continuar desarrollando en una API similar a XNA en Windows 8 Metro, sin dejar de poder utilizar la canalización de contenido (una de las razones por las que XNA es amigable para desarrolladores de juegos de bajo presupuesto), debe seguir el proyecto ANX Framework . Este proyecto tiene buenas posibilidades de estar listo antes de Windows 8 RTM (al menos con soporte de SpriteBatch). Aunque probablemente requerirá cambiar ligeramente los sombreadores (por ejemplo, la semántica), ANX proporciona una forma de importar un proyecto XNA existente, por lo que podría ser de gran ayuda. También están trabajando en otros backends (como OpenGL para gráficos), por lo que también podrían apuntar a otras plataformas .NET (como Mono en Android / iPhone).

    MonoGame podría ser otra opción, pero actualmente es solo para 2D, con un único backend OpenGL / ES, por lo que no podrá ejecutarse en Windows 8 Metro (OpenGL no es una API "certificada" en Win8 Metro, y lo más probable no forma parte de los planes de Microsoft).

  2. ¿Cómo se desarrollarán los juegos administrados [que no sean XNA API] en Windows 8 (Metro)?

    Hay varias opciones:

    • Podría usar directamente SharpDX , una API de DirectX de bajo nivel (ANX lo está usando). Por ejemplo, un marco mínimo para un juego 2D generalmente es factible con una API de bajo nivel como esta (y podría hacerse con Direct2D). Conozco al menos dos pequeñas empresas que lo están utilizando para desarrollar juegos Win8 Metro.

    • Puede comenzar a usar DeltaEngine que será compatible con Win8 Metro en los próximos meses (probablemente requerirá una licencia)

    • Podrías intentar desarrollar con Unity3D , aunque todavía no han anunciado ninguna compatibilidad con Windows 8 Metro (requiere una licencia). Pero trabajaron recientemente en un renderizador Direct3D11, por lo que no debería ser tan difícil para ellos proporcionar soporte para Win8 (pero como muchas API de Win32 no están autorizadas por Win8 Metro, probablemente no sea lo único que necesitan portar).

xoofx
fuente
5

Con el lanzamiento de WinRT , es cada vez más obvio que Microsoft ha dado un gran giro. El bombo administrado está disminuyendo, el bombo nativo es más fuerte que nunca. Aparentemente, alguien influyente en la compañía (algunos afirman que es el equipo central de Windows) no está satisfecho con el rendimiento de .NET. La tendencia principal que veo en los últimos artículos es algo así como

WinRT es el próximo .NET, y C ++ / CX es el próximo C #.

Ellos dicen:

¡Hola, es tan fácil escribir en C ++ como en C #! ¿Por qué necesita XNA si puede escribir en C ++ y DirectX?

Esa es la sensación que tengo toda la última vez. Dado que puede esperar una desaceleración de todos los proyectos relacionados administrados, la única diferencia es la cantidad de desaceleración.

Microsoft respeta que casi nunca deje de ofrecer soporte para los productos, simplemente ya no se desarrollan. Entonces, al menos podemos usar XNA 4.0 durante bastante tiempo, incluso si es la última versión compatible.

Petr Abdulin
fuente
2

No se ve bien para nosotros los desarrolladores independientes de XNA que queremos portar nuestros juegos de XNA a Metro. Microsoft no ha mostrado interés y espera que regresemos a la programación de C ++ / DirectX o adoptemos marcos de trabajo de C # de terceros, la mayoría de los cuales no son compatibles con ninguna canalización de contenido XNA.

Todo bastante triste, realmente no puedo entender la EM a veces.

Jules
fuente
77
Hola jules Bienvenido a GDSE! Realmente no somos como un foro aquí, por lo que se desaconsejan respuestas como esta que son un poco conversadoras. Si tuviera información objetiva para agregar o fuentes para su respuesta, ¡sería genial!
MichaelHouse