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

Perdón por el silencio de... ¿radio? Bueno, el caso es que tampoco hay mucho que contar, porque estos días he estado muy liado por temas ajenos, ya no sólo del trabajo.

Pero vamos a lo que importa.
Sí, finalmente empecé a probar las colisiones, y por supuesto, no funcionaban, así que me tiré un buen rato intentando ver por qué fallaban. Cuando lo hicieron, pues me dio por ponerme con la rotura del bloque: hice una animación sencilla, básicamente creé cuatro procesos que eran lanzados en 4 direcciones, a los que les afectaba la gravedad, y al llegar a la parte de abajo de la pantalla, desaparecían. Hice algunas pruebas, con diferentes tamaños, diferentes velocidades y diferentes velocidades de rotación y quedó algo curioso, mucho más vistoso que el que desaparezcan los tiles sin más.

Hablando de lo cual, y después de ajustar mejor los tamaños de las explosiones, me puse a probar qué tal se manejaría el lanzamiento de bombas. Creo que ya lo expliqué antes, pero tengo problemas con la carga del disparo, porque el teclado no me permite usar Z, X y dos cursores al mismo tiempo, lo cual es extremadamente problemático. Tengo que darle una vuelta a eso y buscarle una solución cuanto antes, porque si no, voy a tener que prescindir de la fuerza de lanzamiento.
Pero a pesar de eso, estuve probando con una pared de ladrillos, y hay una jugabilidad interesante ahí, teniendo que saber cómo romper los ladrillos, y teniendo puntería, para poder hacer escaleras, pasadizos... me ha molado, y me ha traído recuerdos del Tails Adventures.
De hecho, si os acordáis, ya mencioné que había desarrollado otra bomba antes que la de ahora, que me había salido por accidente. Pues si hago que se pueda detonar con una segunda pulsación del botón de disparo, pues tenemos las bombas remotas, y eso da muchísimo juego. Me gustaría poder añadirlas más adelante como las "Fox bombs" o algo así.

Poco más he hecho dese entonces. He podido comprobar que los disparos normales también me habrían servido para romper las paredes (en un análisis previo, me decía que no, que estos colisionaban con la pared y perdían la energía antes de ser detectados por el tile). He hecho algún ajuste extra y ya está. También he estado investigando diversas animaciones de explosiones, para diseñar un par de ellas para los niveles 1 y 2 de la explosión, y dejar, de momento, la que ya tengo para el nivel 3.
Lo cierto es que ahora no sé por dónde seguir, porque tenía pensado que el arma para derrotar al boss 4 también se disparara cargando el disparo, pero visto lo visto voy a tener que rechazar la idea. En fin, ya veremos.

De momento tengo que terminar un par de cosas, puede que esté sin escribir unos cuantos días. Ya os contaré entonces cómo va la cosa.
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)

Gabysantof

Hay alguna demo de este proyecto? Para los curiosos jeje

Drumpi

Buenas de nuevo:

He tenido que darle otro parón al desarrollo... y a venir al foro ^^U Cuando el trabajo se pone intensito...
Bueno, antes de enrollarme: demo no, lo que hay es versión completa en mi página de GameJolt, la 1.3.algo (recordemos que estoy intentando crear la 1.4)
https://gamejolt.com/games/the-amazing-adventures-of-echo/170481

A ver, que por qué este parón... Bueno, este verano no he tocado el ordenador, como hago todos los veranos (y qué bien me ha venido), y a la vuelta, pues tampoco había ganas ^^U. No, pero el motivo principal ha sido que, como todos los años, debo terminar un juego paperactivo, y esta vez me he propuesto acabar uno que empecé en el lejano 1990 y muchos, junto con un colega: una cosa a medio camino de un GTA y un juego de rol de Mortadelo y Filemon. A día de hoy, el juego base está acabado, pero aún me queda una semana para añadidos y otras cosas que he querido mejorar en estos años (minijuegos para ganar dinero, más NPCs...).
También he medio metido un proyecto para hacer un vídeo sobe cómo construiros una Game Paperactiva 2, una consola de cartón que hará las delicias de vuestros hijos e hijas. Ahora mismo está grabado todo el proceso y el guión escrito. La semana que viene me pondré con el "voice over" y la edición.


Bien, respecto al juego, pues buenas noticias: parece ser que si en lugar de usar los botones Z y X para el salto y el disparo, uso X y C, ya no tengo el problema de la carga del disparo, por lo que puedo seguir el desarrollo, tan pronto como cambie los botones por defecto en PC (y guarde mi nueva configuración :P).
Por lo demás, no hay más que contar. Puede que alguna noche haya puesto un par de pixels en la animación de la lava, pero poco más.

Vienen días de poca actividad en este sentido: temporada alta en el trabajo, las visitas navideñas, terminar el vídeo, y ya veremos si no hay otro proyecto paperactivo metiendo baza también. De todas formas, intentaré dedicarle algún ratillo los fines de semana. Ya os iré contando.
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, voy a actualizar esto un poco, que está muy desangelado :D

Ciertamente, en este tiempo no he podido avanzar con el Echo, se me han juntado varios factores que me lo han impedido.
Para empezar, como siempre, el trabajo, que parece que en Navidades vamos a tener una temporada tranquila, especialmente yo, que me dedico al desarrollo y no suelen pedir nada nuevo para esta época, pero se han juntado una serie de tareas urgentes con un desarrollo que he tenido que acelerar para solucionar otros... total, que me tienen trabajando al 110%
Por otro lado, como ya comenté. este verano y otoño se ha despertado mucho interés por la "Game Paperactiva 2", una "consola" de cartón que hice para algunos de mis juegos paperactivos, y que ha gustado a algunos chavalines y padres ociosos, así que decidí hacer un vídeo de cómo se hace. Quiero mantener el vídeo lo más sencillo posible, pero ya sabéis, yo soy yo, y si no me complico de una manera u otra, pues no estoy tranquilo. Por cierto, ya llevo la introducción, los materiales y las medidas, estoy por la parte de los cortes, a falta de la pantalla, el doblado y las conclusiones, aunque constantemente vuelvo atrás para hacer revisión... y aún no tengo ni una música de fondo ^^U

Pero bueno, al menos hay alguna novedad. No quiero dar falsas esperanzas a nadie, pero estoy haciendo pruebas a un "port" que ha hecho SplinterGU para una beta de BennuGD2, y de momento pinta bien, quitando algunos detalles, fruto de ciertos comportamientos que han cambiado de una versión a otra, pero me parece increíble que un juego tan ¿complejo?, bueno, más bien "completo", funcione al 98% sin muchos cambios (o al menos, es lo que parece). Quizás es demasiado prematuro decir 98%, pues apenas he podido avanzar una pantalla del juego. Ya iré informando... a SplinterGU :D

En cuanto pueda terminar con el vídeo, a ver si le puedo dar un empujoncito más al juego.
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)

SplinterGU

maravilloso! (la version de bennugd2, es oficial, en desarrollo...)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Bueno, tras varias pruebas con la versión modificada del Echo que ha hecho Splinter, he podido sacar algunas conclusiones:

Primero, el juego (en la segunda versión que me ha pasado Splinter) funciona casi perfectamente hasta donde he podido probar. Hubo una primera versión en que los "fades" fallaban, porque los hago "a mano" (empleo una imagen pintada en negro, para distintos efectos de transparencia, como que la pausa deje el juego más oscuro pero no en negro), y es que el color 1 ya no es el negro opaco, al cambiar los colores de RGB 565 a RGBA 8888 (ya no hay modos de color de 8 o 16 bits). En la última eso está corregido.

Segundo: que hacer un port no es algo que se pueda hacer de forma directa. Hay cambios en los tipos de dato (los antiguos INT eran de 32, los nuevos son de 64), en el manejo de las posiciones en pantalla (ahora se usan decimales), en la gestión de controles, hay que crear una gestión de rutas (las partidas las guardo en la carpeta /save junto a los binarios del juego, pero por lo visto, algunos sistemas exigen el uso de una ruta específica de usuario), y la que peor me ha sentado, hay que reescribir todo el tema de colisiones.

El juego usaba collision. Bueno, primero comprobaba si había algo lo suficientemente cerca para hacer colisión, y luego hacía dicha comprobación. El caso es que las colisiones eran "pixel perfect". Eso, en BennuGD2 ya no existe, y las colisiones se hacen en base a primitivas, por tanto, en el port se estaban usando colisiones cuadradas con el gráfico, lo cual, en el 90% no es problemático, porque eso significa una caja de colisión mayor para eliminar enemigos... pero también para que te hagan daño por contacto. No suele ser un problema porque los gráficos están bastante ajustados, pero en lugares donde te tienes que situar entre dos enemigos muy juntos es especialmente problemático.
Donde la cosa se vuelve crítica es con los jefes. Usan sprites enormes, y la mayoría con formas irregulares, con huecos y salientes, y que el gráfico entero sea una caja de colisión es injusto para el jugador.
El peor caso se lo lleva "Gravor", el dragón de la pantalla 1-3: para acabar con él, hay que dispararle al interior de la boca, hasta que sufre el suficiente daño como para que levante la garra y deje su torso al descubierto. El caso es que la boca tiene un par de gráficos invisibles (alpha = 0) que hacen de barrera, e impiden que pasen los disparos al interior de la boca, que tienen la forma de la parte exterior del hocico. Pues al usar todo el gráfico, al abrir la boca, los disparos hacen colisión con la parte "no pintada" de las durezas, y evitan que alcance el interior de la boca, por lo que nunca sufre daño, nunca levanta la protección, y el jefe se vuelve invencible... que ha sido lo más lejos que he llegado.

"Bueno, pues lo corriges y ya está".
Ojalá fuera tan sencillo. Actualmente estoy en mitad del desarrollo de la versión 1.4, y la que ha usado Splinter es la versión que se lanzó para el aniversario, por lo que hay muchos cambios que no están en el port, así que, para empezar, tengo que terminar la v1.4 antes de pensar en hacer un nuevo port.
Por otro lado, ya dije que intentaría que el juego fuera aún compatible con Wiz (ya que fue la plataforma objetivo desde el inicio), y a  día de hoy, BennuGD2 no es compatible, lo cual es problemático para mi. He estado preguntando en GP32Spain, y sí que parece que hubo una SDL2 para Wiz, porque en una lista de compatibilidad (no sé si oficial) se dice que "fue compatible en algún momento", pero no sé si sigue en mantenimiento. Habría que preguntar en los foros de OpenHandhelds, que es donde están los de Pandora, y el que creo que hizo el port de SDL2 a Wiz.

Bueno, para ir concluyendo, he hablado con Splinter, y se le han ocurrido un par de ideas que podrían mejorar el rendimiento del scroll tileado. Intentaré implementarlo lo antes posible, antes de que se me olviden, y a ver qué resultados obtengo, pero como digo, estoy muy liado últimamente y apenas tengo tiempo ni ganas. 
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)