XNA y Visual Basic: ¿Un amor imposible?
Aprovecho el movimiento generado gracias al lanzamiento de la primera CTP de XNA 3.0 y también el reciente evento online de "C# vs VB.Net" en el que surgió esta pregunta durante el Q&A para comentar porqué Visual Basic no está soportado en XNA Game Studio (y, al menos que yo sepa, no hay indicios que me hagan pensar que eso vaya a cambiar para las próximas versiones, aunque espero equivocarme por el bien de mis amigos de Visual Basic...).
Este es el modelo de capas de ejecución de una aplicación funcionando en XNA:

Como podemos ver, el framework de XNA funciona sobre el framework de .Net, bien sea de la versión completa del mismo, o del Compact Framework. No se trata del mismo Compact Framework que empleamos en sistemas operativos Windows Mobile, sino de una versión específica que existe para XBOX y, desde hace unos días, también para Zune.
Aquí es donde viene el problema... ¿Qué sucede con Visual Basic? Aquellas personas que hayan trabajado aunque sea mínimamente (como es mi caso) con Visual Basic .Net, serán conocedores del "asuntillo" relacionado con el célebre ensamblado Microsoft.VisualBasic.dll, de inclusión obligada en proyectos desarrollados con este lenguaje del framework. Bueno, obligada lo que se dice obligada... NO, pero estas son algunas de las consecuencias de no usarlo
Ahora bien, el problema surge cuando dicha DLL no está soportada en la versión del Compact Framework de la que hablábamos con anterioridad, por ello, el rendimiento de aplicaciones desarrolladas con VB.Net en XNA funcionando sobre XBOX o Zune sería "no todo lo bueno que uno desea" ;-)
Por ello, todas las versiones disponibles hasta ahora de XNA están únicamente soportadas para Visual C#. No obstante, no todo iban a ser malas noticias para el gran Guille y sus fieles (entre los cuales me incluyo, pese a pertenecer a la secta del C#, o C plus plus plus plus como comentaba Marino en el evento del martes).
¿Por qué digo que no todo iban a ser malas noticias? Pues bien, lo digo porque a los desarrolladores deseosos de crear sus proyectos XNA usando Visual Basic, nadie les corta las manos a la hora de crear un proyecto Visual Basic y añadir los ensamblados de XNA oportunos... jejeje.
Es más, existen incluso proyectos creados por la comunidad para la creación de plantillas instalables sobre Visual Studio. Efectivamente, no es broma, aquí está la prueba gráfica de que este tipo de plantilla existe:

Y aquí el enlace a dicho proyecto y a las instrucciones sobre cómo instalar y registrar dicha plantilla de Visual Studio.
No sólo eso, sino que también hay desarrolladores que han ido más allá y creado sus propios tutoriales sobre desarrollo avanzado de juegos en XNA con lenguaje Visual Basic, como es el caso del gran Alan Phipps, cuya web os dejo aquí mismo.
Así que para todos aquellos desarrolladores de Visual Basic deseosos de crear sus juegos con XNA, podéis hacerlo aunque no de forma "oficial"... Eso sí, vuestros juegos únicamente funcionarán sobre plataforma PC, de momento... :-)
Happy Coding!