Tetraminoes Applet 1.1, actualizado en la web

Octubre 2, 2009

Muchas gracias a Fenris78 otra vez, por haberse molestado en actualizar el applet del tetraminoes en su web. Para el que no lo haya probado, y quiera hacerlo, lo podeis encontrar en esta dirección.

Un saludo,
Gorka Suárez.


Tetraminoes terminado

Octubre 1, 2009

Hoy por fin, he terminado de documentar un poco el código de la versión para móviles de este juego que estaba programando. Básicamente lo terminé ayer por la noche, pero como no había ni un comentario, pensé que lo mismo dejar el código así solo provocaría que aquel que lo leyera se acordara de toda mi familia xD Así que terminado esto, tan solo me queda esperar a ver si alguien encuentra algún fallo grave que deba corregir.

Aparezcan fallos o no, que luego corrija, doy ya por finalizado el proyecto. La verdad es que me siento bastante aliviado de haber terminado esto y que no haya sido tan costoso como por ejemplo haber programado el pac-man. Además, con esto terminan mis proyectos amateurs programados en java por una muy larga temporada, si es que no terminan para siempre (que otra cosa es que me paguen por ello xD). De hecho no pienso programar ningún juego en java, salvo que quizás me pusiera a aprender a programar para el Android, pero de momento no es algo que tenga contemplado a corto plazo.

El juego tanto la versión applet como la versión para móviles la podeis encontrar en esta página. No se cuantos días tardarán en subir la nueva versión del applet a la página web de Fenris78, pero cuando esté ya avisaré en el blog. Para cualquier cosa podeis dejar un comentario aquí o en el foro de stratos.


Tetraminoes finalmente colgado en la web

Septiembre 30, 2009

Gracias a Fenris78 podeis probar el juego desde aquí sin tener que descargarlo, un gesto desinteresado que agradezco profundamente ^_^ El caso es que ya van al menos 2 que se me han quejado del manejo de las teclas en el juego, por lo que para la próxima semana, cuando haya terminado de protarlo al móvil, me imagino que me pondré a modificar el control a ver si lo hago un poco menos lamentable para el resto de mis congéneres humanos.

Y bueno, ya he empezado la conversión a la versión de móvil. Es una tarea bastante lamentable, porque básicamente estoy pasando de orientado a objetos a programación estructurada, con lo que ello implica. Además si esto lo vieran los profesores de la universidad que enseñan programación en primero, se arrancarían los ojos. Pero es lo que tiene el J2ME si quieres evitar a toda costa que pudiera ir petado y a trompicones. En fin, a ver si salgo más o menos cuerdo de este proceso lastimero.


Tetraminoes applet, primera versión

Septiembre 29, 2009

Pues creía que me iba a costar mucho más para llegar al punto en el que pudiera ver algo en movimiento, pero después de unos 5 días o así, he logrado obtener la primera versión de este juego para navegadores web. En un principio tenía pensado haberlo subido a google sites, o algo así para que se pudiera jugar a él colgado en alguna parte. Pero como de costumbre las políticas de empresa siempre ayudando a simplificar las cosas. Para poder hacer lo que quiero, tengo que igualmente encontrar un sitio donde colgar el fichero JAR con el applet y luego hacer no se que mierda de gadget para google. Vamos, todo facilidades, cuando en 5 minutos se podría haber resuelto el tema.

En fin, si alguien llegara a colgar en su página web el applet que me avise por el foros de stratos o por mail. Es tan solo para poner un enlace desde aquí si veo que tal cosa sucede. En fin, podeis bajaros el applet y el código de este desde esta página. Es muy posible que haya algún bug, porque aunque he estado probando en estos dos días para solucionar la mayoría de los problemas, no descarto que alguna cosa pete o similar.

Ahora la siguiente meta con este juego, porque todavía no he terminado del todo con él, es portarlo para móviles con resoluciones de 320×240 y poder así jugar la persona a la que le prometí hace más de un año que le iba a hacer este juego. Desde luego hacer promesas para esto xD Así que a ver si para la próxima semana logro dar por finalizado este tormentoso proyecto, que mi cargo de conciencia parece una especie de perturbación en la fuerza a estas alturas.


Probando Google Sites

Noviembre 20, 2008

Que no cunda el pánico, que no me estoy cambiando de web otra vez, jej. Como wordpress.com no me deja almacenar ficheros zip, ni de muchas otras clases, tuve que recurrir al servicio de Microsoft de SkyDrive para almacenar muchas de las cosas de mi web. El único problema es que no descarga directamente, pero acabo hoy de solventar esa situación subiendo todo también a una web creada con Google Sites.

Lo cierto es que está bastante mejor que el servicio de Google Pages, aunque sigue siendo bastante ortopédico para muchas cosas. Lo buena noticia de todo esto es que creo que podré usarlo para colgar la versión applet del tetris que estoy haciendo, ya que aquí no me iba a dejar seguramente al no poder subir ficheros JAR ni class. Respecto al Tetris, el fin de semana pasado estuve haciendo la clase Font para escribir texto con las letras almacenadas en una imagen. El porqué lo estoy haciendo así en vez de usar el Font que viene con el AWT es más por evitarme la posibilidad de que fuera a elegir una fuente que no exista en el cliente, además con J2ME ya probé con el Pong a escribir texto con la API propia de java y fue toda una “agradable” sorpresa ver como cambiaba completamente lo que veía yo en mi móvil, a como lo veía en el emulador.

Un saludo,
Gorka Suárez.


Haciendo los gráficos para el Tetris

Octubre 21, 2008

Pues hoy he estado avanzando con mi último proyecto en el tema del material gráfico que voy a usar. Una de las cosas más horribles de hacer juegos, es tener que ponerte a hacer los gráficos de tu juego cuando tu talento para esa tarea es escaso. Pero siendo un desarrollador amateur, sin pelas y sin prestigio, pues está el tema como para pedirle a alguien que se encargue de ese apartado.

Además, aunque tuviera un voluntario kamikaze, ¿como podría saber qué pedirle sin hacerle tener que perder el tiempo en rehacer trabajo o evitar que haga trabajo de más? Porque hasta con un juego tan chorra como este, uno puede acabar metiendo la pata hasta el fondo y ganarse una baja simpatía por parte del compañero de desarrollo. El caso es que normalmente siempre hago algunos esquemas conceptuales sobre las pantallas de mis juegos, para tener en mente qué es más o menos lo que pretendo hacer. Y hay que meditar mucho sobre ello para llegar a saberlo bien, pero al ser algo de lo que luego me encargo yo de hacer, al final siempre voy un poco a la aventura y voy probando cosas.

Así que en este caso del Tetris he tenido suerte de poder encontrar imagenes del Tetris de las recreativas y poder analizar alguna captura de pantalla de esa versión, para obtener la inspiración que estaba buscando. Ello me ha llevado a algunos problemas que complicarán mi tarea como programador, pero nada que no se pueda afrontar con empeño y paciencia. Lo único malo que estoy viendo es el tema de las fuentes, que no se como voy a apañarmelas con el tema de la puntuación si esta llegara a los 10 millones, ya que no tendría espacio en pantalla para representar dicha cantidad. Y para que veais de lo que hablo aquí teneis una muestra de lo que he estado haciendo hoy:

Como se puede ver tiene cierto aspecto retro y sí, sin duda alguna es bastante cutre mis aptitudes como grafista, pero el que no llega para pito, no llega a corneta que decía mi padre. Además de este fondo, he estado haciendo las secciones de las piezas de tal forma que no fueran cuadrados apilados, sino que diera además una sensación de unión entre las partes de la ficha. Con eso terminado, ahora me toca empezar a armar el esqueleto de la aplicación y luego empezar a implementar la lógica del juego en si.

Un saludo,
Gorka Suárez.


En busca del Tetris perdido

Octubre 13, 2008

Bueno, este fin de semana por fin me he puesto a desarrollar un nuevo juego. Llevaba desde enero sin dar palo al agua en este sentido, que fue cuando hice en Haskell el juego de las damas, el cual lo mismo en un futuro debiera reimplementar para móviles o como un simple applet… igual que el Othello, pero eso todavía queda demasiado lejos y no dejan de ser meras especulaciones dichas de forma muy alegre. El caso es que he elegido hacer un Tetris, primero como applet que colgaré en algún lugar y luego como aplicación para J2ME, ya que el ponerme a hacer un Tetris se ha debido más a una promesa que hice que a unas irresistibles ganas.

Sin embargo esta puede ser una buena forma de reafirmar mis conocimientos sobre el desarrollo de videojuegos para Java. Aunque para ser sinceros Java no es una plataforma que me entusiasme mucho y espero por mi bien que las máquinas virtuales de los móviles de ahora sean sensiblemente mejores que las que había hace 2 años cuando hice el pong para móvil (desde luego como pasa el tiempo sin que uno se de cuenta). Aunque he estudiado Java y he programado algunas cosillas sencillas, nunca me había puesto a programar ningún applet de forma seria, así que me he puesto en el fin de semana a trastear con ello y me he encontrado ya con una maravillosa limitación de Java y el teclado en los applets. Hay diversos tutoriales por internet donde te comentan una forma muy recomendable tratar con el problema de las repeticiones de pulsaciones, que se resume en este código más o menos:

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class InputHandler implements KeyListener {
    public boolean[] Key = new boolean[256];

    public void keyPressed (KeyEvent e) {
        this.Key[e.getKeyCode()] = true;
    }

    public void keyReleased (KeyEvent e) {
        this.Key[e.getKeyCode()] = true;
    }

    public void keyTyped (KeyEvent e) {}
}

Porque si directamente fueramos a reaccionar cada vez que llega un evento desde teclado, nos encontraríamos que al dejar pulsada una tecla solo una vez, al rato nos irían llegando sin parar el mismo valor repetido. Sin embargo, corregido ese problema no todo es jauja, porque Java es tan “maravilloso” que al pulsar varias teclas a la vez, llega a un límite en el que se bloquea y no admite más teclas nuevas, quedándose encasquillada en alguna en particular y enviando su valor repetidas veces hasta que levantemos los dedos de encima del teclado. El problema es que no hay forma de desactivar la repetición de valores para el teclado desde la API de Java. Aun así se pueden hacer juegos con bastante normalidad bajo Java con applets, pero siempre teniendo en cuenta que las opciones de pulsar más de 2 teclas a la vez son limitadas según el caso.

El caso es que espero tener en uno o dos meses el applet del Tetris funcionando, para poder enseñarlo por el foro de stratos y ver si alguien se anima a mejorar los gráficos para el juego si fuera necesario, porque mi talento con los gráficos es realmente lamentable. Pero bueno, de momento primero lograr algo que funcione. Por cierto que el código fuente del juego estará disponible bajo la nueva GPL 3, para todo aquel que quiera mejorarlo o simplemente aprender del código.

Un saludo,
Gorka Suárez.