Canal de Noticias del equipo INFSP y asuntos técnicos relacionados

sábado, 11 de julio de 2009

Glk and all the stuff

Es (estre|intere)sante darse una vuelta de vez en cuando por la raif . La masa critica guiri con frecuencia produce nuevas herramientas relacionadas con lo conversacional (no puedo ocultar mi tendencia tool-lover).

Este es el turno de (casi) java: GlkJNI es una implementación de la API GLK escrita en C que utiliza JNI (Java Native Interface). (qué diablos es glk linkeado al fondo)

¿Las posibilidades? Con glkJNI, un emulador de la máquina glulx o Z escrito en C (y que use glk) puede utilizar Java como interface I/O, lo que incluye la interfaz gráfica. Ejemplo: se podria conectar el típico intérprete glulxe (glulx+glk) de D Kinder o el correcaminos intérprete Demona (Z+glk) de J McGrew con una interfaz de usuario hecha en java.
¿Es una patada a la portabilidad pregonada por java? Lee mis labios.
De todas maneras, con esto se deja de lado la lentitud de un intérprete escrito puramente en java y se reutiliza el trabajo de los muchachos que vienen puliendo sus emuladores por meses.
Por cierto, esto también pica la curiosidad para ese autor de aventuras que quiere una interfaz de jugador más conectada con la historia que está pergeniando (y que además tiene un amig@ con dotes javaticos).
Otra cosa: el autor de glkJNI (por injerencia aguda de nuestro mapache) tiro la idea de que le gustaría avanzar en el porting de glk para Android....

GlkJNI fue anunciada ayer por Edward McCardell y tiene licencia GNU General Public License v3. Desde su repositorio en gcodes puede bajarse la implementacion en su version actual (0.6) y una minimalista demo.
Nota: Ya existia una implementacion glk-JNI del 2002.


Hablando de implementaciones glk; me preguntaba qué otras implementaciones habrían dando vueltas por alli. Aqui va un listado rápido:

* CocoaGlk, de Andrew Hunter. Implementacion glk para Mac OS X. Usada por Zoom y por el intérprete embebido de I7 para Mac.
* WindowsGlk, de David Kinder. Implementacion glk para Windows. Usada por WinGlulxe y por el intérprete embebido de I7 para Windows.
* GarGlk, de Tor Andersson. Implementacion glk escrita en C para Windows y Linux. Usada por la suite Gargoyle, que la adopta como I/O de todos sus intérpretes (frotz, nitfol, hugo, alan, git, glulxe, etc).
* CheapGlk, de Andrew Plotkin. Implementacion liviana glk escrita en C para Windows y Linux. Es usada por cheapglulxe y por ende -creanlo amigos- Rebot.
* GlkJNI, de Edward McCardell. Escrito en C usando JNI. Permite el core del emulador en C y la I/O en java.
* GlkOte, de Andrew Plotkin. (casi) una implemetacion en Javascript analoga a la api glk, pero adaptado al ambiente de desarrollo web.
* Pocket Glk, de Stark Springs. Implementacion glk para Windows CE (Pocket PC).
* Glk.java, de Jon Zeppieri. Implementación glk en java. Es usada en el intérprete glulx (escrito en java) Zag. La librería es parte del paquete Zag, dentro de la clase org.p2c2e, con licencia tipo BSD.

Al margen del sitio oficial de glk, existe un muy recomendable artículo sobre el tema glk aqui.

La inciativa FyreVM (de la casa TextFyre) reniega de la api glk y utiliza su propia API I/O basada en una filosofia de flujo de datos, o "canales i/o", entre la maquina virtual FyreVM (basada en glulx, pero escrita en C#) y la interface de jugador (cualquier cosa hecha para el framework .Net).

Etiquetas

>>Buscar en este blog

>>Foro