Crystal Reversi, gratis para iPhone & iPod Touch

Huevos, enemigos y más…

Seguimos implementando nuevas funcionalidades en el juego, terminando prácticamente la base del mismo. De forma más concreta, los avances son…

Enemigos: el sistema de enemigos está casi al completo, quedando la parte de colisiones con Luigi y la repercusiones de éstas con su energí­a. La clase LAG_Enemy es la encargada de gestionar la IA de cualquier enemigo por pantalla, así­ de generarlos / pintarlos según el nivel.

Huevos: según vaya pasando el tiempo, los huevos irán eclosionando y liberando aliens. Aunque esto todaví­a no está implementado, el sistema que controla todo esto ya ha sido programado (clase LAG_Alien) y sólo faltan añadir unos cuantos detalles que definan el comportamiento exacto de tales seres.

Puntos: las puntuaciones se guardan en un integer. Sin embargo, en pantalla, los puntos se muestran a través de una imagen (un sprite que contiene los 10 primeros números, del 0 al 9) . A través de una función, se halla cada dí­gito del número y se convierte a su correspondiente trozo del sprite.

Energí­a: la barra de energí­a está representada por una imagen de colores. En memoria, el nivel de energí­a se controla mediante una variable numérica, de rango 0-100. En la función de dibujado, según ese valor, se dibuja un trozo proporcional de la imagen, respecto de su width. Es decir, a medida que la energí­a de Luigi disminuye, recortamos el ancho de la imagen.

Vidas: al igual que en el juego original, Luigi tendrá 3 vidas (cuando la barra de energí­a llegue a cero, se restará una vida), indicadas por el número de cabezas de Luigi de la esquina superior derecha.

¿Y qué más queda? En cuanto a los aspectos básicos, poco. Sin embargo, todaví­a queda por implementar las opciones del menú, corregir varios bugs importantes, meter muchos detalles (la mayorí­a relacionados con los sprites, seguimos con la problemática de no tener grafista pixel art), dar vida a los héroes que Luigi ha de liberar en cada nivel… en resumidas cuentas, todaví­a queda mucho curro… pero como nuevo adelanto.. una captura de lo comentado en el post.

Captura L&G

Artículos recientes relacionados:


L&G: Estado del proyecto

Mayo se acerca y, según nuestro planning para L&G, la fecha para tener la primera beta, también. Durante estas últimas semanas, hemos estado trabajando en la depuración del proceso de mapping / scroll de los niveles, incluido la parte de los ladrillos móviles y las colisiones de Luigi con éstos. Además, hemos definido los movimientos básicos de Ghetti, que reacciona de forma automática (y a falta de meternos más en profundidad con ello, rústica) a las acciones de nuestro héroe. Tenemos pensado, tras publicar la 1.0, realizar un post mortem del proyecto, donde contaremos los detalles técnicos de la implementación y demás experiencias. De momento, comentaremos de forma breve los aspectos más interesantes del desarrollo de lo que llevamos hecho hasta ahora.

Mapping: el mapa de cada nivel se almacena en un fichero .map, creado desde el editor mappy, y se guarda en un vector, que transformamos en una matriz de enteros para facilitar su tratamiento, pensando en coordenadas x,y y almacenando en cada elemento el número correspondiente al tile que lo representará en pantalla.

Para realizar el smooth scrolling, utilizamos una cámara que en función de la posición de Luigi, calcula la parte de mapa que debe ser mostrada. (Dicho de otro modo, halla el í­ndice del elemento de la matriz a partir del cual debe comenzar a dibujar).

Tiles móviles: una de las cosas que más trabajo nos está dando. El modo de implementarlo, ha sido a través de una clase de niveles, que alberga en su interior una matriz de objetos Slab. Cada objeto de esa clase, guarda la posición en la que se encuentra (indicada respecto a los í­ndices de la matriz de mapeado), así­ como el movimiento que describe. A través de una máquina de estados, las losas o tiles móviles se mueven de forma autómata. Y, puesto que su posición está en referencia a los í­ndices de la matriz, se aplica la cámara para que también se mueva con el mapa.

Colisiones: el sistema de colisiones ya se encuentra más o menos depurado. En cada vuelta del game loop se comprueba que Luigi no está en el estado de caí­da (si es así­, continuará bajando por efecto de la gravedad hasta que tope con alguna plataforma o suelo) , viendo que la parte inferior del sprite que coincide con sus pies no choca con la parte superior de cada tile. En las losas que describen un movimiento de subida/bajada, existe un pequeño problema… secreto de sumario hasta que solucionemos el bug…

Ghetti: como decí­amos antes, Ghetti se mueve de forma automática en función de lo que está haciendo Luigi. Falta depurar el proceso y adaptarlo para que la sincronización sea más perfecta, pero básicamente la filosofí­a seguida es comprobar el estado de Luigi y según su dirección y altura, moverse o no moverse.

Gráficos: en este apartado tenemos un pequeño retraso, debido a que todaví­a seguimos buscando a quién se encargue de realizar los personajes, items y elementos afines con la técnica pixel art.

Próximamente: publicaremos un ví­deo para ilustrar este post, grabado de la demo pasada ya a los beta-testers. (Rosa, Drake, Mork y Pablo, gracias!). En cuanto al desarrollo, dejamos asentadas las bases para la gestión de enemigos, en los próximas dí­as…. caerá.

Artículos recientes relacionados:


Avanzando con Luigi & Ghetti

El documento de diseño del proyecto, ha sido subido. Se trata de una pequeña presentación .pps, en la que se definen los aspectos / caracterí­sticas que tendrá el juego. Respecto al documento interno, hemos quitado un par de cosillas, para no desvelar todas las funcionalidades y secretos… ;) :) Si quieres descargarlo, pulsa aquí­.

En cuanto a los avances técnicos, esta mañana ha quedado prácticamente terminada la máquina de estados que gestiona los movimientos / acciones de Luigi. Puesto que todaví­a no tenemos artista pixel art y que Luigi no es más que un sprite sacado de internet, dichas acciones son las básicas: desplazamiento lateral a izquierda y derecha, salto y gravedad. (éste último, en observación, falta pulir el sistema de colisiones con los bloques / suelo, para que sólo detecte el choque de los pies…).

Tras finalizar esa parte, comenzaremos a meternos con el otro personaje, Ghetti, para después plantearnos de forma más concreta cómo se controlarán los tiles móviles… terminado todo esto, pensaremos entonces en los enemigos… para terminar con las puntuaciones, items y demás detalles… todaví­a queda mucho trabajo por hacer, pero vamos progresando… ;)

Artículos recientes relacionados:


Primeras capturas: L&G

Tras la recién incorporación de este proyecto (Luigi & Ghetti, remake del juego Luigi & Spaghetti que TopoSoft lanzó en 1992), publicamos hoy un par de capturas sobre el desarrollo. La primera se trata del menú, cuyo aspecto es más que posible que cambie totalmente. En la segunda, se ve el gráfico protagonista (provisional) saltando sobre las plataformas del primer nivel, situado en el mundo de egipto (el fondo, como es obvio, también es provisional).

En unas dos semanas, esperamos tener listo el sistema de colisiones y la máquina de estados completa, que doten de total funcionalidad al personaje. Entonces comentaremos detalles técnicos sobre su implementación. ;) :) De momento, no hay mucho que contar, la tecnologí­a utilizada se centra en SDL, con una librerí­a llamada Nessi, encargada del blit, la gestión del menu, de los sprites, del mapa…

En breve intentaremos subir el documento de diseño oficial, que ya está terminado, pero no “visible”, falta ponerlo guapo, por así­ decirlo. También ocultaremos algunas cosillas, pues a pesar de ser un remake, incluirá nuevos elementos, como nuevos items para Luigi y una nuevo mundo. El proyecto ya tiene una entrada en la sección de la web oficial, puedes pasarte por alli y echarle un vistazo si deseas más información general sobre el mismo. ;) :)

Menu

Cap Level

Artículos recientes relacionados: