Como instalar XNA 4.0 en Visual Studio 2013 sin instalar Visual Studio 2010 o Windows Phone SDK 7.1

Llevaba un tiempo tocando MonoGame por encima para trastear y hacer pequeñas pruebas, ya que XNA me sigue pareciendo una herramienta, junto C# y .NET, muy potente a día de hoy para desarrollar, y sobre todo en juegos. El único inconveniente que le veo todavía a MonoGame es la necesidad forzosa de necesitar de XNA para poder realizar la compilación de assets, y que dicha tarea solo sea posible desde Windows, lo cual mata en parte la idea de usar MonoGame para desarrollar desde Linux o Mac, ademas de lo incomodo que es tener un proyecto a parte para tener que ir compilando los assets y pasarlos después al proyecto de MonoGame.

Otro problema que me encontré con MonoGame en Windows fue que en Windows XP, por un lado, el driver de audio, OpenAL, no se instalaba correctamente (se soluciona haciendo la instalación manual) y que las llamadas a OpenGL fallaban (problemas con la versión de OpenGL de Windows XP creo recordar). En Windows 8.1 las llamadas a OpenGL funcionaban sin problema, el proyecto renderizaba gráficos, pero el audio, sin dar error alguno, no funcionaba. Por este motivo me pareció más lógico dejarme de experimentos raros y tirar a por lo seguro sobre Windows, usar XNA, como solución nativa junto con DirectX, y así de paso matar dos pájaros de un tiro: el framework para desarrollar el código multiplataforma desde Windows (para luego portarlo a MonoGame) y la compilación de assets.

Pero con XNA había un pequeño problema y era el de no poder instalar XNA en versiones de Visual Studio que no fueran la 2010. Actualmente trabajo en Windows 7 y Windows 8.1 desde Visual Studio 2013, y aunque existen formas para lograr que nuevas versiones de Visual Studio puedan cargar y gestionar proyectos de XNA 4.0 bien es cierto que esto obliga a instalar, si o si, o Visual Studio 2010 o el Windows Phone SDK 7.1, que también incluye Visual Studio 2010. A mi sinceramente, no me apetece tener dos Visual Studios instalados, con toda su parafernalia que instala debajo, ocupando mucho espacio en el disco duro, solo para poder usar un framework como XNA, así que me puse a investigar y he logrado encontrar una manera viable de poder instalar manualmente XNA 4.0 para funcionar en Visual Studio 2013 sin tener que instalar antes Visual Studio 2010 o el Windows Phone SDK 7.1.

Seguir leyendo Como instalar XNA 4.0 en Visual Studio 2013 sin instalar Visual Studio 2010 o Windows Phone SDK 7.1

Resumen RetroMadrid 2013

Un año más se celebro el evento sobre informática y videojuegos retro por excelencia, RetroMadrid. Este año ha sido mi 3ª vez y desde luego ha sido la mejor de las 3. El evento, como el año pasado, se ha celebrado en las instalaciones de Matadero, en Legazpi.

Este año la afluencia de gente ha sido todavía mayor que el año pasado, resultado un poco agobiante moverse por el recinto, aunque es un punto bueno ya que significa que el evento cada vez atrae a más gente. Como otros años, el recinto estaba repartido en varias áreas como la de los clásicos Sinclair Spectrums, Amstrad CPCs o los Commodores 64, Commodore Amiga y Amiga PCs, que comparten misma área demostrando su poderío videojueguil con juegos clásicos así como con desarrollos actuales para tales maquinas, trabajos como los que realizan los chicos de RetroWorks por ejemplo, o los Amiga PC concretamente luciendo palmito demostrando su poderío multimedia que tan antaño los hizo famosos frente a las maquinas de la época. No solo podíamos ver modelos convencionales de dichas maquinas si no alguna modificación curiosa como la versión LEGO de un Commodore 64 que fabrico uno de los presentes.

Seguir leyendo Resumen RetroMadrid 2013

Como configurar correctamente el icono a la ventana e instancia de nuestro proyecto de MonoGame en Windows

Trabajando en MonoGame sobre Windows nos encontramos con que el proyecto que se genera con la plantilla de proyecto que ofrecen para Visual Studio es un proyecto de Aplicación de consola en vez de Aplicación para Windows. Esto es por que MonoGame genera la ventana del programa mediante el framework de OpenTK (Open Tool Kit Library) generando así una ventana externa, esto es similar a lo que hace XNA mediante la API de Windows. El problema que esto conlleva es que al ejecutar el juego nos aparecerá la ventana de consola, que MonoGame utiliza como salida de depuración, y la ventana del juego. El problema es que icono del proyecto se aplica a la ventana propia de la aplicación, la consola de texto, y no a la ventana del juego, la que genera OpenTK.

Seguir leyendo Como configurar correctamente el icono a la ventana e instancia de nuestro proyecto de MonoGame en Windows

Sencillo motor de colisiones 2D para XNA/MonoGame

Una de las cosas que siempre se me han resistido a la hora de intentar hacer un juego plataformas 2D, y como a mi a mucha más gente, es el implementar correctamente las colisiones y su respuesta (el detectar paredes o suelos y saber ubicar correctamente el objeto cuando colisiona con el entorno).

Cierto es que hoy día existen muchas alternativas para evitar programarte un sistema de colisiones y respuesta para un juego de plataformas. Existen varios motores de físicas 2D para múltiples plataformas y lenguajes, Box2D por ejemplo, que lo implementan varias herramientas de desarrollo de juegos como Stencyl y que es muy popular en juegos Flash, o Farseer Physics Engine para XNA, que se ha usado en varios proyectos de XBox360 y Windows Phone y que están portando a MonoGame. El problema, al menos con Farseer Physics Engine que es al que le dedique tiempo en su momento, es que me resulto extremadamente complejo de implementar y configurar todos los parámetros y propiedades que tiene así como lograr ajustar la escala de medida del sistema de físicas con la escala en pixeles en pantalla para poder dibujar un sprite acorde con su representación física. En definitiva, una API muy poco amigable para la mayoría de la gente.

Seguir leyendo Sencillo motor de colisiones 2D para XNA/MonoGame