Echo v1.4: road to season two

Started by Drumpi, June 12, 2016, 11:30:54 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Drumpi

Finalmente, las pruebas han sido un éxito :D
Al principio, obviamente, no funcionaba, pero tras corregir las dos tonterías por las que fallaba, Echo empezó a perder energía al entrar en contacto con estos tiles... demasiado rápido, así que testeé la otra parte del código que se había hecho para reducir la energía más lentamente, y también funcionó. Aun estoy equilibrando la velocidad a la que se drena la energía, para que no sea ni muy rápida ni muy lenta, teniendo en cuenta la energía que podría tener el jugador en esta parte del juego y cuánto tiempo quiero que pase en la lava.
También me ha dado tiempo a implementar las animaciones y ya tengo dos tiles diferentes de lava (superficie y relleno). Por desgracia, la animación es tan simple como una ola que se va desplazando, y quiero que se vean burbujas inflándose y explotando, y añadir tonos naranjas y amarillos, y no un rojo plano como está ahora.

...y ya está, no me ha dado tiempo a más. Si hoy salgo pronto del trabajo y no estoy mentalmente agotado, intentaré añadir los tres tiles que faltan al nivel 4-2 y hacer las pruebas con los gráficos de Fede... o intentar averiguar por simple inspección qué puede estar pasando en el código de la RG350 para que no funcionen de forma adecuada los botones en el escaneo.
Tengo que revisar la lista de tareas, pero diría que con eso y unos cambios que tengo pendientes con las plataformas móviles tendría completo el nivel 4-2 :D Si no me he cargado nada del "modo historia" y he enlazado bien el nivel 5, es posible que pueda lanzar la versión 1.3.1 el sábado, o el domingo. Lo que no sé si de forma pública o por privado.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Pues... ya he añadido los tiles que faltaban... aunque debería añadir algún enemigo más por ahí... y quitar las plataformas móviles que he puesto para testeo.
Y he probado los tiles de Fede en el nivel, añadiendo los dos que faltaban.
He comprobado los botones de RG350 en el código y he sustituido A y B, que usaban _CONTROL y _ALT, por _L_CONTROL y _L_ALT, pero no los he probado en la consola.
Y según el código, el "modo historia" debería ejecutar las 4 pantallas del nivel 1, el nivel 3, las dos pantallas del nivel 4 y lanzar el nivel 5... pero los efectos sobre el fichero de guardado son una incógnita, aun. A ver si esta tarde lo pruebo.

Y ya está. No he podido hacer más. Le he podido dedicar una hora. A ver qué puedo hacer hoy. :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Pues ayer hice una prueba general de funcionamiento, prácticamente íntegra desde la RG350. Me hubiese gustado haber tenido los resultados hace varios días por parte de algún betatester, y estar dedicándome a corregir los fallos, porque van a salir muchos, muy tontos, y el ciclo prueba-detecta-corrige se va a repetir mucho.


De momento, estos son los resultados de ayer:

Para empezar, me alegra anunciar que los botones ya funcionan correctamente en la RG350. Todos los botones (salvo los de volumen) son reconocidos por la configuración. Más tarde me daré cuenta de que los botones para cambiar al siguiente o a la anterior arma están invertidos, y estuve buscando la razón, pero no di con la tecla (badum tssssshh).

El modo historia iba funcionando bien, los controles respondían perfectamente y todo estaba en su sitio. Al llegar a Gravor pasó algo raro: me mató dos vidas. Por lo general, es un enemigo que elimino en unos 30-50 segundos con la espada cargada a tope, pero por alguna razón que aun no he descubierto, su punto débil, el interior de la boca, aunque recibía los impactos, no disparaba la secuencia que deja al descubierto su abdomen. Esto ya pasó anteriormente cuando el "escudo invisible" que protegía el interior de la boca detenía las balas antes de que impactaran en el punto débil, así que supongo que es más de lo mismo, tendré que revisarlo. Sólo espero que no se deba a un impacto contra las lineas mal hechas que aparecen cuando un proceso se rota o se escala en la versión de BennuGD de la consola. No sé si podré arreglarlo a tiempo, pero finalmente tuve que superar el boss en el PC... y el nivel entero :S

Esa es otra cosa que noté, los checkpoints no estaban funcionando... o al menos no estaban grabando la partida porque...

... Tras acabar con Satavamp, el nivel me hizo comenzar en el nivel 3, a mitad de camino del final. Un efecto secundario del cambio del método de numeración de los niveles. Ya está arreglado, aunque aun no lo he probado.

El nivel 4 está correctamente integrado. Tras derrotar al jefe alien, empieza el nivel en el desierto, luego se ejecuta el nuevo nivel y al acabar volvemos a las cuevas. Incluso el evento que dice "continuará", los créditos y la imagen final aparecen correctamente :)

Ya sólo queda modificar algunos tiles del nivel 4-1 que puse temporalmente en el FPG de Fede, hacer algunos arreglos al 4-2 añadiendo algún que otro enemigo aquí y allá, e intentar resolver los dos problemas gordos que he encontrado (Gravor y los botones de cambiar arma). Confío en que esta tarde, cuando vuelva a superar el nivel 1-4, aparezca al principio del nivel 3. Lo que ya tengo dudas es si arreglar o no lo de los checkpoints, porque me da en la nariz que no se hizo nada, y trastocar ahora todo el sistema de salvado de partida puede ser un desastre, ahora que todo apunta a que mañana podré tener una versión 1.3.3 para celebrar el aniversario.

Después podré seguir más tranquilamente con el desarrollo, con el nivel 4-3, el boss, modificar el 5, eliminar cosas de la enoooorme lista de cosas por hacer... y a ver si añado los mapas de dos capas sin cargarme la versión de Wiz, y me pongo definitivamente con el nivel 2 (sólo adelantaré que habrá ninjas, no hay género de acción en el cine o en las series si no hay ninjas... mmm ¿ninjas power rangers? :P).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Hola a todos:

Me alegra anunciar que finalmente la versión 1.3.4 de "the Amazing Adventures of Echo" está disponible para su descarga para PC, Wiz, Caanoo y como novedad, RG350.
https://gamejolt.com/games/the-amazing-adventures-of-echo/170481

Sí, la 1.3.4. Por l visto ya existía una beta de la 1.3.3, así que he tenido que aumentar la versión ^^U
Las novedades creo que ya las he comentado un millón de veces a lo largo del hilo :D Pero a modo de repaso, todo se basa en la inclusión del nivel 4-2 (ya sabéis, en realidad es el tercero pero porque aun no se ha realizado el verdadero nivel 2) y la integración de código para que funcione en RG350.

Finalmente pude añadir los tiles que faltaban a los gráficos "stylish" del nivel 4-1 y añadir unos cuantos enemigos más al 4-2. Hice la prueba de superar el nivel 1-4, y efectivamente comencé en el principio del nivel 3, como esperaba.

Lo que no esperaba era que al cargar el nivel 4-2 no se vieran los nuevos enemigos, lo que me obligó a volver a la mesa de trabajo a aladir un par de líneas que cargaban los FPGs para ese nivel ^^U

Después, hoy llegó el día de empaquetar, subir y presentar. Odio esa parte :D Y hoy ha sido otro ejemplo de ello:
Con todo ya listo y empaquetado, llega la hora de hacer la prueba final y... en la RG350 me doy cuenta de que los valores por defecto de los controles están mal, en Wiz los controles no funcionan porque tienen un fichero de configuración que no le corresponde, y la caanoo está sin batería.
Elimino los ficheros de configuración de las consolas y de los paquetes y hago una nueva prueba: RG350 bien, Wiz bien, Caanoo no lo ejecuta. Reviso el script de arranque de caanoo y tiene un nombre de dcb incorrecto (el de Wiz, concretamente). Una vez corregido, nueva prueba y va... bueno, arranca, pero no recordaba que fuera tan a tirones, la Wiz no iba a tirones momentos atrás... Nueva prueba en Wiz, sí, da unos tironcillos, más graves en otros niveles, pero es buena señal, significa que el overclock funciona :D

Bien ya está todo... o casi. Me doy cuenta de que el level select no carga bien los niveles, que falta una captura del nuevo nivel... ¿me daría tiempo a arreglarlo? Pues sí, en unos 45 minutos ya lo tengo listo, así que de nuevo, a modificar los FPGs de la versión de desarrollo, de los 4 zips, de la versión final y de la copia de seguridad... por duplicado: gráficos "classic" y "gráficos "stylish"... y de nuevo a compilar y copiar.

Hay que hacer los ficheros de changelogs, anotar los cambios realizados, comprobar que los cambios están en la versión correcta...
Luego llega la hora de enfrentarse a la subida a la web, donde hay que repetir lo de los cambios efectuados, buscar dónde leches se ponen las diferentes versiones...
En fin, mucho rollo "burocrático", pero ya está subido el juego a la web de Gamejolt, a mi perfil.

Descargadlo, probadlo y reportadme los problemas que veáis. Los agradecimientos también son bienvenidos.
Pero obviamente esto no queda aquí. El hilo se llama "Echo 1.4: road to season two", no 1.3.4, aun nos queda el desenlace del episodio 4, la reedición del episodio 5, y la conclusión de la trilogía en el episodio 6, eso sin contar con que los de post-producción acaben de editar el metraje del episodio 2. El desarrollo seguirá adelante, sólo que sin una fecha determinada de salida (lo cual puede ser un problema, ya que era la motivación que tenía hasta ahora... y se me puede venir encima el "periodo entre proyectos" y puede ser desastroso).

Stay tuned. Same hour, same channel!!
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

oskarg

#169
Hola,lo acabo de probar esta chulo..el sistema de rampas y saltos perfecto.Observo que puedes bajar o subir cualquier cosa sin importar el angulo de inclinacion ,lo tengo que mirar por la red a ver como lo logro yo tambien ;D

Estaria bien que en futuras versiones se pudiera jugar a pantalla completa,pues en pc con mi monitor lo veo todo demasiado pequeño.
No veo ralentizacion alguna y eso que me expresas que todo se basa en tiles,joe..
En futuras versiones me gustaria poder eligir tipo de suavizado.

1.La musica esta muy bien,aunque como la fase1 es tan larga,al final se vuelve algo repetitiva.

2.Eso de poder elegir fase es un plus.esta muy bien acertado,aunque su sistema de seleccion es algo rebuscado.

3.Cuando te matan la escena de su animacion es demasiado larga y no suena ningun tipo de musica.Supongo que lo has dejado aparcado para mejorarlo en el futuro.
Veo que te queda mucho ,mucho trabajo para darlo como acabado,pues los mapas son muy extensos , cuando hagas otro juego de este tipo,no temas en hacer los sprites mas grandes,en otra ocasion haz una mega araña que realmente al verla te cause respeto.

4.Algo que si cambiaria y  repercute en su jugabilidad,cuando salto entre columnas estas se dibujan por encima del prota y no se entiende o se percibe bien que tiene una baldosa o suelo donde puedo pisarla.

5.Por finalizar sobre mejoras,es algo muy personal,a mi me gusta los juegos pausados,me explico,yo avanzo hacia adelante y llega un momento que no puedo,bien porque me sale el enemigo de turno que lo tengo que eliminar o bien porque hay una palaca que tengo que tocar y asi abrir una compuerta.Aqui he notado que puedo avanzar a saco en ciertos momentos y luego me encuentro que me sigue una tropa de enemigos en plan deseosos de quitarme la vida,si los he dejado atras,caray!!dejadme de perseguirme, pesados!!!si avanzo,avanzo,pero tampoco me gusta de esos que avanzas y avanzas y no haces nada solo ver pantallas  y mas pantallas,lo dicho,un juego con pausas.
Asi!!..una cosa para que mires el codigo,hay un momento del juego que los pajaros se quedan trabados, no pueden avanzar y se produce el indeseable "tembleque"mas de uno dira,es que sufren de parkinson,de ahi sus espasmos,pero creo que no cuela. :P

Drumpi

Muchas gracias por probar el juego, me alegra que te guste.

El tema de subir y bajar es un poco "a mi manera", ya que en lugar de mapas de durezas, como en "Castle of Dr. Malvado" (juego que conviene analizar, a poder ser, con el "manual avanzado de DIV" que comentábamos en otro hilo reciente) uso "tiles de durezas", y en mi caso le digo que si la posición cae por debajo de la diagonal, recoloque el prota sobre el suelo. Casi todas las durezas hacen lo mismo y es lo que provoca que, en ocasiones, cuando una de las comprobaciones de durezas no está bien hecha, se noten esos "saltos" en el movimiento.
Bajar las rampas, básicamente, es que cuando detecta que está sobre una de ellas, y está en modo "andando", fuerzo a que se pegue al suelo, incrementando la gravedad temporalmente (truco sacado del Castle...).

Respecto a tus sugerencias, sonará a tópico, pero las tendré en cuenta
Una cosa que hay que entender es que el juego se diseñó para consolas portátiles, de ahí que los sprites sean pequeños, que el tamaño de pantalla también lo sea... No puedo trabajar con una resolución de 320x240 y otra de 1366x724 o superior Sería hacer un port HD del juego.
Lo que sí está pendiente, y no recuerdo en qué juego se hizo, es la de poder definir el multiplicador de pantalla. En PC tengo activo el 2xScale, pero creo que puedo usar el ScaleResolution para multiplicar x3 el tamaño, quizás x4... pero en ese caso, los filtros del 2XScale no se podrían aplicar, así que tiene que ser o una cosa o la otra, ahí no tengo control.

Lo de la música en el nivel 1 lo entiendo, en su momento era genial, pero cuando llevas una hora jugando se hace demasiado monótona, por culpa de la flauta... que fue sugerencia mía al músico ^^U Ya he hablado con él por si se podía hacer una variación para ir alternando en las diferentes pantallas, pero me temo que anda demasiado ocupado con otras cosas (no lo culpo, las melodías se las pedí hace 10 años), así que me toca ocuparme del tema sonoro a mi, que no tengo ni idea de componer. Intentaré replicar la melodía con lo que tengo, y a partir de ahí veremos qué puedo cambiar. Y lo mismo para el nivel 3.

Lo de la animación de la muerte... me perseguirá hasta el fin de los tiempos Ya la reduje a la mitad de lo que duraba inicialmente. No quise reducirla más porque se me complicaba mucho el código y no tenía tiempo. Ahora tengo más tiempo, por lo que sí, está en la lista de tareas pendientes

Las columnas: sí, tienes razón, deberían dibujarse por detrás, pero sólo tengo una capa de scroll tileado, lo que significa que o bien la pongo por delante o por detrás del prota, y la mayoría de los tiles debían ir por delante. Ya he comentado que estoy preparando una opción que permita cargar mapas de 2 capas, ahora que tengo un editor que me permite hacerlo, pero tengo que mantener las de 1 capa, porque aunque tooodos esos procesos tiles funcionan muy bien en PC, en Wiz no tanto, y la segunda capa se nota, y ya opté por intentar mantener la compatibilidad con esas consolas mientras fuera posible en una encuesta que hice hará cosa de un año o más. Lo bueno de los mapas de 2 capas es que podré hacer que se vea a Echo mientras atraviesa las paredes, y quizás hasta pueda poner tiles transparentes por encima y lograr un buen efecto.

¿Los enemigos te persiguen sin descanso? Acaba con ellos No, en serio, en teoría, los enemigos que salen de pantalla y se alejan bastante, deberían volver a sus puestos, pero apenas empecé a hacerlo y no recuerdo qué enemigos lo hacen y cuáles no. Me vendría bien elaborar una lista, pero eso, tienen que salir de pantalla unos 32 pixels más o menos. De hecho, es una medida para ahorrar ciclos de cómputo en las consolas portátiles, donde el rendimiento es esencial, e incluso hay ciertas partes del juego donde se hace una "purga" de "enemigos viejos".
Los que se quedan atascados son los voladores con los techos. Es algo que tengo que mirar, porque también afecta a Echo. Hay algo mal en el comprobador de durezas que no ha salido hasta varias semanas después de la última revisión.

Aun así, aun tengo una lista de 20 o 30 cosas pendientes de hacer, así que voy alternando el "bug hunting" con hacer cosas nuevas. Me paso varias horas en el trabajo solucionando fallos, por lo que al llegar a casa estoy cansado, y tengo que estar en "modo Rambo" para acabar con los más gordos. A pesar de ello, siempre estoy dispuesto a añadir cosas a la lista si veis que son necesarias.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

¡Ajá! Apuesto a que pensábais que no iba a volver a tocar el código en varios meses...

...y esa es la razón por la que nunca apuesto. Ni os lo habéis planteado :'(
En fin, pues nada, anoche no tenía sueño y decidí darle un toquecito al Echo, y me puse a programar un suelo que, al pulsar un botón, se recogía. Es como los puentes, que aparecen al pulsar el botón, pero al revés, que permiten abrir caminos o quitar plataformas para no volver a acceder a ciertas zonas.
De momento he estado programándolo, aun no está terminado y... lo cierto es que aun no tengo muy claro su funcionamiento, si los tiles van a ser unos predeterminados o si voy a usar los que estén en el mapa visible, si las durezas van a ser traspasables desde abajo, o no, o dependerá del mapa de durezas o de algún parámetro... no sé, tengo que pensar qué me va a dar más posibilidades con la menor cantidad de código, sin que se llegue a complicar demasiado.

...Y ya está, eso es todo. Oye, yo también tengo derecho a descansar de vez en cuando y pasarme algún juego que no haya hecho yo ¿no?
... ¿no? :'(
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Bueno, pues al final hasta el fin de semana no he podido tocar más código, y sólo el Sábado, porque el Domingo no tenía el día para ponerme a trabajar.
No, no por depresión por tener que estar encerrado (al final no es tan distinto de uno de mis días normales :D ), sino por cansancio y sueño.

Bueno, el caso es que le dediqué bastante raro a reorganizar tiles que iba a necesitar para el nivel 4-3, concretamente a preparar los tiles de las puertas, los puentes, y meter en el FPG cuales son los tiles de cada enemigo, los de los botones... vamos, que estuve el día adaptando los gráficos para añadir interactividad al nuevo nivel. También en el código: estuve revisando lo que hacía falta para ejecutar el nivel, como la carga de los mapas (que aun no estaban en la carpeta del proyecto, porque aun está en construcción), los gráficos, etc.
Hablando de tiles interactivos, creo que ya tengo listo el puente que se retrae cuando activamos algún botón, pero no lo he probado. Le estoy dando vueltas porque también quiero hacer palancas o algo que se pueda activar y desactivar, y no sólo activar, y cómo hacer que eso afecte a las puertas y puentes que ya hay.

Ya de paso, estuve retocando el nuevo nivel. No hice nada nuevo respecto a durezas, pero sí que fui emplazando algunos tiles visibles, enemigos, plataformas móviles, puertas, puentes, y cambiando una parte del nivel donde había un Horus (las cabezas esas de chacal que te disparan si te ven) a ras de suelo, por arena y un excaver (el bicho ese que va bajo tierra y que sólo deja ver una cortina de arena). También coloqué un poco de agua y lava que hacía falta, y eso requería de pasos extra en el código.
Aun le queda mucho para estar terminado. Lo que es el diseño jugable está al 30%, y aun no tengo casi ningún tile de decoración hecho para el mapa visible. Me voy quitando poco a poco los detallitos de lo que ya está hecho, pero me dedico al nivel sólo cuando sé que voy a dedicarme exclusivamente a él, necesito entrar en un modo muy concreto de concentración si quiero que el nivel sea jugablemente interesante.

Y hablando de detalles, llevo tiempo mirando la lista de cosas pendientes y, aunque le dedico tiempo a algunas cosas de esta, es como si al final no hiciera nada, y encima se añadiesen cosas para terminar lo que ya hay... como si se multiplicasen las tareas, pero sin añadir nada a la lista ¿es eso posible? :S

Bueno, voy avanzando poco a poco, compaginando el proyecto, el trabajo y volverme histérico con el encierro forzoso :D
En realidad esto último no es verdad.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Buenas. Ya no toco el código tan a menudo, pero tampoco es que haya tenido demasiado tiempo. Entre semana estoy trabajando, ya sabéis.

Pero bueno, anoche me cogí un ratillo y se lo dediqué a preparar el código para que un amigo, que se aburre muchísimo por la situación actual de enclaustramiento, pudiera hacer sus pruebas con el juego, y de paso, me testease una pare del código fundamental para el nivel 2.
Básicamente he añadido código para cargar un nuevo nivel, con sus gráficos, sus mapas de tiles, etc... No fue demasiado problemático (menos mal) pero quizás lo podría haber hecho de otra forma.
Y ya está, eso es todo. Bueno, a ver si esta tarde empieza ya, y puedo ponerme a escribir un poco más de código o de lo que surja.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Hola a todos:

Perdón por el silencio de radio, pero he estado en una época de muchas incidencias en el trabajo, y luego prisas por el retraso que han provocado en otros proyectos. No estaba por la labor de ponerme a programar.
Pero sí que he ido haciendo algnas cosillas, aunque no las he comentado en su momento.

Hace cosa ya de dos semanas... o tres, no recuerdo bien, le dediqué un ratillo para poder terminar las momias. Si habéis probado el nuevo nivel, habréis visto una momia en la parte superior, cerca del final. Sí, la momia es inmune a todas las armas, pero ya comenté, creo, que está para que experimentéis un poquito antes de enfrentaros en serio a ellas en el 4-3. El caso es que a las momias les faltaba por implementar el "baile de sambito" random, es decir, esa especie de baile que hacen cuando chocan contra una pared, pero ahora lo pueden ejecutar aleatoriamente en cualquier momento, igual como pasaba en el juego en el que se inspiran ¿cuál? No os preocupéis, tendréis más pistas cuando complete el nivel 4.

Hace una semana, tuve un poco más de tiempo y estuve implementando un menú para modificar la resolución de pantalla. Tiene 3 opciones: la primera permite seleccionar por cuántas veces se va a multiplicar la resolución nativa del juego (320x240), desde x1 hasta x17, por si alguien está usando una tele 8K :D; la segunda opción son los filtros 2X, que sólo funcionan si se ha seleccionado multiplicar la resolución por dos, ya que, claro, son los filtros SCALE2X de Bennu; y la tercera y última opción es para poner el juego a pantalla completa o en ventana. Estas opciones se guardarán en el fichero .cfg de la carpeta save, y no hace falta que se borre la anterior. Eso sí, dicho menú sólo es accesible si se juega en PC, el resto de dispositivos van a resolución fija.
Y ya, de paso, le he metido un poco más de velocidad al cambio de opciones en el menú principal :D

Por último, lo que he estado programando hasta hace unos minutos. Aprovechando que hoy es festivo, me he levantado como si fuera día laborable... bueno, un poco más tarde, que anoche me dieron las tantas despierto :D Le he dedicado casi todo el día a implementar la IA de los secuaces del jefe final del nivel. Sí, más momias, pero estas, aunque comparten gráficos con las de los niveles anteriores, se comportan de forma radicalmente distinta a aquellas, de hecho, ignoran todas las leyes de la física (total, ya ignoraban las de la vida y de la muerte :D ). Me ha llevado horas conseguir que funcionen con una IA demasiado simple, pero creo que van a dar suficiente juego, especialmente si se sube el nivel de dificultad :D

Ya por hoy, estoy mentalmente cansado, y no sé si me dará tiempo a haer alguna cosa más, pero por lo menos, una de las tareas complicadas está tachada de la lista.
La siguiente es averiguar cómo hacer para que un tile sepa que el prota ha andado alrededor suyo :p
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Buenas de nuevo:

Cualquiera diría que echo de menos el trabajo durante el puente, viéndome programar :D (espero que no :S).
Ayer le dediqué un rato a una de las animaciones más complejas que he hecho hasta la fecha... que viendo lo que es, no dice mucho a mi favor :S Bueno, el caso es que, si probásteis la última versión, habréis visto que se añadió lava como amenaza para el juego. La lava incluso estaba animada, pero claro, era una animación muy simple, en plan olas, y daba la impresión más de ser agua que otra cosa. Bueno, pues estoy trabajando en eso. Ya ralenticé la animación un poco para que parezca más espesa, pero es que ahora la estoy haciendo más burbujeante. Pues sí, estoy animando burbujas que crecen, se mantienen un par de frames y explotan. Tengo que añadir varias de esas burbujas, y hacerlas de diferentes tamaños.
Lo bueno es que en esta ocasión tengo una herramienta que me está ayudando mucho, llamada "Piskel". Permite crear animaciones, seleccionar los colores en una paleta interna, trabajar con capas... todo con herramientas muy sencillas, pero que me están facilitando el tener las cosas bien ordenadas, y no estar con 16 ventanas abiertas.

Hoy le he dedicado una hora y pico al código, concretamente a algo que programé hace tiempo y no tuve la oportunidad de probar: puentes y suelos que se abren al disparar a un botón. Naturalmente, el código falló... pero no por el código en sí: he detectado un fallo que no se había dado hasta ahora, y es que cargaba los gráficos del scroll después de iniciarlo. Esto se hacía así porque hay algunos tipos de mapas de tiles que pueden cargar su propio FPG, pero como no es el caso, me he podido permitir hacerlo al revés de lo normal. ¿Cuál era el problema? Que en el primer frame, el scroll tileado generaba distintos procesos que se quedaban "huérfanos" (dependían del proceso de control), estos eran las puertas, puentes y demás, y al generarlos se les asignaba el file del tscroll, que en ese momento está a 0. Al cambiar el orden, el FPG se carga y pueden ser asignados a estos procesos.
Ya sólo me queda generar los correspondientes tiles, y añadirlos al nivel, y ya tendremos una nueva mecánica jugable.

Poco a poco, pero vamos avanzando... salvo por la parte del boss, que aun no sé cómo plantear lo de rodear los tiles.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Esta entrada que estoy escribiendo, bien podría haber sido una edición en el mensaje anterior, porque tan pronnto como terminé de escribir aquellas líneas, se me encendió la bombilla :D
Le había estado dando muchas vueltas a cómo hacer lo de rodear los tiles: si usar una función con la posición del tile, si que fuera el propio proceso tile el que se encargara de la comprobación, si leer el mapa de durezas, el mapa visible, si usar un array bidimensional privado... En todas y cada una de las ideas encontraba un problema, como pérdida de rendimiento, o que en los mapas de tiles había datos que no podía escribir porque ya había un dato importante para el prota.

La solución fue crear un array bidimensional privado, del mismo tamaño que el mapa de tiles (que tampoco es que fuera muy grande) y hacer las comprobaciones en el mismo proceso. Las comprobaciones se harían cada vez que el prota cambiase de tile, y sólo a aquellos suficientemente cerca del nuevo tile (antes lo planteaba al revés, si eran los tiles los que estaban suficientemente cerca del prota, o dentro de un rango de alcance... bueno, no me voy a enrollar porque si tengo que hablar de todas las ideas rechazadas podría escribir tres capítulos de un libro de algoritmos de programación :D)

El caso es que pude implementarlo esa misma noche, en apenas una treintena de líneas, y probarlo al día siguiente (y por spuesto corregir los 40 fallos tontos que había cometido). Ya casi está la parte jugable del boss terminada, al menos, un boceto, pero lo suficiente como para comprobar que va a ser divertida, o casi tanto como el juego original (aunque con un giro diferente, como pasó con el boss del Pang, al poder saltar y disparar de lado :D).
Lo que pasa es que, como al juego original, rodear los tiles no basta, el jugador necesita feedback, y si no marco las casilla por las que ya se ha pasado, la tensión puede desquiciar a los jugadores más impacientes. Y en eso estoy, generando las "marcas", nuevos gráficos que no estaban previstos, que me están quedando muy bien... y que no consigo que se vean, no sé por qué.

He cargado el FPG, se hace de forma correcta, he asignado el file adecuado, los graphs están bien... de hecho, funcionan si le pongo otro FPG cargado al mismo tiempo, pero es como si el que le estoy pasando no le gustase, y no entiendo el por qué.

En fin, hoy ya había programado mucho, cosas muy complicadas de C# y Xamarin, y sólo le dediqué poco más de media hora, no estaba de ánimos para seguir depurando cosas, así que espero poder corregirlo mañana, si la horda zombie que inunda las calles no se comen mi cerebro cuando salga a comprar :D
Voy a acostarme, a ver si descanso algo, que llevo sueño retrasado.

Que descanseis.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Bueno, de momento quiero informaros que el desarrollo va avanzando, poco a poco, pero van saliendo cosas.

Antes que nada, decir que al poco de escribir las líneas anteriores, empezaron a rondarme sospechas de por dónde podía venir el fallo. En esta ocasión no tenía nada que ver: el FPG estaba bien construido, se cargaba... pero en cuanto puse un par de SAYs ya cantó el fallo.
Cuando digo que para hacer debig no se debe dar nada por sentado, quiero decir nada, ni siquiera que 1+1==2. Efectivamente, el FPG cargaba, pero el FILE que se le asignaba a los nuevos procesos no era el mismo. Fue entonces cuando caí en la cuenta de que había dos FPG que estaban guardando su ID en la misma variable. En cuanto creé una nueva, todo resuelto.

Bueno, de vuelta al tajo, he seguido haciendo las marcas que mencionaba anteriormente. Necesitaba un buen número de ellas, para evitar la monotonía, y además quería darles un efecto guay, por lo que además de crear 11 gráficos de 16x16, tuve que utilizar GIMP para decorarlos un poco.
Por otro lado, necesitaba más gráficos para el boss, y con eso he estado. Me he pasado más tiempo con Paint y Gimp que con Notepad++. Incluso hace unos minutos estaba desarrollando más gráficos, y es que este boss está tomando ya la envergadura de un juego en sí mismo, corto, pero prácticamente un juego dentro del juego, y algunos nostálgicos lo van a agradecer, sobre todo por el cambio de mecánicas :D

Además, dado que todo se ambienta en Egipto, he tenido que documentarme y dar un curso acelerado de jeroglíficos... más que nada, porque conozco a cierta "egiptóloga", que si no hago las cosas como Ra manda, me pega :D :D :D
Me ha servido para poder ir haciendo algunas de las decoraciones. De momento de parte de la sala del boss, pero confío en que pueda usarlos a continuación en el nivel 4-3.

Además, un colega, que voy a tener que añadirlo a los créditos por su labor de testeo, me ha pasado algunos SFX que me van a hacer falta, aunque no sé si usaré esos o si podré currarme una versión propia.

En fin, que esto me está tomando mucho más tiempo del que pensaba. Creía que podría tener el nivel terminado en un mes, y toda la segunda temporada estaría para finales de este, pero bueno, aun estoy así, y tampoco le puedo meter mucha más prisa, al fin y al cabo, esto es un hobby, no me pagan por ello. Aun quedan 4 bloques importantes que programar para terminar el boss, y la mitad del nivel 4-3, al que tengo que añadir nuevos elementos jugables, los tiles decorativos, y pensarme qué enemigos quiero meter además de los dos o tres que ya están.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

blostec

Buenas Drumpi, ya lo he descargado y luego lo pruebo. Veo que sigues el desarrollo después de tantos años tiene mucho merito. Felicidades y gracias por tu trabajo. karma up. Saludos!

Drumpi

Muchas gracias, blostec. Ya me contarás qué te parece el juego y en qué se puede mejorar.
Ya lo del mérito... :D Cuando tienes a dos o tres personas diciéndote "vamos a hacer un juego como el Echo pero sin Echo" al final terminas por seguir con el Echo :D

Pero me alegra ver que no soy el único que se pasa de vez en cuando por el foro :D

Volviendo al meollo... lo siento pero, sin comentarios. Este fin de semana no me he puesto con el ordenador. Me han surgido un par de problemas que he tenido que ir resolviendo. Uno ya no está en mis manos y el otro estoy a la espectativa :P
He intentado seguir con los gráficos. Al no ser grafista, me cuesta mucho ir rápido con ellos, y si mi estilo ya es minimalista... Y es que ese es el problema, estoy en una fase que, intente hacer lo que intente hacer, me encuentro con que necesito gráficos ¿El boss 4? Gráficos ¿El arma para derrotar al boss 4? Gráficos ¿Las plataformas que aparecen y desaparecen? Gráficos ¿Más del nivel 4-3? Gráficos ¿Los gráficos de los tiles que se rompen al pisarlo?...
Lo único que puedo seguir haciendo sin gráficos es debug de algunos fallos en la detección de durezas, pero para dureza lo que estoy haciendo en el trabajo, que a pesar de estar copiando código, no responde y ¡¡AAARGH!!

En fin, necesito un respiro. Voy a darle un poco de oxígeno al proyecto y lo iré retomando cuando pueda, y cuando mis neuronas me lo permitan. Quería haberme puesto hoy, que es fiesta local (la cancelada Feria de Abril) pero como siempre, hay una lista de tareas ajenas a mi pendientes de mi tiempo. A ver si este puente puedo hacer algo.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)