Salte la navegación

That’s it. I had already considered this idea before and ditched it because of reasons such as «Vala is too young of a programming language yet» -it is, still- but in the end python’s memory use -7,6 megs for a window that doesn’t do anything remotely useful- and finding a Vala autotools project ready for start fooling around weighted as important enough for convincing me (thank you, Tadeboro).

Why not Java or C#? I just don’t trust Oracle or Microsoft. I know there has been Mono for quite a while, but, leaving an interpreted language to embrace yet another one?

Why not C or C++, if you are going to bite the bullet? Just because I wouldn’t stand having to keep header files updated and even if I could still use modern programming constructions like interfaces and foreach loops, it would involve yet more extra work.

Work. That’s the key word here. Among other errors I commited in the previous Sprite Hut era, the worst one I think it was to take it way too seriously and trying to get everything perfect from the very beginning. I tried so hard that I hardly had any progress at all.

Now I’m going to have fun with Vala, with no stress or hurry because of taking part in a contest.

Anyway, I hope this change is for the better and before I forget it, the project has been hosted by launchpad from quite a while ago and the main development branch is already in place -it was a pain to set up thanks to a launchpad bug. I don’t know if I will update Rediris’ SVN repository anymore, to be frank, so if your curiosity has been aroused, you can get the little Vala code there is now using a simple

bzr branch lp:spritehut

There will be more.

Pues eso. Ya había considerado la idea bastante antes y la había desechado por razones como que Vala era un lenguaje de programación muy joven (lo sigue siendo), pero al final ha pesado más el consumo de memoria de python (7,6 megas por una ventana que no hace nada útil) y encontrarme un proyecto de Vala con autotools listo para empezar a trastear para convencerme (gracias, Tadeboro).

¿Por qué no Java o C#? No me fío de Oracle ni Microsoft. Sé que existe Mono desde hace tiempo, ¿pero dejar un lenguaje interpretado para ir a otro?

¿Por qué no C o C++, ya puestos? Pues porque no soportaría tener que mantener los archivos de cabecera actualizados y aunque podría usar características modernas de otros lenguajes como interfaces y bloques foreach, sería mucho trabajo adicional.

Trabajo. Esa es la palabra clave. Entre otros errores que cometí en la etapa anterior de Sprite Hut, creo que el peor fue tomármelo demasiado en serio y tratar de que saliera todo perfecto desde el principio. Tanto empeño le puse, que apenas empecé.

Ahora voy a divertirme con Vala, sin presiones ni prisas por estar en un concurso.

En fin, espero que este cambio sea para mejor, y antes de que se me olvide, el proyecto está alojado desde hace tiempo en launchpad y ya he cambiado la rama principal como tiene que ser (lo suyo me costó debido a un bug de launchpad). El repositorio de Rediris no sé si seguiré actualizándolo, la verdad, así que si os pica la curiosidad, podéis bajaros el poco código Vala que hay de momento con un

bzr branch lp:spritehut

Ya habrá más.

Pues ya se ha publicado la lista de finalistas en el sitio oficial del CUSL así que me hago eco de la noticia citando la lista de finalistas y menciones especiales:

Los proyectos finalistas son los siguientes:

  • Geo Remind Me, de Raúl Jiménez Ortega y Rubén Dugo Martín de la Universidad de Granada. [Blog][Código]
  • IberOgre y Sion Tower, de David Saltares Márquez de la Universidad de Cádiz. [Blog][Código]
  • JavaDiKt, de Luis Alfonso Arce González de la Universidad de Sevilla. [Blog][Código]
  • Predesys, de José Antonio Jiménez Carmona de la Universidad de Sevilla. [Blog][Código]
  • TP (Terminal Previewer), de Javier Angulo Lucerón de Universidad de Castilla la Mancha. [Blog] [Código]
  • Yakito, de Sergio Garcia Mondaray de la Universidad de Castilla la Mancha. [Blog][Código]

El premio «Mejor proyecto junior» ha sido declarado desierto.

Así mismo, ha decidido otorgar las siguientes menciones especiales:

  • PirannaFS, de Jesús Leganés Combarro de la Universidad Rey Juan Carlos. [Blog][Código]
  • FreePhyloTree, de Aarón Bueno Villares de la Universidad de Cádiz [Blog][Código]
  • SocialSight de Miguel Sempere Sánchez de la Universitat D’Alacant. [Blog][Código]
  • Cormoran, de Jaime Gil de Sagredo Luna de la Universidad de Alcalácomo [Blog][Código]

Felicidades a todos los que han pasado a la final y han obtenido menciones y para el resto pues… ánimo para seguir trabajando en nuestros proyectos.

Sprite Hut se ha quedado fuera obviamente por falta de trabajo. Pero bueno, en cuanto tenga algo de tiempo espero solucionar o paliar esto. Aprovecho para agradecer a razieliyo y Alex que se hayan ofrecido a ayudar en el proyecto, y a David y Marbu que aparte de participar en el concurso se hayan molestado en dejar comentarios en este humilde blog. ¡Suerte en la final, David!

For one reason or another, I have had to leave the project for a while, but here I am again.

I only wanted to say that both the project and me are still alive.

That said, there are going to be changes in my way of managing this project. Namely:

  • Less and shorter posts. I love to write, but any time I invest in writing posts it’s time I’m not doing more important things for Sprite Hut and myself.
  • More languages. I want to practice my English. And Japanese. The more languages the information of this blog is in, the more people will be able to read it. However, It’s not like I speak every language in the world or would have the time to write in them all, so two or three will do for me.
  • Less design, more coding. I think this project is suffering a little analysis paralysis. One thing is to rush to the coding phase without having in mind the least bit of an idea about the application architecture and another very different wanting to have the thing perfectly finished on paper before doing any real work. So I’ll comment on the design for future collaboration and get to fight Python again, because it’s about time (the GUI prototype was an exception).

That’s all for now. Over and out.

Entre unas cosas y otras he tenido que dejar el proyecto durante un tiempo, pero aquí estoy otra vez.

Sólo quería decir que el proyecto y yo seguimos vivos.

Eso sí, van a haber cambios en mi forma de llevar el proyecto. En resumen:

  • Entradas más breves y menos frecuentes. Me encanta escribir, pero todo el tiempo que dedique a escribir en el blog no lo estaré dedicando a tareas más necesarias para Sprite Hut y para mí.
  • Más idiomas. Quiero practicar mi inglés. Y japonés. En cuantos más idiomas esté la información, más gente podrá leerla. Pero claro, ni domino todos los idiomas del mundo ni tendría tiempo para escribir en todos ellos, así que con dos o tres tengo trabajo de sobra.
  • Menos diseño y más código. Creo que he sufrido un poco de parálisis del análisis en la fase de diseño. Una cosa es lanzarse a teclear código sin tener una remota idea de la arquitectura de la aplicación y otra querer dejarlo todo atado sobre el papel a la primera. Así que comentaré el diseño de cara a futuros colaboradores y a pelearse con Python, que va siendo hora (prototipo de la GUI aparte).

Eso es todo por ahora. Cambio y corto.

Animado por el primer boceto de pytweetclin y los comentarios de David, me bajé Pencil (no el de animar, el otro) e hice un esquema de la interfaz de la ventana principal. Aunque pensándolo un poco, podría haber hecho directamente un prototipo en python, total, si hacer una ventana con pyGTK es un ratillo.

Boceto de la ventana principal

De hecho, ya se puede descargar desde la forja, en el paquete sandbox. Ahí iré subiendo pruebas y chorradillas que no tendrán que ver con el código final.

Para ejecutarlo son necesarios python, pygtk y python-gdl. Y ahí quería llegar.

GDL es una biblioteca de widgets que se pueden reordenar y despegar de una ventana a voluntad del usuario, lo que da lugar a interfaces muy versátiles y cómodas. La pega es que el wrapper para python usa una nomenclatura un tanto… peculiar, la documentación es muy escasa y los programas de ejemplo… no funcionan.

Sin embargo, tras corregir uno de los ejemplos y hacerme a la idea de cómo funciona al menos la clase DockItem, escribir el prototipo fue bastante fácil. Miento, la verdad es que fue un auténtico calvario conseguir que el programita se ejecutase sin escupir bonitos mensajes de error al salir. como éste:

(gui_prototype.py:17778): Gdl-CRITICAL **: gdl_dock_master_get_controller: assertion `master != NULL' failed
Segmentation fault

¿Violación de segmento? ¿En mi python? Eso sí que no, ¿eh?

Vídeo de la criatura en acción:

Comento un poco la funcionalidad que tiene: puedes arrastrar los widgets de un lado a otro y si lo haces fuera de la ventana principal, flotan, creándose su propia ventana. También puedes redimensionarlos, minimizarlos (pasan ser un botón en una barra a la izquierda de la ventana) y cerrarlos.

Al salir del programa, se guarda un fichero layout.xml con la disposición de los widgets, así que cuando vuelves a ejecutarlo, la ventana (tamaños de widgets aparte) se queda como estaba. Si quieres volver a dejar los widgets como estaban por defecto, basta con borrar layout.xml. No es una opción demasiado limpia pero es un prototipo, en la versión final no creo que haya problemas porque siempre podrás usar el menú Ver para volver a activar los widgets que has cerrado.

GDL se me resistió tanto en python que estuve a punto de cambiar el lenguaje de programación a Vala. Pero eso da para otra entrada…

Remade from Image:Nuvola_apps_package_graphics.png

Image via Wikipedia

La verdad, pensaba que esta semana no iba a escribir ninguna entrada, pero me he acordado de algo muy importante: no sé qué buscan otros usuarios en un editor de sprites.

Me puedo hacer una idea por los que ya hay, sobre todo en otras plataformas, y sé lo que yo quiero que haga un editor de este tipo, pero me falta lo más importante: lo que quiere la gran mayoría. Por eso, aunque seamos 3 gatos los que visitamos este blog (gracias, por cierto), lanzo la siguiente pregunta a los mares de bits de Internet:

¿Qué características te gustaría ver en un editor de sprites?*

*(Que viene a ser la misma del título pero de forma más rebuscada.)

Y como todo se entiende mejor con un ejemplo (salvo la crisis), dejo caer algunas características que tendrá Sprite Hut… algún día:

  • Soporte del formato PNG.
  • Capacidad de importar y exportar sprite sheets.
  • Interfaz gráfica versátil basada en GDL.

Puedes dejar tu respuesta en los comentarios de esta entrada o en el apartado Feature Requests del proyecto en la Forja de RedIRIS.

Gracias.

A continuación voy a escribir un tocho de extensión considerable, así que para ahorrar sufrimientos innecesarios a adictos al twitter y amantes del proverbio lo bueno si breve, dos veces bueno, aquí va la conclusión:

Windows tiene Graphics Gale, Mac OS X tiene Pixen, y GNU/Linux tiene… el Allegro Sprite Editor. Si te lo compilas.

Bueno, técnicamente los otros dos también lo tienen, es multiplataforma.

Read More »

¡He empezado el blog sin explicar de qué trata mi proyecto! Bueno, aún estoy a tiempo de arreglarlo, creo…

Antes de presentarme al concurso escribí una serie de preguntas frecuentes (aunque ficticias, porque nadie me ha dicho ni mu acerca del proyecto todavía) a modo de presentación, ya que me parece más ameno que leer un tocho-artículo que no sabes cuándo va a acabar, así que dejo la lista por aquí para quien le pueda interesar. Luego la pegaré en Sobre el blog, donde se irá ampliando.

Ya lo traduciré a los otros idiomas para que los no hispanohablantes puedan reírse un rato con mis dialectos de inglés y japonés.

P.A.F.(Preguntas Altamente Ficticias)

¿Qué es (o será) Sprite Hut?

El proyecto Sprite Hut consiste en crear un editor de sprites gráfico multiplataforma escrito en Python, con herramientas sencillas optimizadas para pixel art y capaz de exportar datos útiles para la programación de videojuegos y otras aplicaciones basados en ellos.

¿Dónde puedo encontrar más información y descargas cuando estén disponibles?

Pues…

Como toda esta cantidad de URLs aparentemente inconexas es difícil de recordar, me he tomado la libertad de crear redirecciones con mi dominio:

Creo que la familia seguirá creciendo 🙂

Read More »

No se me ocurre nada mejor que decir hoy, así que con este insulso post queda inaugurado el blog.

(abucheos de fondo)

Está bien.

Este blog narrará las peripecias que se produzcan durante el desarrollo de Sprite Hut, un editor de sprites escrito en python con el objetivo principal de traer de una vez por todas un editor decente para estos menesteres a GNU/Linux.

Y si es posible, hacerle la vida un poco más fácil a los diseñadores y programadores de videojuegos.

Y conquistar el mundo, por supuesto. El tema dominación mundial que no falte.