DESARROLLO


Decido crearme un editor de fases en Visual Basic. Este es el avance que llevo hasta ahora: (12-05-2013)


Editor de fases - Mundo 1 - fondos.

Versiones 2.51, 2.52 y 2.53: (26-04-2013)
Ahorro líneas de código sacando a parte la acción de "Calio colisiona con..." y ahora tratará casi igual cuando impacte con Boomerang Bro y su disparo, Goomba, Banderilla, Birdo, Bomba, Boo, Bullet Bill, Buzzy Beetle, Cooligan, Fang, Flurry, Firebar, Icicle, Lakitu, Nipper Plant, Piranha Plant, Podoboo, Ptooie, Spiny, Thwomp, Trouter, Huevo de Birdo, Dry Bones y Troopa.
Dibujo por encima de Calio la parte derecha del castillo cuando entra en él, que antes simplemente cuando llegaba a la puerta dejaba de dibujar al personaje. Ahora desaparece por detras de la puerta.
El boomerang de Calio, si colisiona con un ladrillo oculto, lo marcará con estrellitas animadas para indicar que ahí hay algo.
Veo que existe un problema con los Nipper Plant, y esto es que a partir del Nipper número X ya no mata ninguno, ni con disparo, ni caparazón ni nada. El problema ocurría a la hora de colisionar un disparo con un determinado Nipper, que estaba mal puesta el valor contra el que tenia que chocar.
Programo que al salir del menú de selección de fase pulsando S, no suene el sonido de "has elegido esta opción".
Observo que si cargo un juego y salgo, el teclado ya no vuelve a funcionar más, y también que al pasar de fase si estabas todo el rato dando a las teclas, al volver a la selección de nivel seguía moviéndose entre las opciones. Arreglo ambas cosas, o eso creo.
Me percato de que sale una tortuga al principio de determinadas fases (de la 3-3 hasta la 3-8 concretamente, y en el resto no aparece). Pienso que el problema residía a la hora de dibujar en esos niveles y se ve que lo he arreglado.
Me doy cuenta de que en la fase oculta de la 1-4 hay una plataforma mediante código pero que no es visible, pero se ve que Calio se queda encima de ella, en el aire. Se debía a que al meterme por la tubería cargaba los enemigos y la fase nueva, pero no actualizaba las plataformas. Ahora ya sí lo hago.
Cambio la imagen de la flor de boomerang, así como el propio bumerán, adaptándolo al estilo del arma del Boomerang Bro y arreglo un par de cositas relacionadas con las actualizaciones anteriores.
Debido a ciertos errores que observo, decido alterar la manera de comprobar si un caparazón de tortuga impacta en un ladrillo y lo rompe, rebota o saca premio. Modifico además la forma en que impacta en un bloque P. Compruebo que en TODOS impacta bien.
Arreglo colisión de concha de Troopa con monedero, que sacaba monedas ilimitadas, varias de un solo golpe...
Pongo la música de fin de fase del Super Mario Bros 3 y hago que al finalizar un nivel, elija aleatoriamente cuál de las dos quiere. En las fortalezas igual, pero aquí elige entre 3 músicas distintas.


Nueva flor de boomerang y estrellitas "chivatas" justo al lado.

Versiones 2.49 y 2.50: (14-04-2013)
Dibujo a Boomerang Bro de color verde. Hago que se gire, que sea congelado por el disparo de flor de hielo, que muera al pisarle con la bota verde y por el disparo de la flor de fuego. Lo configuro para que camine entre dos puntos, para que elija aleatoriamente si quiere caminar, saltar, disparar... Hago que pueda saltar hacia arriba hasta en dos ocasiones (esto significa que puede tener 3 niveles de altura), y una vez alcanzado el más alto, no podrá subir aunque quiera.
Del mismo modo programo que descienda, limitado a que si está abajo del todo, no baje más. Que muera con estrella, por boomerang que tire Calio, por Ground Pound, por impactarle un ladrillo elevado por Calio por debajo y por caparazón lanzado. Configuro que caiga por un hueco, evitando que se frene cuando cayendo por uno, haya otro agujero debajo en el nivel inferior.
Realizo que dispare, que dañen tanto el disparo como Hammer Bro. Si este enemigo muere, los disparos siguen activos hasta desaparecer por el extremo de la pantalla. También lo programo para morir al pisarle Calio en la cabeza. Además le habilito un estado en el que salte y dispare a la vez. Le pongo sonido al boomerang, repetitivo, hasta que no haya ninguno en pantalla (porque hayan sido cogidos o se hayan salido de los márgenes).
Quito el sonido si suena mientras doy ESC para abandonar el juego, y también con los sonidos de "Fang haciendo el circulo de ataque" y de "caparazón cogido avisa de que el enemigo va a salir". Convierto a moneda tanto el boomerang como el enemigo una vez que Calio toque la bandera de fin de fase o el margen derecho del puente de la fortaleza.
Observo que si mato al Boomerang Bro con el segundo disparo de fuego, la puntuación siempre aparece en el primero. Asimismo me percato de que con el resto de enemigos también pasaba. Lo arreglo.


Boomerang Bro.

Versiones 2.46, 2.47 y 2.48: (30-03-2013)
Me percato de que Calio no agarra el mástil de fin de fase si está subido en la nube de Lakitu, así pues, lo codifico para que sí ocurra.
Diviso que si Calio lleva la bota verde, se sube a la nube de Lakitu y pulsa flecha abajo, la bota no se dibuja. Lo realizo.
Codifico que si Calio lleva bota, y la nube se puede coger (recuerdo que si Calio pisa a Lakitu, lo mata y se va la nube, pero puede ocurrir que la nube esté libre y se consiga la bota después), se suba con bota y no la pierda, haciendo que si pulsa salto, salta con bota, y continúa sin perderla, sólo extravía la nube.
Programo un nuevo intento de coger bien las monedas cuando Calio es grande, que alguna se escapaba siempre. Puede que vaya mejor ahora xD
Configuro que el caparazón lanzado de un Buzzy Beetle no golpee a Calio cuando lo ha soltado de sus manos, que vi que comprobaba dos veces lo mismo, en una estaba puesto y en la otra no, así que esa que me dañaba la he quitado y ya no golpea al soltarlo.
Detengo el sonido de "cuidado que sale el enemigo del carapacho" si éste ha muerto o si Calio ha fenecido.
Observo que si me agacho justo al soltar un cascarón, Calio deja de dar patada, pero cuando se suelta la tecla ABAJO vuelve a darla, aunque hayan pasado 3 minutos. Lo corrijo y al levantar el dedo de la tecla ya no la da.
Aumento la duración de la música del bloque P para que sea más o menos la misma que la del Super Mario Bros 3.
La estrella no funciona de la fase 3-3 primera parte, a la 3-3 segunda parte (cuando cae por la tubería), así que hago que sí funcione sin tocar nada más, es decir, que si mueres sigue sin servir.
Mejoro el salto contra la pared: ahora Calio frenará un poco su bajada si se mantiene pulsada la tecla de dirección en la que está la pared en la que se apoya. Además, creo una imagen de esta animación, tanto para Calio pequeño como grande. Ajusto a Calio hasta que quede pegado a la pared por si en algún momento intenta bajar un poco separado (en tuberías no lo puedo adherir del todo ya que la parte superior es más ancha que el resto).
A colación de lo anterior, evito que Calio frene en el salto mientras está ascendiendo. También codifico que aparezca humo mientras roza el muro al bajar, posicionándolo según si Calio es grande o pequeño y teniendo en cuenta el lado hacia el que mire.
Aprovecho y pongo humo también al realizar el salto contra la pared.
Según el Super Mario Bros 3, cualquier pared mata al caparazón si lo lanzas justo pegado a ella, y así actúo, aunque sea rompible o de premio, tienes que estar separado para romperlo/cogerlo.


Calio frenando rozando con la pared.

Versiones 2.42, 2.43, 2.44 y 2.45: (23-03-2013)
Observo que al pasar la fase con la bota verde puesta y comenzar la siguiente, Calio aparece donde la bandera de fin de fase y la termina sin jugarla. Lo corrijo.
Añado temporizador al juego para que se ejecute a la misma velocidad en cualquier ordenador, dependiendo de su CPU.
Veo que el caparazón de un Troopa sigue avanzando después de haberlo pisado. Lo arreglo.
Me doy cuenta de que cuando Calio es grande y hace Ground Pound sobre un ladrillo monedero, deja de realizar dicha animación y aparece agachado. Era debido a que me faltaba una condición que tenía puesta cuando Calio es pequeño pero no cuando es grande.
Me percato de que el disparo de una Venus Fire Trap no me daña ni libera enemigos de bloques de hielo. Me estaba tomando posiciones erróneas y por eso no colisionaba con nada. Lo solvento.
Al hacer una serie de cambios en el código, percibo que la puntuación de final de fase desaparece enseguida. Lo soluciono y ya permanece durante un tiempo, como ocurría antes.
Al caer por un precipicio con la bota verde calzada, hago que Calio salte muriéndose sonando la música de muerte, y sin dibujar la bota como sucedía hasta ahora, ya que quedaba feo.
Diviso cómo al pasar una pantalla y abandonar el juego desde el menú de selección de fase, al querer salir también del juego entero, lanza un error de "No se ha podido cargar la fase nombre-de-la-fase". Me faltaba inicializar un campo.
El carapacho de un Troopa, estando quieto al lado de un ladrillo, hacía sonar el efecto de "ha chocado" cuando es mentira, está al lado. Lo subsano y ya no suena nada raro cuando no debe.
Vislumbro que varios objetos me han pasado de una pantalla a otra. Inicializo los objetos al cargar una pantalla y ya no aparecen.
Arreglo el rebote de la bota verde sobre un enemigo congelado, que a veces solo con pisarlo, saltaba una y otra vez sin hacer nada.
Si Calio iba con la bota verde, no saltaba mientras pisaba las baldosas que caen al paso de X segundos. Ahora ya si pulso izquierda o derecha, pega el saltito pequeño de rigor; si no, se queda quieto y cae tras la baldosa cuando lo requiera.
Corrijo de nuevo una de las cosas que arreglaba siempre y por caprichos del destino se volvía a estropear: Calio aparecía 8 píxeles más abajo que las baldosas que caen tras pisarlas X segundos, tanto con bota como sin ella.
Soluciono la generación de bloques de hielo rotos, que vi que se me quedaba en un bucle infinito cuando llegaba al límite de bloques rotos a la vez. Ahora si todos están ocupados, se cargará el que más roto esté.
Programo que Dry Bones se caiga por un agujero sin meterse en mitad de un ladrillo, como sucedía hasta ahora.
Me aparece "introduce tus 3 iniciales" al querer salir del juego entero abandonando en la selección de fase (no al regresar al menú principal, sino al querer salir de éste último). Se ve que tras varios intentos lo solvento.

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)
Ver desarrollo hasta la v0.37 (primera versión)