ZX Launcher: Lanzador de juegos para Instituto Cervantes

Videojuego en Español, Fuente: arsGames

Videojuego en Español, Fuente: arsGames

Os traigo mi último desarrollo:  ZX Launcher.

En otra ocasión, os presente el lanzador de juegos para Intermediae: artLauncher.

Se trata de un lanzador de juegos de Spectrum desarrollado para mis amigos de arsGames de cara a la exposición “Videojuegos en español” que recorrerá los centros del Instituto Cervantes mostrando el pasado y presente de los videojuegos en Español.

Es gratificante saber que ZX Launcher se ejecutará por todo el mundo. La primera parada ha sido Tetuán (Marruecos). Aquí podéis ver fotos y vídeos del primer éxito de la exposición.

Los años 80 fueron sin duda la época de esplendor del sector de los videojuegos en España. Compañías como Dinamic (actual FX Interactive) fueron líderes internacionales del sector.

Este lanzador recoge algunos de esos magníficos juegos que seguro provocaran alguna sonrisa melancólica al “treintañero” que lo pruebe.

Gracias a FX Interactive se puede distribuir. Podéis bajaros aquí el instalador.

Gracias también a arsGames por el magnífico trabajo gráfico del lanzador.

Aspectos técnicos

La aplicación esta escrita en Python y utiliza el framework de Qt para la interfaz gráfica.
A pesar de ser Python, sólo corre en sistemas Windows ya que se hace uso de algunas llamadas al API de Win32 (librería pywin32)

La pieza clave del software es el emulador de Spectrum. Después de valorar los emuladores disponibles FOSS, opté por FUSE debido a la opción de carga directa de juegos, que es multiplataforma y por su organización del código (backend y frontend).

Para integrarlo con Python y Qt, tuve que modificar el código de FUSE para hacerlo embebido a una ventana de Qt. Lo que hice fue, sin entrar en detalles, obtener el handle de la ventana para que FUSE dibujara directamente dentro. Además, para controlar y pasar los eventos de teclado, tuve que implementar un paso de mensajes entre Python y FUSE usando Win32 SendMessage con mensajes tipo WM_COMMAND.

Os dejo con un vídeo demostrativo.

Advertisement

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.

Únete a otros 208 seguidores