Skip to content

Por qué Gosu me está decepcionando

7 febrero 2011

Hola a todos.

Por twitter y a algunos por GTalk les he comentado mis últimas y cambiantes opiniones sobre Gosu. Para los no iniciados, Gosu es una biblioteca open-source y multiplataforma para el desarrollo de videojuegos 2D, con aceleración OpenGL y un esquema de clases sencillísimo de usar. Lo he usado activamente estos últimos dos años, tanto en mi proyecto oflute, como en freegemas y en otros proyectos personales, y además he escrito tres artículos para la edición española de la revista Linux Magazine que trataban sobre los conceptos básicos del desarrollo de videojuegos con Gosu. Por último, estoy preparando un taller sobre Gosu para las VI JOSLUCA. Creo que esto pondrá en perspectiva al lector en cuanto a mi familiaridad con Gosu.

Las razones por las que me está decepcionando son varias. El principal (y único, creo) desarrollador de Gosu es Julian Raschke, un tío con mucho talento que lleva bastantes años detrás del proyecto. Por desgracia, es 100% maquero, y claro, eso se nota en el progreso de Gosu: lógicamente, la plataforma para la que más pulido está es Mac OS y iOS, seguido de Windows (por la obvia superioridad en el mercado de videojuegos) y por último Linux, que es la plataforma menos pulida de todas.

Quede claro que me parece loable el trabajo de Julian en cuanto a llevar hacia adelante el desarrollo en plataformas tan diversas, sobre todo en un tema tan variopinto como es una biblioteca para gamedev. Pero sin duda, se nota que Linux no es la que más atención recibe. El script de autotools, por ejemplo, lleva años sin actualizarse y con muchos errores de compilación

Uno de los problemas con los que me encontré al empezar mi andadura con Gosu fue que, en Linux, no se podían cargar fuentes si no estaban instaladas en el sistema. Es decir, no podías adjuntar un .ttf con tu proyecto con una fuente para tu menú principal, sino que, una de dos, o hacías que el usuario instalara la fuente (que es un coñazo en sistemas GNU/Linux) o convertías los textos a imágenes en tu Photoshop (olvidándote de los textos dinámicos). Este problema llevaba así desde el principio y nadie se había parado a intentar arreglarlo. A mí se me ocurrió adaptar la biblioteca SDL TTF, y le ofrecí un parche a J. Raschke, que amablemente incluyó en la distribución oficial, siendo posible desde entonces usar fuentes TTF en Linux.

Pero claro, de aquí surgió otro problema: ahora las fuentes no aparecían exactamente igual en los diferentes sistemas. De hecho, en Windows y en Linux, para un mismo tamaño de fuente, el renderizado era diferente. Teóricamente, esto se arregló en una de las últimas versiones, pero yo no estoy del todo convencido.

Otro problema que encontré hace poco es un pequeño bug, también solo de Linux, en el el método para ocultar el puntero del ratón no tenía efecto alguno, mostrándose siempre. Propuse una solución en el foro y supongo que para la próxima versión se incluirá.

Pero la gota que casi ha colmado el vaso ha sido en el tema del sonido. En este aspecto, Linux también andaba atrasada respecto a las otras plataformas. En particular, era Linux el único SO en el que a los sonidos no se les podía modificar el tono. En un intento por arreglar esto y unificar el back-end de sonido de Windows y Linux, se portó el sistema a la biblioteca Audiere. Pero, ay amigos, fue peor el remedio que la enfermedad. Audiere solo funciona con OSS, y esto la limita a que solo pueda haber un programa accediendo al dispositivo de sonido a la vez, por lo que si, por ejemplo, tenemos un vídeo de youtube abierto, no podremos lanzar nuestro juego. He hablado con Raschke y la decisión más probable es que se volverá a SDL Mixer mientras se buscan otras soluciones, basadas principalmente en OpenAl.

A mí Gosu me encanta, me parece facilísimo de usar y probablemente siga usándolo a medida que vayan mejorando. Pero todas estas cosas, que siempre pasan en la plataforma donde más trabajo, que es Linux, hacen que me esté planteando buscar otra opción con una comunidad más fuerte y mayor estabilidad, además de que me joden mucho, porque he dado mucha caña con Gosu y siempre me ha parecido una opción muy buena.

Lógicamente no voy a dar un paso atrás y volver a la SDL, ni tampoco voy a desechar el trabajo hecho con Gosu, que aún funciona. Pero quiero abrirme otras puertas que sean más sólidas.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: