DESARROLLO


Ver desarrollo actual (quinta versión)
Ver desarrollo hasta la v2.41 (cuarta versión)
Ver desarrollo hasta la v1.21 (tercera versión)
Ver desarrollo hasta la v0.70 (segunda versión)

Versiones 0.35, 0.36 y 0.37:
Hago una segunda fase con todo lo que lleva a cuestas:
Los gráficos. Las setas.
Las tuberías. Los bloques ocultos.
Los enemigos, las monedas, los precipicios...
También le creo algún nivel de bonus al introducirte por alguna tubería determinada.
Hago el paso de una fase a otra, manteniendo los puntos, las monedas, las vidas... que llevases.
Arreglo algo el caparazón de la tortuga pateado, que había veces que rebotaba con una velocidad menor a la adecuada.
Agrego las teclas + y - del panel númerico para añadir o quitar velocidad al juego, ya que veo que en unos ordenadores va más rápido que en otros.
Habilito la tecla de pausa que está al lado de la del bloqueo de desplazamiento o block scroll para pausar el juego. La P sigue pausando también.
Hago que al lanzar una tortuga y ésta golpear a un enemigo, éste muera y dé puntos.
Veo que un caparazón no pasa por debajo de un ladrillo que está justo encima de él. Lo arreglo y ya pasa por debajo perfectamente.
Hago una tercera fase completa, incluso con dos zonas de bonus.
Me doy cuenta de que un caparazón no mata a una tortuga, así que lo hago y ya la mata bien esté caminando, escondida o lanzada (una mata a otra, la que primero compruebe).
Hago que Calio sea invencible mientras se está introduciendo por o saliendo de una tubería.
Mejoro la velocidad del caparazón para que no atraviese ladrillos y creo que lo consigo.


Versiones 0.31, 0.32, 0.33 y 0.34:
Evito una doble animación de muerte. Esto ocurría cuando Calio era matado en una posición alta de la pantalla, que al saltar la animación de morir y perderse por la parte inferior de la pantalla, éste volvía a salir pero con la animación de muerto otra vez xD Ahora ya solo lo hace una vez, como debe ser.
Me doy cuenta de que si un goomba desciende y Calio está de espaldas a él no lo mata, así que me pongo manos a la obra hasta conseguir que Calio muera cuando esto ocurra.
Hago el tercer enemigo: la tortuga (la normal, sin volar ni saltar), y todo lo relacionado con ella:
Que dañe a Calio.
Que rebote al chocar contra un objeto. Tengo que mejorarlo por lo que veo ya que hay veces que atraviesa ladrillos... xD
Que no se caiga por los precipicios mientras camina.
Que al pisarla se esconda dentro del caparazón.
Que si está escondida y la pisas o pateas, salga disparada hacia el lado al que empujabas.
Que si pasado un tiempo no la has pateado ni vuelto a pisar, vuelva a caminar.
Que mientras está el caparazón moviéndose y rebotando, que dañe tanto a Calio como a los goombas, y además, que pueda caerse por los precipicios.
Que si golpeas al ladrillo por el que va caminando la tortuga, ésta se eleve escondida.
Me faltan las características del Mario 3: que al golpear un ladrillo lo rompa o saque el premio, y que pueda matar también a las plantas carnívoras, además de cogerla y llevártela, aunque esto último no sé si lo haré en un principio.
Coloco varias tortugas por la primera pantalla y tambien una en la zona de bonus.
Hago que al morir en la zona de bonus vuelvas a empezar en la fase principal y no dentro del bonus.
Versiones 0.28, 0.29 y 0.30:
Me percato de que también tengo que dibujar las tuberías al agrandarse, encogerse o morir Calio, ya que dibujo las plantas carnívoras, y si no dibujaba las tuberías se veía a la planta por delante de ellas, y no es plan xD
También quito un poco de código redundante ahorrando líneas y variables.
Antes dibujaba la fase entera en cada iteración del bucle. Ahora sólo dibujo lo visible más un margen por cada lado por si las moscas.
Junto los datos de la parte superior del juego para poner otra vez la versión.
Veo que al llegar al mástil para pasarme la fase, como deja de moverse la cámara, también deja de dibujar las dos primeras columnas de gráficos debido a lo de dibujar solo lo que se ve y un poco más. Así que arreglo esa parte y ya me lo dibuja todo bien :D
Además me pasaba lo mismo por el lado contrario: si al principio de la fase me arrimaba al borde izquierdo, se quedaban sin dibujar las dos últimas columnas de gráficos, así que eso también está arreglado.
Ahora el goomba, al ser golpeado por un ladrillo desde abajo, en vez de ser chafado, hago que salga volando muerto boca abajo.
Cambio el tiempo de las plantas, tanto el de estar escondida dentro de la tubería como el de estar fuera amenazando, ya que ambos me parecían tiempos demasiado elevados.
Añado puntos al tocar el mástil. Cuanto más arriba, más puntos obtendrás (desde 100 a 8000); y si es arriba del todo, ganarás una vida extra!!
Muestro las puntuaciones gráficamente, tanto las del mástil al acabar la fase como al coger una vida, una seta, una moneda de un bloque...


Versiones 0.25, 0.26 y 0.27:
Hago que Calio se empequeñezca al ser golpeado por un goomba. Además, se pone intermitente durante un tiempo en el que también es intocable, pero cuidado que ese tiempo pasa rápido y vuelves a ser vulnerable.
Al crecer y empequeñecerse Calio, dibujo a los enemigos, pero tranquilos que estos no se mueven durante la transformación, que antes ni siquiera los dibujaba xD Pero ahora sí, más que nada para no perderlos de vista durante unos instantes.
Antes al saltar sobre varios ladrillos ? de monedas seguidos solo salía una moneda al aire pero te contaba tantas como ladrillos hubieses golpeado (que es lo lógico), y eso era porque usaba la misma variable para todos y si salía la segunda, la primera desaparecía. Ahora ya permito hasta 4 a la vez. No necesito más pues en un monedero en la tercera moneda ya se oculta la primera pero dejo una más para por si las moscas. Sin embargo aclaro que si golpeas dos ladrillos al mismo tiempo solo verás una moneda, pues ambas salen en la misma posición, una encima de otra, aparentando ser solamente una.
Añado un nuevo enemigo: las plantas carnívoras de las tuberías. Y hago todo lo relacionado con ello:
Las colisiones para que dañen; aparecen si Calio está lejos, ya que si está muy cerca o encima de la tubería no aparecen (igual que en el juego, aunque falta la versión B de estas plantas que son las que salen independientemente de donde esté Calio); pasado un tiempo las plantas se esconden, etc. Falta hacer que mueran pero como de momento no tengo ni flor ni estrella, no pueden morir.
Añado también una planta al menú principal para dar más movimiento.
También dibujo a los enemigos mientras Calio salta al morir.
Evito que el juego me dibuje de nuevo la fase y los enemigos al morir y tener 0 vidas, para salirse rápidamente al menú automáticamente. Ahora se sale directamente porque es tontería cargar gráficos que no se van a usar xD
También entre vida y vida me dejaba a los enemigos durante una iteración en la posición que estaban antes de morir Calio para colocarse en la siguiente iteración en sus posiciones originales. Era una iteración pequeña, pero visible. Ahora ya los enemigos aparecen donde deben justo después de morir.


Versiones 0.23 y 0.24:
Rehago la mitad de la fase inicial, pues antes se repetía lo mismo 2 veces. Ahora es todo diferente :D
Como consecuencia cambio la salida de la tubería de la fase de bonus.
Arreglo un fallo en el que si te pasabas la fase y querías volver a jugar no te dejaba porque te decía que ya la habías pasado, sin jugar xD
Quito 4 de las vidas extras ocultas que metí de más para testear todo bien. Ahora solo queda la única que debe estar :P
Añado las primeras puntuaciones: al matar un goomba (pisándolo o empujando el bloque por el que va caminando), al coger una seta o una vida, al romper un ladrillo siendo grande, al coger monedas, al pasar fase, al aparecer cohetes...
Animo al goomba del menú principal. Así no queda tan soso y por lo menos hay movimiento :P
Al coger una seta y ser grande (todavía no tengo la flor), Calio ya no se vuelve pequeño como antes, sino que simplemente obtienes puntos :D
Hago que las setas y las vidas puedan ser empujadas desde abajo si Calio golpea el ladrillo por donde pasan (como los goombas, pero en vez de morir, saltan). Como consecuencia, bajo un poco la altura de aparición de ambas al golpear el ladrillo en el que salen.
Creo los ladrillos monedero (con sus respectivas colisiones, que menos mal que ya las tengo hechas y es copiar y pegar xD). Son esos famosos ladrillos que saltas y te da una moneda, vuelves a saltar y te da otra, y otra, y otra... así hasta 12 como máximo. Pero cuidado, que si dejas pasar demasiado tiempo entre moneda y moneda te saldrán menos.


Versiones 0.21 y 0.22:
Añado sprite de checkpoint. Es una especie de copa blanca que se vuelve amarilla cuando has superado la mitad de la fase, indicando que si mueres de ahí en adelante empezarás desde justo la copa. Si te vas para atrás y mueres, pierdes ese privilegio.
No es necesario tener que tocar la copa, sino que con superarla en el eje horizontal ya se activa por sí misma. (Vamos, que la puedes saltar por encima sin problema, que verás que cambia de color).
Hago que al golpear un ladrillo por debajo, siendo Calio pequeño, el ladrillo se mueva y vuelva al mismo sitio. (Antes el ladrillo se cambiaba a la animación de ladrillo con premio usado), con lo que ahora ese ladrillo puede ser empujado hasta que te canses o cojas una seta.
También hay cambio cuando Calio es grande: ahora el ladrillo se rompe en 4 trozos. Varío la velocidad de los trozos varias veces hasta quedar conforme, o casi xD
Aclaro que este tipo de ladrillos también matan al goomba si éste se encuentra justo encima de aquél, incluso al partir al ladrillo en 4.
Arreglo un fallo tonto que tenía: al abandonar el juego o al morir todas las vidas, se regresa al menú principal, dándote la oportunidad de volver a jugar si quieres. Pues bien, si querías jugar tenías 0 vidas con lo que se salía al menú de nuevo. Ya está arreglado y al abandonar el juego y volver a entrar, todos los valores se restauran a sus valores principales, pudiendo volver a jugar una partida totalmente nueva sin problemas.
Versiones 0.19 y 0.20:
Doy un mejor aspecto gráfico a los mensajes de la parte superior de la pantalla: ahora muestro dibujitos de las vidas, las monedas, el tiempo de fase, y la fase y el mundo en el que te encuentras (me falta la puntuación, cuando la ponga xD). Además, muestro también la versión actual del juego.
Aumentada la velocidad vertical de las vidas y las setas, que antes tardaban en bajar un huevo.
Hago que el juego finalice: al meterse Calio dentro del castillo, antes había que pulsar ESC para salirse. Ahora ya no, ya pasado un poco de tiempo aparece el mensaje "Enhorabuena!" y se sale automáticamente del juego. Cuando avance más haré que pase a la siguiente pantalla o a un mapa para elegir fase.
Incluyo la primera versión del menú de inicio de juego. De momento son solo dos opciones: jugar y salir, elegibles mediante flecha arriba y abajo y con el intro se acepta la opción. Si se pulsa ESC se sale igualmente, y pulsando 7 se permite hacer una captura.
No sé si necesitaré añadir alguna opción más.
El goomba no se mueve, pero tratare de animarlo :P
Ahora al completar la fase o pulsar ESC se vuelve a salir al menú.


Versiones 0.17 y 0.18:
Al añadir las nuevas características de las últimas versiones noté que Calio ya no bajaba al tocar el mástil de la bandera, así que me ha tocado corregirlo :P
Al coger una vida y morir, evito que el bloque de la vida vuelva a salir. Me funciona bien casi siempre, hay una vida extra que me putea un poco xD
Agrego tiempo a la fase. Para empezar la primera fase son 400. Da tiempo más que de sobra xD
Al introducir el tiempo, he ajustado la aparición de los cohetes. Estos ya salen sólo al acabar en 6 (se presentan 6), en 3 (aparecen 3) o en 1 (sólo sale uno). En el resto de los casos no sale nada.
Si Calio no llega a la bandera antes de que se acabe el tiempo, perderá una vida.
Añado una tecla de control interno para disminuir el tiempo de fase y comprobar que evidentemente muere al llegar a 0.
Al morir de cualquiera de las maneras (pérdida de tiempo, muerte por enemigo o caída por precipicio), se vuelve a comenzar desde el principio o desde el checkpoint con todo el tiempo de nuevo.
Versiones 0.13, 0.14, 0.15 y 0.16:
Consigo todo lo relacionado con el transporte de tuberías a zonas de bonus. En la mayoría de las fases habrá al menos una tubería por la que se entrará a una zona oculta (como la de la imagen inferior izquierda) y se podrá salir de ella mediante otra tubería, volviendo a la fase original en el mismo punto o en otro distinto, según sea.
En estas fases puede haber monedas, vidas, enemigos... Aunque de momento sólo tengo la de la imagen, pero pronto haré más, pues todas se hacen de la misma manera :P
Evito que Calio mientras se está introduciendo o saliendo de una tubería pueda moverse, saltar, se agache, se gire de lado... E incluso evito que pueda saltar según está cayendo del cielo a esta fase especial.
Completada la animación al coger Calio una seta. Antes directamente de pequeño cambiaba a grande, ahora hace una secuencia parecida a la original donde se ve perfectamente el cambio. Durante esta transformación solo cambia Calio, es decir, que los enemigos no avanzan, Calio tampoco se mueve durante esos instantes, etc.
Completada también la animación de muerto. Ahora cuando Calio sea golpeado siendo pequeño "saltará quejándose" para finalmente perderse por debajo del suelo.
Soluciono un pequeño fallo que tenía al intentar saltar por encima de la bandera de fin de fase. Antes Calio se podía agarrar a un mástil invisible y comenzar a bajar la bandera sin haber llegado a tocar el mástil todavía. Ahora ya funciona bien y empieza a bajar la bandera cuando entra en contacto con él.
Arreglado un fallo muy curioso en el que al rebotar de un bloque y pisar un goomba, podías quedarte por debajo del suelo. Creo que está bien arreglado, pues no me ha vuelto a pasar.
Solventado el siguiente problema: al meterse Calio por la tubería e ir a la fase de bonus, me cargaba los goombas de la fase inicial. Ahora ya he evitado eso y cargará en cada fase los que tenga que cargar, ni mas ni menos xD
Por fin consigo que los goombas puedan ser matados si empujas desde abajo el ladrillo por el que camina.


Versiones 0.11 y 0.12:
Sigo intentado que Calio, al golpear un ladrillo y haya un enemigo encima de él, éste muera. Mejoro algo, pues me sale a veces xD Tengo que descubrir por qué las otras veces no lo mata.
Y como no me sale decido hacer todo lo relacionado con el final de la fase:
Creo todos los sprites del castillo y de la bandera con su mástil. También creo la pequeña banderita que sale cuando Calio se introduce en el castillo.
También están añadidos los fuegos artificales. De momento salen siempre al pasar la fase, pero más adelante cuando le ponga tiempo a la fase haré como en el juego original: que solo salgan si el tiempo restante para pasarse la fase acaba en 1, 3 ó 6.
Al tocar Calio el mástil, se abraza a él y comienza a bajar la bandera, siendo el personaje ya totalmente incontrolable por teclado. Al acabar, Calio camina hacia el castillo hasta entrar en él, dando lugar a que aparezca la famosa bandera de "castillo conquistado" y posteriormente los fuegos artificiales.
Destaco que evito totalmente el pasar por encima de la bandera, pues al llegar a una determinada posición en el eje X (justo donde está el mástil), Calio es incapaz de avanzar más hacia la derecha, con lo que si no se va a la izquierda, caerá encima del mástil, pero sin hacerse daño xD


Versión 0.10:
¡Cargo el primer enemigo! El goomba rojo :D Cargo 4 a la vez y salen bien, se mueven como deben, si les pisas quedan chafaos y desaparecen, y si te golpean a ti te dañan seas grande o pequeño de tamaño.
Pruebo con 12 goombas en la misma pantalla. Funciona fetén.
Por fin consigo las dos colisiones que me faltaban.
Intento hacer que dos goombas se choquen. No sale xD
Intento hacer que al golpear Calio un ladrillo y al estar un goomba encima de ese mismo ladrillo, éste muera. Tampoco me sale xD


Versiones 0.08 y 0.09:
Agrando la fase de prueba primero hasta 2560x240 y finalmente hasta 5120x240. Ya es algo larga :P
Creo las monedas sueltas en pantalla (las que van sin bloque).
Creo los primeros precipicios, donde si caes pierdes vida, evidentemente xD. Se empieza con 3 vidas.
Añado tecla de test para cambiar de modo pequeño a modo grande. Calio hace bien la transformación de uno a otro y se cargan los gráficos perfectamente. El problema es que al cambiar de tamaño cambian de nuevo las comprobaciones que tengo que hacer para que se choque con los elementos, con lo que sufro contínuamente para dar con los comandos correctos (de momento consigo todas menos dos, donde me pasa exactamente lo mismo que en la primera captura (v0.02)), así que decido pasar a otra cosa mientras me viene la inspiración.
Añado los primeros bloques con y sin premios: ladrillos normales y bloques ?.
En todos pruebo que no den nada, monedas, setas y vida.
La vida se coge bien seas grande o pequeño. La seta de la vida se mueve como debe (y si no pues casi).
Calio al coger la seta se hace grande si es pequeño y si ya era grande de momento se hace pequeño xD (todavía no he creado la flor :P)
Habilito la flecha hacia abajo para que Calio se agache.
Añado checkpoint! Esto quiere decir que si has avanzado más de la mitad de la fase y mueres, empiezas justo por la mitad y no desde el principio. Pero ojo, que si vuelves para atrás a buscar vidas, monedas, setas, etc, lo perderás si mueres. A lo mejor más adelante añado una banderita o algo para indicar dónde es exactamente el checkpoint :P
Versiones 0.06 y 0.07:
Scroll horizontal conseguido (que la cámara se mueva hacia los lados si Calio se mueve), con lo que he agrandado la fase de prueba a 1280x240 comprobando que se dibuja todo perfectamente (es muy pequeña la fase, la tengo que agrandar hasta los 6000 como poco creo yo).
Aclaro que Calio puede volver hacia atrás, cosa que en el juego original no ocurría.
Cargo más gráficos: el cielo, el suelo, los arbustos, algunas nubes, una montañita, tubería vertical, bloque rompible, bloque con premio, bloque oculto con moneda...
Al llegar a 100 monedas se gana una vida.


Versión 0.05:
Hecho el salto. Carga la animación estupendamente al pulsar la letra X. Calio se desplaza hacia arriba y con la gravedad cae hacia abajo. Todo correcto.
Me doy cuenta de que si Calio está subido en un ladrillo y camina hacia un lado, la gravedad no ejerce su poder xD Arreglado.
Quitada tecla hacia arriba, obviamente ya no la necesito teniendo el salto.
Si corres y saltas a la vez conseguirás un salto mayor.
Es probable que después de probar el correr, el modo de caminar te resulte muy lento. A mi por lo menos sí. ¿Será que Calio corre más que Bolt?
Solvento un pequeño fallito a la hora de pulsar o soltar la tecla de correr durante el salto.
Añado la función de salvar captura de pantalla (tecla 7) y doy por finiquitada la versión 0.05.


Versiones 0.03 y 0.04:
Cambio la velocidad de desplazamiento de 16 a 4 píxeles por pulsación. Las comprobaciones de choque no me sirven pa ná xD Después de mucho sufrir, consigo hacerlas (son unas 28 en vez de las 4 de antes xD).
Agrego tecla de correr (tecla Z). Al pulsarla, Calio va más rápido. Si se suelta, vuelve a ir como siempre.
Inhabilito flecha abajo e intento añadir gravedad. Consigo algo decente pero hasta que no le haga el salto no lo puedo saber a ciencia cierta xD
Versiones 0.01 y 0.02:
A Calio le doy el poder de desplazarse arriba y abajo, ya que todavía no hay gravedad xD
Consigo que se choque con un ladrillo por los 4 lados.
Cargo una fasecita con varios ladrillos. Se choca con todos.
Añado la función de pausar el juego (tecla P).
Intento que me dibuje a Calio y al ladrillo al doble de su tamaño en una resolución de 640x480. No lo consigo (snif).
Logro que Calio ande al pulsar las flechas izquierda y derecha (antes la animación que salía era la de estar quieto, no la de correr).


Así lucen las comprobaciones de choque en la v0.02. Molan, ¿eh?

Versión 0.00:
Cargo un ladrillo y un sprite de CALIO en una resolución de 320x240. Calio se mueve a izquierda y derecha. No se choca con el ladrillo sino que lo atraviesa.
Si pulsas ESC se acaba el juego.


www.000webhost.com