Vamos a ver un poquito de historia sobre esto:
- En el MIX 11 en Abril se anunció que Silverlight 5 iba a incluir una nueva API 3D. Está basado en XNA, por lo que incluye tipos familiares como GraphicsDevice, VertexBuffer y Texture2D, pero no era un port completo de XNA. No incluía muchas funcionalidades como BasicEffect, SpriteBatch, Content Pipeline.
- En Septiembre, la release candidate Silverligth 5 RC añadío nuevas características incluyendo los cinco efectos integrados en XNA 4.0, además de una librería de matemáticas compatible con XNA. David Catahe cuenta estos cambios.
- Ahora, el Silverlight toolkit ofrece una compatibilidad increible con XNA, incluyendo ContentManager, Model, SpriteBath, Ratón, Teclado, y nuevas plantillas de Visual Studio para empezar con Silverlight 3D. Y cómo no, David ha hecho una gran introducción.
Si, de acuerdo, sigue sin ser un port completo de XNA, pero con esta nueva toolkit, se han portado las suficientes partes como para portar fácilmente juegos de Xbox y Windows Phone a la web. Como muestra uno de tantos ejemplos que se han portado muy rápidamente y que están incluidas en el toolkit (Toolkit/Sep11/Source/Sample source code.zip):

Para usar el Content Pipeline en una aplicación Silverlight 5, tendréis que instalar XNA Game Studio 4.0 en vuestra máquina de desarrollo. Pero tranquilos, esto no significa que tengáis que distribuir XNA en vuestros clientes web, recordad el diagrama sobre el Content Pipeline:

En Silverlight 5 esto funciona de la siguiente forma, la parte azúl se ejecuta en tiempo de compilación en el PC de desarrollo, usando los assemblies de XNA Game Studio 4.0. Sólo las cajas rojas se ejecutarán en la máquina del cliente. Es exáctamente igual cuando creamos juegos XNA para Xbox o Windows Phone, pero el dispositivo remoto ahora es un navegador web.
Espero que os sirva.
Juan María Laó Ramos.