En mi caso el trabajo lo tuve que realizar en la máquina virtual Windows de que dispongo. Con MonoDevelop tuve muchos problemas para compilar el código Silverlight usando Moonlight SDK. Pero una vez decidido a ponerlo en marcha, y optar por hacerlo con Visual Studio, la cosa fue más o menos sencilla [2]. El esquema general a seguir es el que se encuentra en la página del proyecto SilverSprite. A partir de ahí se exigen algunos cambios menores. En mi caso, del código escrito directamente sobre MonoGame, tuve que cambiar la parte de detección de los toques en la pantalla, que directamente no existen en el API de SilverSprite, y que ahora se controlan con el ratón. También tuve que cambiar la llamada al método Begin que se realiza sobre la instancia SpriteBatch asociada a la clase del juego, ya que se exigen más parámetros. También tuve que convertir todos los sonidos a MP3 y, aprovechando, les bajé la calidad para que la descarga desde Internet no supusiera un trauma. A nivel de invocación del API de sonido también hay algunos cambios menores, pero nada significativo. Quitando el pequeño problemilla con el archivo XAML mencionado en la anotación al pie de artículo, calculo que todo el proceso me llevaría cosa de una hora, aproximadamente. A partir de ahí lo estuve probando en diferentes navegadores. En el que peor resultados obtuve fue
con Safari. El movimiento no terminaba de ser bueno, haciendo cosas raras después de cada salto. En el resto, Chrome, Firefox, Opera e Internet Explorer (en la máquina virtual), la reproducción era exactamente igual a como funciona en el simulador de iPhone.
En fin, una alternativa interesante; o una curiosidad inútil más. Ya veremos.
Al que quiera perder unos minutos con mi prueba de concepto, la podrá encontrar aquí. Si da la casualidad de que alguien tiene la última versión de Moonlight funcionando en su equipo Linux y quiere probar, que me diga qué tal le va.
[1] Ya es de sobra conocido el desprecio que siente Microsoft por la plataforma Linux. Pero también es conocido que ahí donde uno no quiere perder su tiempo, aparece gente dispuesta a ello. Para el mundo Linux existe Moonlight, proyecto auspiciado por el marco del proyecto Mono. Para todo aquel que esté interesado en probar lo de hoy en una máquina con Linux.
[2] La cosa incluso hubiese sido más sencilla si no me hubiese equivocado en una letra a la hora de referir el espacio de nombres en el que se encontraban las clases del juego. En el archivo XAML de la aplicación, ahí donde dice que se ponga «clr-namespace:» yo puse «cls-» y estuve como cosa de una hora intentando averiguar porqué demonios aquello no funcionaba ni a tiros.
No hay comentarios:
Publicar un comentario