25 febrero 2007

XNA... bonito... si funcionara

John Carmack creó Quake usando OpenGL en vez de Direct3D. Cuando quiso aprender sobre Direct3D para portarlo, dijo de esta librería cosas como que "infringía dolor y sufrimiento al desarrollador", y que no iba a terminar de portar el proyecto, porque tenía cosas mejores a las que dedicar su tiempo.

Y si Carmack, que es un semidiós, no quiso perder su tiempo con Direct3D, yo tampoco lo iba a hacer. A mí tampoco me sobra el tiempo, pero además no soy un crack como él. Algún día la situación mejoraría, y Microsoft sacaría una versión algo más razonable. Ese sería el momento de echarle un vistazo.

Y parecía que ese momento había llegado.

He asistido a un seminario sobre XNA, la plataforma de desarrollo de juegos sobre .Net que permite crear aplicaciones para Windows XP y XBox.

Y lo que he visto puede que esté bien dentro de unos años, pero a fecha de hoy no me ha convencido.

Relatemos la aventura, paso por paso...

Comenzamos creando una tontería pequeñita para XBox... pero no se puede probar desde el Pc: hay que transferirlo a la XBox (además, ni siquiera se puede transferir directamente via USB o similar, sino que hay que pasar por Internet, lo que implica que tanto el Pc como la XBox tengan conexión, que estemos suscritos al correspondiente servicio para la XBox...)

Así que no pudimos probarlo. De acuerdo. Vamos a probarlo en Windows. ¡Uy! Pero no hay ejecutable claro que pueda probar desde el Pc. Busco entre las carpetas del proyecto, encuentro uno, doble clic... era de temer: no funciona, la supuesta compatibilidad no es tan bonita como la pintaban.

Ok. Alternativa C. Busco una opción para indicar que el proyecto es para XP y así poder recompilar... ¡No existe! ¡Pero si el compilador de Watcom ya las tenía hace muuuchos años! ¿Cómo puede no permitir cambiar el destino de compilación una herramienta como Visual Studio, y menos entre dos plataformas supuestamente compatibles? Mi gozo en un pozo... otra vez.

No nos rindamos. Paso a la opción D: Creo un nuevo proyecto, esta vez para Windows XP, importo en él los "Game componentes" que había creado para la prueba sobre XBox (siendo sinceros, sólo un componente, pero es que las pruebas simples deben ser pruebas simples). Parcheo el cuerpo del programa para que use ese componente. Genero el ejecutable... compila sin errores. ¡¡¡ Soy una máquina !!! ¡¡¡ Lo he conseguido a la cuarta !!!

Pero tampoco: mi tarjeta gráfica no es compatible con XNA. Un ordenador portátil comprado hace menos de un año no es suficiente ordenador. Cierto, es un portátil de gama baja, con tarjeta gráfica integrada en placa base y memoria compartida. Pero creo que no voy a gastarme 1.200 euros en renovar equipo para poder programar el juego de la serpiente para XBox.

No todo es malo: la forma de programar para XNA (al menos desde C#) es razonablemente cómoda, muy orientada a objetos, bastante racional. No hay color con los pocos fuentes que ojeé sobre DirectX.

Pero hasta que Microsoft me regale un equipo adecuado para programar usando XNA, lo aplazo (nuevamente). Esperaré sentado, por si tardan...

2 comentarios:

SUPERCARLITOS dijo...

Hola Nacho - He visto tus paginas con los tutoriales de programacion, muy interesante, claramente esto es vocacional para ti.

Estas trabajando actualmente? Te interesaria un trabajo de programador en Nueva York? Si es asi, enviame tu CV a supercarlitos@gmail.com.
Atentamente,
Carlos De Lorenzo

Arturo Codes dijo...

Hey amigo sabes... tengo entendido que configurando el proyecto se puede hacer que el juego aun tenga soporte para tarjetas de video algo viejas