Bennu Game Development

Foros en Español => Proyectos => Mensaje iniciado por: Drumpi en Junio 12, 2016, 11:30:54 am

Título: Echo v1.4: road to season two
Publicado por: Drumpi en Junio 12, 2016, 11:30:54 am
Hola a todos:

Acabado el Tilemap Editor 2 (o al menos, dado por "finalizado", de momento), antes de entrar en el periodo "entre proyectos", he decidido darle caña a un juego que lleva ya demasiados años en desarrollo, y que sólo pretendía ser un aperitivo para el juego de verdad.

El juego: "the amazing adventures of Echo". Objetivo: completar los tres niveles diseñados inicialmente, acabar el nivel extra creado en exclusiva para la versión 1.3 (la del concurso del hamster), y reordenar todo el código para dejarlo listo para "Doggy!!!".
Así que hoy empiezo otro worklog en el que iré diciendo los avances que vaya haciendo sobre el código, e iré subiendo a este mensaje  las betas que vaya completando. Así que empezamos.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 12, 2016, 12:21:39 pm
Día 1: el momento de más ilusión de todo el proyecto, mezclado con el de más terror. Aunque el último día del desarrollo es el que más alegría da por tener el producto terminado, y el de más miedito es el día previo por la presión del tiempo, el primer día es una mezcla de ambos difícil de definir. Por un lado te has propuesto dar vida a algo nuevo, algo que llevas días, semanas e incluso meses preparando, y sabes que va a ser genial, tienes todas esas ideas en la cabeza, y sabes cómo quieres que quede, pero justo cuando te sientas delante del ordenador, comienzan las dudas, los sudores fríos, no sabes por dónde empezar y ves una montaña de trabajo del tamaño del Everest.

Pues en eso estoy.

Antes de empezar me he marcado una hoja de ruta, que espero poder seguir... más o menos. Quiero desviarme cuando el trabajo sea demasiado agobiante, e ir avanzando trabajo que no tenga nada que ver con lo que estoy haciendo, porque por suerte, hay trabajo de limpieza, programación, gráficos, diseño y música.

El primer paso es coger el código del Echo y reordenarlo. Aquellos que hayan tenido la osadía de leerlo, habrán visto que todos los ficheros de código están en la carpeta raiz, algo que en su día consideraba correcto porque no sabía compilar el código en otras carpetas. Hoy ya se hacerlo manteniendo sólo el prg principal y el bgdc.import.
Luego está el separar aun más el código porque cuando empiezas es normal tener 15 ficheros de código, pero lo he estado revisando y hay ficheros con más de 1000 lineas y más de 15 e incluso 20 procesos/funciones. Así que me toca reidentarlo todo, e intentar separar, por ejemplo, los eventos del código de los bosses, y agruparlos por niveles. O esas funciones que están en ficheros tipo game_generic.inc en separarlas si son de sonido, de carga de recursos, de búsqueda de enemigos...
Y finalmente volver a cambiar el sistema de carga de niveles, para que sea más modular y menos dependiente de lo que contenga el nivel (es decir, que dentro del switch del load_level, cada case no tenga más de 10 líneas).

Para el juego tengo previstos tres grandes cambios:
El primero es intentar cambiar el motor de scroll tileado por otro más rápido. Ya lo he comentado otras veces, que tengo en mente uno basado en dibujar en un mapa cíclico, y espero mejorar el rendimiento al menos un 30%, porque quiero que funcione fluido en Wiz sin overclock, y tener potencia de sobra para añadir nuevas cosas.
Eso nos lleva al segundo cambio: estaba previsto que la v1.3 tuviera fondos de scroll, e incluso scroll en primer plano... De hecho estaba previsto desde la v1.0, pero primero por falta de tiempo, y después por falta de potencia, no se ha añadido. También quería poder cargar los enemigos antes de empezar el nivel, o al menos, en bloque, para poder sincronizarlos, porque aquel que haya llegado al nivel 1-4, habrá visto que hay unos 8 "solecitos" juntos que, en teoría, deberían subir y bajar a la vez, pero como dependen del scroll tileado para ser creados... Y otro añadido gracias a la potencia extra sería una segunda capa a los mapas de tiles, porque hay partes del castillo del primer nivel, o de las pirámides del cuarto, que mejorarían muchísimo si se pudieran poner paredes detrás para que contrastasen con el fondo.
Y el tercer cambio es... ¿os habeis fijado que he llamado al nivel de Egipto "cuarto nivel"? Desde la versión 1.0, la fase "2012: alien invasion" siempre ha sido la tercera fase que se iba a desarrollar (aunque fue incluso la primera en tener parte del mapa y los gráficos ^^U). Pues esa es la idea: terminar el nivel de "Egipto" (porque la tercera pantalla, aun no desarrollada, es el verdadero núcleo del nivel) y crear esa "fase 2", que cambia el desarrollo plataformero ligeramente... aunque me estoy planteando ampliar la parte de las pirámides y crear un nuevo nivel en el que Echo luche contra momias y dioses egipcios mientras se abre paso hasta la cámara secreta que contiene la entrada a las cuevas que ya habeis visto y... No, me voy a guardar la sorpresa :D

También le quería dedicar tiempo, si es posible, a corregir el código del detector de durezas. Tiene un par de fallos que a más de uno os habrá hecho tiraros de los pelos, como intentar saltar a un pasillo de poca altura y no poder entrar hasta el tercer  cuarto intento, esos saltos frenados lateralmente por el techo, o los teletransportes contra las paredes cuando estábais cayendo.
Y añadir algunos detalles más, como mostrar los nombres de los bosses antes del combate.

Y una vez terminado ¿qué? Bueno, lo primero lanzarlo al público, como siempre. Versiones para Windows, Linux, Wiz/Caanoo y, si cabe, GP2X. Es posible que salgan otros ports, pero dependerá del tiempo, del HW disponible y/o de la colaboración ciudadana. Quería también subirlo a GameJolt, para tenerlo con el resto de proyectos, y de paso, probar su nueva función de compra. Don't panic, mi idea es ponerlo con donación voluntaria, ya que cada uno valore el esfuerzo.
Y si el tiempo me lo permite, iniciar una campaña de crowfunding, usando este juego como reclamo, para desarrollar finalmente "Doggy!!!" como un juego comercial. Usaría el mismo motor, pero el juego estaría más orientado a seguir una historia, más en la linea del Cave Story original, pero manteniendo las plataformas, los puzles y los disparos. Probablemente, si tiene el éxito que quiero, podría contratar a gente para que me eche una mano, porque necesitaré a alguien que me ayude con los gráficos, y me gustaría pagarle a Caleb por su música.

Es muchísimo trabajo, ahora que lo he escrito, pero bueno, como siempre digo: "...pero hay que intentarlo". Poco a poco.
La limpieza del código me puede llevar de una a tres semanas, y la reestructuración creo que un par de semanas más. Con eso hecho, poco habrá que programar (enemigos, bosses y cosillas sueltas). Corregir los fallos va a ser lo más duro, pero va a ir entre medias. El grueso del trabajo se lo va a llevar los gráficos y el diseño de niveles. Una vez terminado el nivel 4 como estaba planeado en la v1.4, sería cuestión de seguir con el nuevo nivel de Egipto o el nivel 2, ya se irá viendo.

En fin, de momento, ya he reorganizado la carpeta del proyecto: he copiado lo que tenía hecho, he organizado los contenidos extra en otras carpetas, he sacado los gráficos temporales a una carpeta de desarrollo de gráficos, y ya tengo los ficheros de código dentro de la carpeta src con sus respectivas subcarpetas. Empieza la reescritura. Deseadme suerte ^^U
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 12, 2016, 06:59:12 pm
Acabo de empezar y ya me he llevado la primera en la frente :(

He podido reidentar y ordenar unos cuantos ficheros: el sistema de música, el de los logos al principio, e incluso he separado un par de includes en cuatro diferentes cada uno (no sé por qué tenía el código de los logos en el mismo fichero que el de los créditos y la pausa).
Pero cuando me he puesto a probar los créditos porque había una cosa que no entendía bien del código, me ha surgido un fallo catastrófico, de esos de ventanita de Windows y de que se cerrará, con código de excepción c0000005 (que no sé cuál es).
He revisado el código y no se hace nada raro, en ese momento sólo hay 3 procesos de control activos, el de los créditos, y 20 que muestran los gráficos de los créditos. Pensaba que era cosa de la música pero no.
Entonces he probado con Bennu r263 y no se ha producido ningún error.

Os subo el pedazo de código que supuestamente da error, a ver si veis algo que yo no, y si no, puedo mandarle el proyecto a Splinter. Sí, se que está sucio, pero por suerte la parte de los créditos es un acceso casi directo (logos, menú, y ya los créditos), y ya más o menos esa parte está saneada, pero cualquiera diría que es aquel famoso bug gráfico que apareció en las últimas versiones de Bennu, porque por punteros no es: hasta ahora no he visto ninguno (y debería haber usado ya al menos un par, la verdad).
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 15, 2016, 12:55:50 am
Diario de a bordo. Fecha estelar 518.191 cuarto y mitad:

Cuando me embarqué en esta misión, sabía que sería larga, que debía armarme de paciencia, y trabajar sin ninguna prisa ni atisbo de nervios. 45 ficheros de código comenzaron la misión, 54 son ahora y 30 me ha parecido contar que ya he reidentado. Pero no nos engañemos, 54 son ahora, pero muchos más van a ser al final, esta plaga está lejos de ser controlada y pronto se van a reproducir siendo muchísimos más.

De momento está siendo una tarea sencilla, pues de los menús y los créditos poco tengo que cambiar. Algo si voy a tener que alterar respecto a los ficheros de guardado, que hasta ahora almacenaban el nivel y la pantalla donde se quedó el jugador en el último punto de salvado, pero la futura inclusión de puntos de guardado va a cambiar esto, porque si antes los niveles tenían nivel y pantalla o nivel y punto de guardado, ahora van a ser tres los datos que voy a necesitar almacenar... y va a ser mejor así, es más homogéneo, pero también va a requerir cambiar bastantes cosas del comportamiento de algunos eventos y de la carga. Y si definitivamente añado elementos de muerte instantánea (pinchos, caidas o aplastamientos), tendré que añadir a la muerte la habilidad de encontrar el último checkpoint de salvado y retroceder el nivel hasta ese punto.

Pero en nuestro camino ya nos hemos encontrado con dos agujeros negros. Uno de ellos ha sido PUT_SCREEN, que no ha querido centrar las imágenes que le pasábamos, y ahora parece que una función interna está provocando un acceso no válido, que es responsable de que no pueda ver funcionar los créditos si uso pantalla a doble resolución.
Estoy replanteando seriamente downgradear la nave a la anterior revisión estable que dispongo, la r265, si el ingeniero de máquinas, maese Astilla, no encuentra solución, porque esto tiene que seguir adelante.

Estoy a punto de entrar en las aguas más turbulentas de la misión, los procesos más tochos de todo el código (el prota, los eventos y los bosses) y los más delicados (la carga de niveles, que contienen muchas inicializaciones, y necesitan una reescritura A FONDO), por lo que todo va a ir más despacio y los ficheros se van a multiplicar una cosa bárbara.

La hoja de ruta sigue en pie. Daba como mínimo una semana, y aun no es Sábado, pero seguramente necesite esas tres semanas para una buena limpieza.
Del desarrollo nuevo aun no he hecho nada, estoy viendo si tengo que tocar algo del código, pero de momento no he pasado de crear valores constantes. En un futuro necesitaré alguien que compruebe que no se ha roto nada con la limpieza, así que si hay algún voluntario para hacer de betatester, que se lo vaya pensando, preferiblemente alguien que conozca el juego y se lo haya pasado alguna vez.

Por mi parte, cierro el diario por hoy, voy a reponer fuerzas, y mañana otro ratito más de limpieza, a ver si hago tres o cuatro ficheros más.
Título: Re:Echo v1.4: road to season two
Publicado por: SplinterGU en Junio 15, 2016, 12:59:18 am
veamos a ver si podes mantener la nave upgradeada
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 17, 2016, 06:46:20 pm
Enésimo día desde la invasión zombie:

Los ánimos en el bosque andan decaidos. No hay señales de vida más allá de los árboles desde que la noria de la feria acabó por los suelos por circunstancias misteriosas, los zombies escasean, Ramón se esconde para evitar ayudarme en la caza y la tia buena aun no ha sacado la ropa de verano.

Lo cierto es que escribo tras una maratón de casi tres horas de "limpieza" sin pausa, habiendo dormido apenas 6 horas justo antes de una mañana de paseos por la ciudad, así que el aire es un poco menos alegre del habitual.
Sí, con el Echo sigo de limpieza. He cogido el código detector de durezas de los enemigos, y he convertido unas 2000 lineas y pico en 4 ficheros de unas 500 de media, y uno más que los "incluye" a los 4; eso me simplificará navegar por este código para arreglar cualquier problema. La pega es que el prota tiene otro trozo de código muy similar (casi un copia y pega), y eso va a ser un día y pico de modificar código.

Así que me lo he saltado. Estoy con el fichero de enemigos, que contenía unas 4000 líneas de código (¿o eran más?) con unos 21 procesos diferentes, que están acabando en ficheros separados. Algunos enemigos sólo necesitaron 100 líneas (mas el include de la detección de durezas, si usaban físicas), pero otros como el guerrillero o la araña han sido más de 400/500 lineas de código :S
La buena noticia es que ya me quedan 5 enemigos por sacar del fichero (entre ellos, el super guerrillero, otro mastodonte de código), y que he podido optimizar algunas cosillas sin importancia, pero que espero ayuden a darle al juego ese empujoncito extra de cara a los 50fps estables.

Y ¡POR FIN! ya le he añadido la señal para indicar cómo coger los objetos. Llevaba queriendo implementarlo desde la primera versión, pero por una cosa u otra, siempre se ha ido retrasando y no lo ponía. Aprovechando que limpiaba los procesos de los items, le he añadido unas 4 líneas que controlan la creación y destrucción de este indicador, que es un proceso nuevo que cambia entre 2 gráficos, mientras sigue al prota. Los gráficos no son nada del otro mundo, pero creo que son suficiente para saber que hay que ulsar abajo :D

A ver si termino con los enemigos y me puedo dedicar a otros dos ficheros mastodónticos: los eventos (aka "el fichero gordo que incluye eventos, jefes de zona, y alguna función de salvar en plan cutre y matar enemigos atrasados para mejorar rendimiento") y el fichero del prota.
Después de eso no debería quedar mucho por limpiar. Serían los procesos que llaman al nivel, las armas del prota y poco más. El primero puede ser un problema porque es el que tengo previsto modificar entero, no me gusta el sistema de almacenamiento de los FPG_ID en memoria, ni cómo se llama al nivel, y aun tengo que hacer la separación entre sub-niveles y checkpoints, pero estaba esperando a tener todos los ficheros abiertos en notepad++ para poder hacer las búsquedas de variables cómodamente.

Y quedo a la espera de la nueva revisión de Bennu para probarla, aunque no sé si tendré ánimos de hacerlo en la Wiz ^^U

En fin, por hoy voy a dejarlo, que estoy cansado y oigo lamentos quejumbrosos de hambre, no sé si hay un pequeño batallón de "come-sesos" con ganas de tragar plomo, o es el "Chuache" que se está quejando de nuevo de cenar alubias en lata. ¡RAMÓN!
Título: Re:Echo v1.4: road to season two
Publicado por: SplinterGU en Junio 18, 2016, 01:55:46 am
vamos a ver si preparo el entorno y compilo la ultima revision.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 20, 2016, 05:13:21 pm
Pues nada, parece que tengo un virus y... no, el ordenador está bien: con Drumpi dentro no se acercan a menos de 40000mm. Soy yo, que parece que el día de "carpintería creativa" no me abrigué bien, y entre el fresquito que hacía y que estuve sudando, pues... Hoy es el día que más fuerte me está pegando...

Pero no hablemos de mi... Hablemos de lo que hago, o intento hacer.
A pesar del dolor de cabeza y el malestar general, he conseguido hacer limpieza de las más de 2000 lineas de código del prota. De nuevo he separado la lógica de detección de durezas del código principal en 4 "cómodos" ficheros. Y como bonus, el código de las armas del prota, las colisiones de los disparos (bastante sencillitas, porque van en línea recta) y los tiles animados... Sí, había tiles animados ¿no habeis visto las fabulosas cascadas del final del nivel 4-2? ¿no? ¿ES QUE NADIE SE HA PASADO EL M...?

...(Ufff, mi cabeza). Bueno, pues estoy con el fichero de eventos ¡Mi madre! 4000 líneas. Ya he separado el código de Ghyppo... el hipopótamo fantasma del nivel 1-3, y estoy teniendo problemas con el dragón: entre la gripe y sus más de 1100 líneas, con mucho código que reidentar, se me pasan horas sólo con este bicho. Estoy viendo que hay mucho código repetido entre sus 6 estados * 4 sub-estados (de media), pero no sé si de verdad está repetido, hay ligeras diferencias, y no quiero cargar más el código añadiendo comprobaciones extra o llamadas a funciones con posiblemente 10 parámetrs o más :S Al menos no hasta que se me pase la gripe y tenga ya el código listo para trasterar con comodidad.

Ya he alcanzado los 97 ficheros en la carpeta SRC, y aun me quedan 3 jefes más dentro de los eventos (aparte de los propios eventos), teóricamente me faltan 12 ficheros por limpiar, pero también me quedaban 15 hace tres días y tenía 80 y pico ficheros de código.

COF, COF. Seguiremos informando... mientras queden aspirinas.
Título: Re:Echo v1.4: road to season two
Publicado por: Fede en Junio 20, 2016, 07:33:28 pm
Drumpi, te tengo dicho que no dejes la medicación.  ;D

Por lo demás tómatelo con calma. :)
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 22, 2016, 01:04:14 am
Bueno, no hay mucho que contar, pero no tengo sueño (bueno, un poco sí, UUUUAAAAHHHHHZZZZZZ!!!!!!)

Pues nada, los bosses ya están cada uno en su rinconcito. No veas con el dragón de la leche, he tenido que separarlo en dos ficheros y aun así uno de ellos no ha podido tener menos de 700 líneas.
También he separado los eventos, incluso me ha dado por coger el evento 3-1 (el de las naves) y separar el código en otro de boss, que hasta ahora, ese combate era tratado en el programa como evento, no como mid-boss.
He estado repasando los includes que me quedan por limpiar, y me queda la carpeta de selección de nivel y el include principal que controla el desarrollo de la partida normal (aka game.inc), porque esta tarde le he metido mano al motor de scroll tileado. Era una versión antigua, pero no hay grandes cambios entre una y otra: funcionar funciona, y tengo aun previsto cambiarlo por el motor que tengo que arreglar.

De todas formas me he dado cuenta de que probablemente gran parte del rendimiento se me esté yendo en un enorme SWITCH que tengo incrustado en el código. Primero tengo un IF que comprueba si el tile está entre 1 y 150, y hace las tareas normales de añadir a la lista enlazada. Luego tengo un if que hace lo propio con los valores entre 151 y 999, en cuyo caso, hace un switch con unas 40 posibles reacciones diferentes (crear enemigo, crear tile especial, lanzar evento...). Y un último if con cualquier valor >=1000 para tiles optimizados (una mejora de la v1.3, que analiza el mapa en busca de tiles repetidos en espacios contiguos, y los cambia por versiones 2x2, 2x1 o 1x2 del mismo tile que se crean en runtime, reduciendo el número de tiles no nulos, y por tanto, procesos).

Bueno, eso no sé cómo optimizarlo. De momento voy a terminar la limpieza, que hoy he cogido el código de algo que tenía pendiente para el nivel 2, y me va a llevar un rato. Luego a ver qué tal está la carga de los niveles, porque el game.inc tiene una cantidad de procesos que no corresponden ahí...
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 25, 2016, 05:04:53 pm
Bueno, ya puedo dar por terminada la limpieza de código.
Ha sido arduo, pero ya tengo los procesos en ficheros de no más de 500 lineas, agrupadas por categorías, y sin compartir ningún fichero tipo "misceláneo", incluyendo el game.inc, que tenía funciones de 4 o 5 cosas diferentes.
La buena noticia es que el mecanismo de carga de los niveles está mucho mejor estructurado de lo que pensaba. Aun necesita cambios para que se ajuste al nuevo sistema nivel-subnivel-checkpoint, en lugar del viejo nivel-(subnivel|checkpoint).
Otra de las cosas que necesita cambios es el sistema de salvado. Aunque el sistema actual es bueno, puede dar problemas en cuanto añada el item de guardado (a menos que se borren si se está jugando sin guardar partida), y no qeda del todo claro cuándo se guarda (depende de dos o tres procesos diferentes, según el momento: fin de nivel, evento, boss...).

El caso es que ya está todo reidentado, reordenado, y todo está más claro ahora. De momento quiero probar el juego completo con la última versión de Bennu antes de liberar nada. Ya han surgido un par de contratiempos, uno de ellos bastante grave (porque no se pueden leer los menús), y quiero solucionarlos si se pueden, antes que lanzarla con una versión antigua de BennuGD. Tengo previstas lanzar versiones para Windows, Wiz, Caanoo, y si puedo, Linux y GP2X. Ojo, sería la v1.3.1, una revisión de la lanzada para el concurso de Gecasoft, no la actual v1.4.

Estad al tanto ;)
Título: Re:Echo v1.4: road to season two
Publicado por: Fede en Junio 25, 2016, 06:58:25 pm
Enhorabuena chico.  8)

Por cierto, ¿hay bennu para GP2X?
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 26, 2016, 12:58:38 pm
No me las des aun, queda mucho por hacer. Esto es sólo el principio.
En cuanto vea que realmente no he roto nada, ya se habrá dado el primer paso de la v1.4. A partir de ahí es cuando empieza el auténtico trabajo duro (sólo hemos pasado el tedioso).

Respecto a Bennu para GP2X, sí, yo mismo compilé los fuentes hace ya... pfffff. Hay una versión que funciona en las GP2X con firm oficial, y otra para firms con Open2X que va ligeramente más rápida. Se hizo así porque se compilaron con dos toolchains diferentes, y aun me ando peleando para conseguir entender qué leches hice :P Aun tengo que compilar las versiones más modernas, porque estamos hablando de r100 y pico, así que fíjate si ha llovido desde entonces.

Por cierto, si te animas con gráficos nuevos para el Echo, te puedo ir pasando betas exclusivas pa ti, con acceso a las areas nuevas LOL
Tengo pendiente usar aquellos tiles de fondo que hiciste para la fase egipcia, pero sólo si consigo mejorar el rendimiento del motor de scroll tileado, si no, no podré añadir la segunda capa.
Título: Re:Echo v1.4: road to season two
Publicado por: Fede en Junio 27, 2016, 07:37:20 am
Por cierto, si te animas con gráficos nuevos para el Echo, te puedo ir pasando betas exclusivas pa ti, con acceso a las areas nuevas LOL
Tengo pendiente usar aquellos tiles de fondo que hiciste para la fase egipcia, pero sólo si consigo mejorar el rendimiento del motor de scroll tileado, si no, no podré añadir la segunda capa.

Fale. Pero con tranquilidad.
No empecemos con las Drumpi-Locuras de terminarlo para algún concurso o cosa por el estilo. :)
No tengo el ánimo para meterme de gordo, pero me apetece dibujar.

Respecto al scroll de fondo, ¿podría ser de tiles más gordos?
Por lo que observé en el Cave History el fondo solían ser tiles bastante más gordos, además de que se tendría que repintar menos.
...
¿Y Bennu para GP32? ¿Existe?¿Sería esta consola demasiado lenta?
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 27, 2016, 07:48:48 pm
De momento no hay prisa, no voy a entregar nada en una fecha determinada, pero tampoco quiero extender el desarrollo durante demasiado tiempo. Mi idea es tener una base sólida, un motor ya hecho con el que poder desarrollar el "Doggy!!!" (y probablemente hacer un crowfunding para el proyecto, y poder pagarle al grafista y al músico que quiera incorporarse).

Quiero meter dos cosas de fondo:
- Primero, una segunda capa al scroll tileado. Usaría tiles del mismo tamaño y serviría para poner cosas detrás de Echo, por ejemplo, paredes en los niveles 1-2 y 1-4, dejando ver el cielo nocturno en determinadas partes. Eso no quiere decir que no se puedan usar tiles de 32x32, 32x16, o cosas así: lo bueno de este motor es que no te obliga a usar tiles de tamaño fijo. De hecho, la v1.3 incorpora una mejora que crea tiles de 32x32, 48x48, 32x48 y 48x32 usando el mismo tile repetido, y modifica el mapa de tiles para usarlos y ahorrar cálculos al reducir el número de procesos tile.
- Por detrás, un fondo con el scroll de Bennu. El tamaño de los gráficos no importaría aquí, pero deben ser cíclicos o a pantalla completa. Ejemplos: en el nivel 1-1 seguiría estando el cielo estrellado fijo, pero quiero meter tres capas de nubes en scroll cíclico horizontal, similar a la fase nocturna de Cave Story
http://s16.postimg.org/e3l9v3vh1/screenshot_1380535086.png
El nivel 1-2 sería simplemente el fondo de ladrillos del castillo, y el nivel 3 sería un único gráfico de 3000*240 que se desplaza más léntamente que el scroll normal, pero dejando ver ciudades en ruinas, o el cañón sobre el que se pasa en la zona del puente.

El Cave Story siempre usa tiles de 16x16, lo que pasa es que para determinados fondos usa imágenes más grandes.

Ya Bennu para GP32 no sé si hay port. Yo no la tengo (y me gustaría) y no recuerdo que lo hubiera. Si bien hay algún rastro en mi cabeza de que Splinter tenía una GP32 y que no pudo portarlo. El rendimiento lo veo muy complicado, no imposible porque el Echo funciona en GP2X medianamente bien (lo cual fue una sorpresa, porque fue un port hecho por mi, sin optimizaciones ni nada), pero estaríamos muy limitados en memoria porque la mayor parte se la llevaría el propio Bennu.
Título: Re:Echo v1.4: road to season two
Publicado por: SplinterGU en Junio 27, 2016, 08:19:36 pm
no tengo una gp32, solo tengo gp2x y caanoo
Título: Re:Echo v1.4: road to season two
Publicado por: warrior_rockk en Junio 28, 2016, 08:16:50 am
Yo tengo una GP32 por si queréis que haga algún tipo de prueba.
Por otro lado, Drumpi, ¿esta por algún lado la versión antigua del Echo? Tengo curiosidad de probarlo y así también ver las mejoras cuando tengas la nueva versión...
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 28, 2016, 11:35:31 pm
No he podido buscarla en mis repositorios, y tampoco tengo ahora acceso al FTP de mi web, donde podrían estar subidos. Como siempre dirigía a la gente a la web del hamster... Si no te importa esperar, te la mando por correo a donde me digas cuando la tenga localizada en mis copias de seguridad, pero me tienes que decir qué versión quieres (Wiz, Caanoo o PC).
Si no quieres esperar, en Openhandhelds están las versiones:
Wiz 1.1: http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,35,340 (http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,35,340)
Wiz 1.1 con gráficos de FBustamante: http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,35,593 (http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,35,593)
Caanoo 1.1.1: http://dl.openhandhelds.org/cgi-bin/caanoo.cgi?0,0,0,0,35,791 (http://dl.openhandhelds.org/cgi-bin/caanoo.cgi?0,0,0,0,35,791)

Además, por alguna razón, no encuentro dónde subí la 1.2 ^^U
La diferencia entre la 1.1 y la 1.3 son un par de bugs en el sonido corregidos, que se pueden elegir los gráficos del juego, y dos subniveles extra, aun sin terminar (aunque eso incluye unas cuantas mejoras en el motor, que Echo puede sumergirse en el agua... pero no gran cosa que se vea).
El código es compatible con la r265 de Bennu, por si lo quereis probar en PC, y que teneis disponible para GP2X aquí:
https://www.gp32spain.com/foros/showthread.php?85395-BennuGD-r265-para-GP2X

De momento no puedo hacer más, lo siento ^^U
Título: Re:Echo v1.4: road to season two
Publicado por: warrior_rockk en Junio 29, 2016, 07:24:59 am
Pues te mando por privado mi correo y me envías la version PC cuando la encuentres, no hay prisa. Zenkiuuu!
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 29, 2016, 12:44:11 pm
Done. De paso le pediré al hamster que me pase los ficheros que le mandé para el concurso, porque no los tengo en las copias de seguridad, y no encuentro el acceso al FTP, es como si hubieran cerrado el dominio ???
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 29, 2016, 07:45:05 pm
Pues nada, hoy, en lugar de ponerme a buscar ficheros, tenía ganas de programar y... hasta se me ha olvidado hacer la copia de seguridad antes de ponerme en harina ^^U
Pues nada, mañana tendré que ponerme a deshacer cambios, guardar, y rehacer. Menos mal que los cambios se han concentrado en tres ficheros, uno de ellos totalmente nuevo, y que es el que se ha llevado la mayor parte del código. También gran parte del trabajo se ha ido en nuevos gráficos, y es que hoy me he puesto manos a la obra añadiendo fondos de scroll normal a los niveles. He aprovechado que tenía uno empezado hace ya la tira de tiempo... y es el que peor ha quedado.
En la imágen os muestro cómo queda el fondo después de usar una imagen fija (sacada del antiguo fondo, gracias a png_save) y dos scrolls de bennu, con un total de tres imágenes. Y flipareis cuando lo veais en movimiento, en scroll automático.

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3573)

Y es que Echo va a tener tres tipos de scrolls. Este automático va a estar siempre en movimiento, uno manual, que va a seguir a la cámara, con imágenes cíclicas, y otro "adaptable", que va a medir el tamaño del mapa, y se va a desplazar en el mismo porcentaje que la cámara (si la cámara se situa a mitad del nivel, el fondo se verá en la zona central del mismo, si estamos a un tercio del nivel, la cámara mostrará la prate del gráfico situada a un tercio del mismo, y así).
Este último scroll se va a usar en el nivel 3, un mapa de scroll de unos ¿15000 pixels? con un fondo de unos 3000x240. Mamá, miedo :S

Ya os digo que el efecto de dos sencillísimos gráficos, puestos en mosaicos y desplazándose a diferentes velocidades respecto a la cámara, ha quedado ESPECTACULAR en la fase 1-4. Tanto que me ha puesto en duda si quitarlo como tenía previsto o no, porque se suponía que ese mapa iba a tener partes al aire libre y partes con el fondo del nivel. Si hubiera una forma de pintar un fondo estático en unas zonas concretas, y un scroll en otras, usar algún tipo de máscara...
Título: Re:Echo v1.4: road to season two
Publicado por: Fede en Junio 29, 2016, 08:44:24 pm
Si hubiera una forma de pintar un fondo estático en unas zonas concretas, y un scroll en otras, usar algún tipo de máscara...

Precisamente estoy ahora dándole vueltas a la cabeza sobre el tema.

¿Multiples scrolles tileados? (Unos con transparencias y otros no).
¿Scroll de fondo?
¿Gráficos en movimiento en el fondo sólo en ciertas zonas del scroll tileado?

A ver por lo que me decido.

Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Junio 30, 2016, 12:07:02 am
Lo que necesito má bien es hacer una especie de "croma", como en televisión: que pueda rellenar una parte del mapa de tiles con un color chillón, y que en él se vea una imágen estática que yo quiera. Usando postprocesado en otros motores, con funciones de máscara o similares sería fácil de hacer, pero aun lo tengo que pensar muy bien.
De momento voy a centrarme en hacer los fondos, que es lo sencillo, y en cambiar el sistema de guardado. No me gusta la idea de reescribir todo ese código, pero es que no me queda otra para lo que tengo que hacer :S No digamos ya el perder los ficheros de guardado que tengo, que son accesos rápidos a determinadas partes del juego.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 01, 2016, 12:36:59 pm
Bueno, antes que nada: ya he encontrado los ficheros ejecutables de la versión 1.3 del Echo para PC, Wiz y Caanoo, las tenía en una copia de los juegos del concurso MMGTWILT del hamster (benditas copias de seguridad). Mi duda es si subirlas a GameJolt o esperar a tener la versión que realmente debió salir. Son 22MB cada fichero.

También he encontrado los binarios de BennuGD r265 para GP2X y los he subido al subforo de GP2X/WIZ/CAANOO como fichero adjunto, para que no se pierdan. Y sí, creo en un 90% que sirven para jugar al Echo v1.3 en la negrita (según he visto, los .bat de compilación apuntaban a esa versión antes de cambiarlos a la r333 en la carpeta de desarrollo).
La v1.2 sigue desaparecida, empiezo a creer que nunca se llegó a compilar (música de misterio).
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 02, 2016, 06:21:17 pm
Bueno, entre una cosa y otra, el proyecto se ha ralentizado bastante.
Estos días he estado buscando cosas en las copias de seguridad. Ya sabeis, la v1.3 que no sabía dónde andaba, el port de Bennu para GP2X, librerías que me habían pedido...

Así que tampoco he programado nada. He estado haciendo gráficos, y ya sabeis que para eso soy bastante lento. Encima no son gráficos pequeños... algunos sí, pero la mayoría no. Ya os he hablado de los fondos de scroll, pero es que también tenía que hacer la gran presentación de los bosses... vale, quitemos la palabra "gran" de la frase, por lo menos que sepais cómo se llaman esas moles que os perjudican la salud sin tener que buscarlos por la carpeta de FPGs... que por cierto, debería ordenarla un poquito, que ya hay demasiados ficheros para no dejarlos en carpetas.
Y estoy preparando una nueva arma. Los que hayais probado la v1.3 y hayais conseguido las 3 disponibles, habreis visto que ahora hay un scroll en la selección de armas, y es porque como no tenía hueco para 4 armas por la barra de energía de los bosses, pues de alguna manera tenía que dejar espacio para la que nunca me dió tiempo a añadir a la v1.3. Y sí, estará en la v1.3.1, que es lo que debió estar hecho para el concurso y no se pudo por todos los cambios internos que hubo en su momento (y que ahora me han ahorrado muchísimo trabajo).

En fin, aun no tengo claro el efecto que aplicaré a la entrada de estas imágenes, así que de momento voy a optar por lo sencillo. Me hubiese gustado poder crear un efecto "derretido", sé cómo se hace (moviendo lineas verticalmente, con un cierto retardo unas de otras, pero intentando crear ondas) pero tengo que buscar la manera de hacerlo sin perjudicar el rendimiento. Hay una forma, pero es muy laboriosa, y no sé si merecerá la pena.

En fin, seguiré dándole una vuelta y mañana o pasado veremos, que mañana dicen que se acercan 40º y yo voy a buscar refugio en alguna piscina ^^U
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 04, 2016, 12:49:57 am
Bueno, después del bañito y de haber hecho más ejercicio que en todo el año ( :D es lo que tiene ser un friki de 200Kg encerrado en el sótano de su casa), me he puesto un rato a pintar y a programar.

Le he dedicado parte de la tarde al fondo del nivel 3. Tenía algo hecho, gracias a una versión muy antigua de potochof, y unas herramientas que apenas había usado y que me están siendo muy útiles para conseguir los efectos que estaba buscando. Hoy le he añadido algunas cosillas, y he programado el efecto de scroll que me faltaba para probarlo.
Programarlo ha sido muy rápido, tanto que cuando me ha empezado a fallar no me extrañaba, pero tras un buen rato de debug, vi que el código estaba perfecto. O sea, que me persigue otro de mis "errores de juventud": por alguna razón, la experiencia del arma no se carga bien, y no sé si es cosa de la interfaz, de los datos guardados en el fichero o de la carga de los mismos, que me hace cosas raras con el pintado y no aparecen los items de experiencia del arma.

A ver, que ando muy disperso. Pues eso, que he estado probando el fondo y quería que lo vieseis para que me dierais vuestra opinión, porque no recuerdo quién me dijo hace mucho tiempo que ese fondo naranja le hacía daño en los ojos. No quiero señalar a nadie, porque seguro que Pixel o Momia se enfadan conmigo por acusarles erroneamente :lol:

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3578)

Aun no tengo claro si rebajarle el tono blanco a algo más anaranjado, que parezca más disperso en la lejana bruma. Aun tengo que añadir algún edificio más a esa parte, retocar un poco la parte central de la imagen, y terminar la parte derecha. Es un mapa grande, unos 1280x240 pixels (el más grande de momento), de unos 650KB de memoria (mucho más que cualquier nivel del juego), pero tengo la ventaja de que todos los gráficos del juego son de estilo sencillo, y que tengo la excusa de que no soy grafista :D :D :D
Me hubiese gustado haberle podido añadir efecto ondulante al fondo, como si hiciera calor, pero si ya me cuesta trabajo creer que la Wiz vaya a poder con este fondo de scroll, añadirle efecto ondulante va a ser matarla del todo. Quizás un sol animado con efecto blit aditivo podría valer, por aquello de mantener los degradados de colores sin que se tapen unos con otros (recordemos que en 16bits no tenemos  componente de color alpha), pero de nuevo, me cuesta creer que Wiz pueda con ello (necesito ese nuevo motor de scroll tileado).

De momento no os enseño más, porque os voy a arruinar todas las sorpresas, y no es plan. Tengo que arreglar ese problemilla con la experiencia del arma y averiguar por qué a los guerrilleros ahora les ha dado por darle la espalda a Echo.
Título: Re:Echo v1.4: road to season two
Publicado por: SplinterGU en Julio 04, 2016, 12:19:06 pm
muy buen trabajo drumpi!
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 07, 2016, 12:27:20 am
Gracias, Splinter, pero lo que hay más adelante ha quedado mejor, y no tenía ganas de echarle 15 minutos para hacer una captura al tercer cuarto del nivel :D

Hoy la verdad es que no tengo nada que escribir, pero voy a hacerlo, a ver si así me pongo las pilas de nuevo, porque llevo unos días que no rindo. Un colega me está mandando mensajes para que visite su página de devianart, y como hace tiempo le mandé una imágen graciosa que hice con XNALara, pues me está pidiendo opinión y va a conseguir que me enganche otra vez a hacer poses 3D.

Al lio: pues he entrado en situación de bloqueo artístico con el fondo de la ciudad. Tengo 3/4 partes hechas y me falta la final, pero no sé qué hacer. Pensaba en algo sobre alienígenas, un platillo volante (HOLY MOTHERSHIP APROACHING!!) que se viera llegando al final del nivel, justo cuando nos damos cuenta de que una de las bases terrícolas esconde una base alienígena (la zona verde), pero ni sé qué forma darle a la nave, ni qué poner debajo para rellenar, porque pensaba en la silueta de la base terrestre con la torre de control, los aviones listos para despegar... pero no lo veo.
¿Y no puedes hacer otra cosa? El fondo del nivel 1-2 también está pendiente, pero tampoco se me ocurre nada mejor que la típica pared de ladrillos gordos más oscuros, y no quiero usar mapas demasiado grandes. Tengo pendiente cambiar la decoración del nivel 4-2 (la cueva) y hacer los fondos del nivel 4, pero lo mismo: bloqueo creativo.

Hoy me he puesto un rato con el código. Después de mucho indagar, de sospechar de un fallo de Bennu al copiar datos entre posiciones de memoria, de ficheros de salvado desfasados y demás, me he dado cuenta de que todo ha sido culpa de un par de < que debían haber sido <= en sendos bucles, y lo que es peor, esa parte del código no tiene en cuenta la nueva arma, ni los ficheros de salvado, así que cuando la añada, tocará revisarlo y crear nuevos ficheros de guardado (lo que implica otra partida completa de una hora de juego).

Y nada, entre el bloqueo por una parte, y que tampoco voy a mirar demasiado el código del Echo, me tocaría hacer lo que menos me gusta: desviarme del plan para escribir una parte del código que no estaba prevista para ese momento, y dedicarle más tiempo del que esperaba. Sí, tenía pensado meterle mano al nuevo motor de scroll tileado, pero ya cuando acabase la v1.3.1 (aunque ya voy por la 1.3.2), pero el ver cómo el juego se arrastra al 50% de su velocidad en ciertas partes del nivel 1-4 en Wiz me tiene muy preocupado... y lo peor es que sospecho que gran parte de la culpa es de la detección de durezas, que es un algoritmo bastante glotón, aunque de sus más de 1500 lineas, en realidad apenas llega a ejecutar 1/6 de las mismas o menos. También podría ser de la detección de colisiones, pero creo que esa parte está bastante bien afinada (no uso ningún tipo de collision) salvo la distancia a la que empieza a comprobarla.

En fin, voy a acostarme, a ver si por fin duermo bien y mañana me da tiempo de escribir todo el motor, y con suerte, tenerlo depurado y funcionando. No debería darme tiempo porque no es algo a lo que haya que dedicarle un único día, pero cosas más gordas he hecho en días de "programación salvaje", y al Tilemap Editor 2 me remito.

Buenas noches :)
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 09, 2016, 02:07:58 am
Bueno, otra entrada en mi diario de aventuras programiles.
Hoy toca un episodio spin-off, o sea, que sí, que me he puesto con el dichoso motor de scroll tileado.

Como dije, escribirlo ha sido cosa de niños... más o menos. A ver, para empezar necesitaba la última versión disponible del motor, y como fue desarrollado en Fenix, y se ha ido copiando de proyecto en proyecto y se le han ido haciendo pequeñas modificaciones que no siempre han terminado en el código de desarrollo original (es decir, estaba con un juego, veo que hay un  fallo en una linea del motor, la modifico en el código del juego, pero luego se me olvida hacerlo en el código que está en la carpeta del proyecto del scroll tileado ^^U), pues no sabía dónde estaba. Así que lo más seguro es que la útima versión fuera la del Tilemap Editor 2, pero esta fue editada para que se adaptase a su sistema y sólo almacenase un tipo específico de mapas.
Total, que me he tirado como una hora y pico limpiando código para tener, más o menos, el código original del motor. Y digo más o menos porque al final le he dejado el zoom, no me apetecía dedicarle demasiado tiempo (también he dejado algunas funciones del editor).

¿Y para qué eso? Gran parte del código me hacía falta. Aunque el funcionamiento del motor sea distinto, la carga del mapa, los cálculos iniciales y los cálculos de la posición de la cámara son los mismos, y representan el 65% del código del motor (ojo, del codigo, no de la ejecución).
Al final he optado por hacer la versión simple, en lugar de optimizar las comprobaciones al máximo...

Me explico: la idea del motor es dibujar los tiles sobre un mapa usando funciones MAP_PUT. Este mapa se mete en un scroll con los flags cíclicos horizontal y vertical, para que se repita ¿por qué? porque queremos que cuando queramos pintar una nueva columna en el mapa, en lugar de desplazarlo todo 16 pixels a la derecha, o hacer el mapa más grande, pintamos sobre la primera columna, porque esa aparecerá por la derecha de la región del scroll (recordad, scroll cíclico horizontalmente, el mapa se "repite").
Con esto conseguimos que solo necesitemos pintar una fila o una columna (o ambas) en lugar de todo el mapa. Pero eso está bien para pequeños incrementos ¿Qué pasa si nos desplazamos el equivalente a dos filas, o a cinco columnas?

Aquí es donde entra la simplicidad en lugar de la eficiencia. En lugar de calcular cuantas filas y columnas hay que actualizar, las vamos a hacer todas cada vez que la cámara cambie de tile. ¿Entonces volvemos a lo de pintar todo el mapa? No, porque como le dije a FBustamante, tenemos en memoria un array que nos dice qué tile hay pintado en cada posición del mapa, por lo que si una fila realmente no se actualiza, el valor nuevo y antiguo coincidirán y no se usará MAP_PUT, que es lo que hay que evitar a toda costa. Esto tiene un efecto secundario beneficioso: si la nueva fila tiene tiles en común con la que va a desaparecer, son tiles que no tenemos que pintar.

Para que os hagais una idea, en una prueba preliminar, tenía un mapa de 14x10 tiles. Al desplazarme un tile hacia la derecha, en lugar de pintar 10 tiles (16x16x10 pixels), el motor sólo pintó 4.

Lo malo es que la prueba preliminar reveló que el nuevo motor era más lento que el anterior. En el anterior tenía unos 909fps en reposo (sin mover la cámara, o sea, con los cálculos básicos de la cámara) y unos 898-820fps en movimiento. Con el nuevo tenía unos 700 y pico en reposo y caidas por debajo de 550fps en movimiento. ¿Qué pasaba? ¿Acaso el scroll de Bennu necesitaba 200fps en reposo? ¿mover 120 procesos dummies (bueno, menos, los tiles vacíos no tenían proceso) es más rápido que el scroll mover un mapa de 320x240?
Estuve haciendo debug, porque claro, el código lo escribí en 3 horas o menos, pero tenía fallos por todas partes, y es a lo que hoy le he estado metiendo mano, pero a pesar de ello apenas gané unos pocos frames por segundo.

Así que hice una locura: quité el dump_type=1 y el restore_type=1. El motor antiguo ganó unos pocos fps... ¡pero el nuevo superó los 1000fps en reposo! llegando a tener picos de 1100fps. Aun no he hecho pruebas, y sigo teniendo bugs tan graves como para que Windows me cierre el programa, pero sí que ha hecho scroll con valores por encima de 900 de media. Estas pruebas preliminares me dan una mejora del 10-15% aproximadamente.

De todas maneras no me hago ilusiones. Pensaba que al reducir de más de 40 procesos a 1, y de moverlo usando una función interna (start_scroll) en lugar de a mano, ganaría un 50% o más de rendimiento, que llegaría sin problemas a los 1500fps, y me ha caido como una jarra de agua fría. No había tenido en cuenta bastantes cálculos nuevos (bastantes costosos, porque hay unas cuantas divisiones y módulos), y pecaba de optimista.
Lo dicho, aun son pruebas preliminares, debo resolver todos los bugs del motor, y estos me pueden aumentar el rendimiento o bajarlo. Todavía no sé si se están haciendo todos los cálculos necesarios o si se están haciendo operaciones de más, si puedo reducir algunas operaciones o sustituir las más gordas por otras más sencillas (ya he dicho alguna vez que un if+resta consume menos tiempo que una división, y esta menos que un if+resta+resta)

Código: [Seleccionar]
//Esto consume menos
if (cont > 100) cont-=100; end

//que esto
cont = cont%100;

De momento también quiero comentar que le he cogido un par de ideas a FBustamante, como meter los mapas sobre los que vamos a pintar dentro del FPG que contiene los tiles, para usar MAP_XPUT en lugar de MAP_XPUTNP, que es más lento (quería haber usado MAP_PUT, pero no puedo evitar la necesidad imperiosa de usar el flag NOCOLORKEY para que pinte los pixels transparentes del tile). Había otra cosa pero no la recuerdo ^^U. Gracias de todas formas por la idea.
Mañana a resolver bugs, y luego a rezar para que los tiles que he usado en el Echo sean cuadrados y no me den problemas al borrar con draw_box. Con el mapa de Fenixland es un desastre, porque hay tiles que pintan hierba en el tile superior, o bordes de hierba en los laterales, y al borrarlos quedan los restos que sobresalen.

Hala, a dormir, que vine para escribir 5 minutos y llevo ya una hora.
Título: Re:Echo v1.4: road to season two
Publicado por: Fede en Julio 09, 2016, 06:39:22 am
¡Enhorabuena chico! :)

Porque yo no tengo pan-ta-lo-nes de hacer que ande. :(

Eso sí, ¡no me rindo!



Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 09, 2016, 11:51:09 am
Tranquilo, Fede, en cuanto lo acabe lo subo, así podrás tomar ideas y, si eres capaz, corregir mis fallos (¡SÍ, POR FAVOR! :( ).
Lo que pasa es que el debug me va a llevar un día o dos, porque hay bastante que corregir, y no es fácil cuando tienes 120 elementos que analizar cada frame.

El truco está en no asumir nada: ¿has sumado 3 a una variable? Comprueba con un say que realmente se ha sumado 3 y no ha habido otra suma en otra parte que ha alterado ese valor. Ve analizando paso a paso que todo se hace de acuerdo a lo que has pedido, mostrando por pantalla o por consola los valores en todo momento. Busca patrones en los errores, si eres capaz de encontrarlos es fácil encajarlos en tu código y corregirlos para qe no sucedan.
Y paciencia, mucha paciencia, porque el bug no suele estar donde buscas, y en ocasiones te tienes que desviar 4 procesos y 100 lineas para encontrarlo. El debug necesita el doble o el triple de tiempo que la programación en sí.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 15, 2016, 04:43:02 pm
Después de ese paso lateral con el scroll tileado me he dado cuenta de que he empezado a hacer el equivalente en programación a divagar, y he perdido la ruta del proyecto. Me he dado cuenta cuando, a parte de notar que he bajado el ritmo, me vi pintando uno de los enemigos nuevos del nivel 4-3, algo que no iba a aparecer hasta la v1.4 ¡Primero tengo que llegar a la v1.3.1... digo v1.3.2!

Así que he cogido y he hecho una lista de las prioridades de las cosas que tengo que hacer para la v1.3.2, las que podrían ir pero que no son obligatorias (aunque sí que irían en la 1.4), y las que finalmente sólo aparecerán en la versión que tengo planteada como final (aunque se me están acumulando ideas que darían para una 1.5).
Ahora, aunque es un poco más peñazo porque las cosas obligatorias me exigen pintar, que es algo que es lento y tedioso en según qué cosas (especialmente cuando no tengo ninguna inspiración para seguir), ya tengo de nuevo puestos los ojos en la ruta a seguir.

Lo primero ha sido dejar el nuevo motor de scroll tileado, que por lo pronto es opcional para la v1.3.2. Ya está hecho y sé que es más rápido, pero hay cosas que corren más prisa que andar experimentando con el nivel más bajo del código del juego.
Y eso son los fondos y la presentación de los jefes. Lo de los fondos ya sabeis que llevan planeados desde la primera versión, y tengo hechos como la mitad (faltan el nivel 1-2, 1/4 del 3, no se si hacer alguno para el 4-1, y el fondo del nivel 4-2).
Y lo de las presentaciones de los jefes también llevaba bastante tiempo en la lista, sobre todo cuando más de uno me preguntaba por el nombre de alguno de ellos. Pues bien, hoy puedo anunciar que, oficialmente, todos los jefes de nivel ya tienen nombre. Ya lo tenían si los buscabas entre los FPGs, pero ahora podreis verlos antes de la batalla, cada uno con su propia animación, como por ejemplo:

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3585)

...Aunque aun tengo que pulir algún detalle, porque el texto del último jefe lo he hecho del mismo color que el propio jefe y me he dado cuenta después de aplicarle varios filtros y retoques a la imágen, y ponerlo en el propio juego. Ahora cambiarle el color puede ser una tortura :S Espero que mis conocimientos de Potochof me ayuden una vez más.

Tengo que seguir creando fondos, probar el nuevo motor... ¡y probar la última versión de Bennu aun! ¿No he dicho que llevo una semana muy disperso? :D ¿Para qué me recordarán que existe el XNALara? ^^U
Título: Re:Echo v1.4: road to season two
Publicado por: Fede en Julio 15, 2016, 11:13:02 pm
Después de ese paso lateral con el scroll tileado me he dado cuenta de que he empezado a hacer el equivalente en programación a divagar, y he perdido la ruta del proyecto. Me he dado cuenta cuando, a parte de notar que he bajado el ritmo, me vi pintando uno de los enemigos nuevos del nivel 4-3, algo que no iba a aparecer hasta la v1.4 ¡Primero tengo que llegar a la v1.3.1... digo v1.3.2!

Así que he cogido y he hecho una lista de las prioridades de las cosas que tengo que hacer para la v1.3.2, las que podrían ir pero que no son obligatorias (aunque sí que irían en la 1.4), y las que finalmente sólo aparecerán en la versión que tengo planteada como final (aunque se me están acumulando ideas que darían para una 1.5).
Ahora, aunque es un poco más peñazo porque las cosas obligatorias me exigen pintar, que es algo que es lento y tedioso en según qué cosas (especialmente cuando no tengo ninguna inspiración para seguir), ya tengo de nuevo puestos los ojos en la ruta a seguir.

Lo primero ha sido dejar el nuevo motor de scroll tileado, que por lo pronto es opcional para la v1.3.2. Ya está hecho y sé que es más rápido, pero hay cosas que corren más prisa que andar experimentando con el nivel más bajo del código del juego.
Y eso son los fondos y la presentación de los jefes. Lo de los fondos ya sabeis que llevan planeados desde la primera versión, y tengo hechos como la mitad (faltan el nivel 1-2, 1/4 del 3, no se si hacer alguno para el 4-1, y el fondo del nivel 4-2).
Y lo de las presentaciones de los jefes también llevaba bastante tiempo en la lista, sobre todo cuando más de uno me preguntaba por el nombre de alguno de ellos. Pues bien, hoy puedo anunciar que, oficialmente, todos los jefes de nivel ya tienen nombre. Ya lo tenían si los buscabas entre los FPGs, pero ahora podreis verlos antes de la batalla, cada uno con su propia animación, como por ejemplo:

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3585)

...Aunque aun tengo que pulir algún detalle, porque el texto del último jefe lo he hecho del mismo color que el propio jefe y me he dado cuenta después de aplicarle varios filtros y retoques a la imágen, y ponerlo en el propio juego. Ahora cambiarle el color puede ser una tortura :S Espero que mis conocimientos de Potochof me ayuden una vez más.

Tengo que seguir creando fondos, probar el nuevo motor... ¡y probar la última versión de Bennu aun! ¿No he dicho que llevo una semana muy disperso? :D ¿Para qué me recordarán que existe el XNALara? ^^U

¡Maricona! ¡Te ha dado por trabajar, eh?  8)

Pinta muy bien. Me vas a hacer currar, que te veo venir. ::)

Yo por mi parte también me 'disperso' bastante. Sobre todo porque si no, me 'quemo', y entonces me da por hacer otra cosa.

Creo que soy más productivo programando lo que me va apeteciendo, e incluso metiendo un poco de pixel art de vez en cuando.

¡La cuestión es que la diversión no decaiga! ;)

Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 16, 2016, 02:50:02 am
¿Que me ha dado por trabajar? Pero si no he parado desde... A ver, el TFM fue desde Marzo del año pasado hasta ¿Noviembre o Diciembre? Luego le estuve dando un poco a sus mejoras, vino la Game Jam, y luego me puse con el Tilemap Editor 2... Bueno, con Bennu llevo desde Diciembre :D :D :D

Lo de hacerte currar ya te lo dije hace tiempo: hay un set de tiles nuevos, los fondos, algunos enemigos... si tienes ganas de currar, tu mismo, pero cuando veas lo que hay planeado para el nivel 4-3 lo flipas (yo estoy encantado con lo bonitos que están quedando, pero estoy viendo que puedo ampliar los subniveles 4-1 y 4-2 y convertirlos en verdaderos niveles (es lo que comentaba de versión 1.5, añadiendo un 5º nivel espacial).
También hay muchas posibilidades de que te lleves una parte de los donativos que genere el juego, todo depende de que me ponga a ello. También he contactado con Caleb, a ver si se anima con la música.

Sí, ir haciendo lo que te gusta es la mejor manera de ser productivo, y la mejor forma de que te salga algo genial, pero para eso debes haber planificado mínimamente lo que quieres hacer: no puedes hacer el 4º nivel y que te quede más fácil que el 2º :D Por eso tengo una lista de lo obligatorio para esta versión y otra de posibles, por si me apetece hacer un posible más que un obligatorio... pero sin perder de vista los obligatorios... ni los fallos que hay que arreglar antes de que la bola de nieve se descontrole :D
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Julio 17, 2016, 08:48:20 pm
solo posteo para suscribirme y leer tol tocho algun dia
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 17, 2016, 11:43:53 pm
Jajaja, tampoco es tanto... ¿no?
Además, yo hace poco me leí el tocho anterior del Echo y del SBTime... dos veces. Y fue lo que me dio ganas de continuar.

Y nada, pues llevo dos días de tranqui, porque no me acuesto a mi hora, y de día no rindo ^^U
Pero bueno, algo hay que ir haciendo. Por ejemplo, ya puedo dar por terminado el fondo del nivel 3... o casi, poque la nave espacial no parece una nave espacial, pero creo que ha quedado bastante apañado para no tener ni pajolera idea de lo que iba a hacer o cómo hacerlo ^^U
Y sí, al final potochof me ha salvado la papeleta y he podido cambiar el color del nombre del último boss sin tener que rehacer todo el trabajo.

Hoy me lo he tomado con más tranquilidad, y he estado resolviendo algunos bugs, como que se podía activar la pausa durante los eventos de conseguir el arma o la expansión de energía. También la interfaz tenía algunos que hacía que no se pintasen todo el gráfico de los números. Es que les he estado dando sombra a los números para que se puedan ver cuando hay un fondo blanco, por ejemplo, la Luna del primer nivel... pero no se termina de ver bien, creo, y también es posible que les cambie el color y los haga más parecido a los de Fede... Sí, ya que ha aportado al juego, que sirva de simbiosis ¿no? :D

Y ya que estaba, he acortado el tiempo de ejecución de la secuencia que aparece tras morir. Creo que le he quitado entre 6 y 10 segundos de duración. No es mucho, pero para acortarla más tengo que hacer que se superpongan eventos en el tiempo o si no me voy a cargar el timing (y creo que lo he hecho acelerando alguna cosa).

Aun no sé qué hacer con el fondo 1-2, y me da pánico el 4-2. Tengo que terminar con la interfaz, repasar la IA de algunos enemigos que dan problemas, y cambiar el color de algunas cosas que ahora se quedan ocultas con los nuevos colores de fondo del nivel 3.
Por cierto, me han sugerido que el nivel de la ciudad le queda muy soso el fondo por haberlo hecho monocromático. ¿Vosotros qué decís? Teneis una vista previa en el mensaje 25 de este hilo, en la segunda página.
Y otra pregunta ¿Música durante la pausa? ¿sí, no o al 50% de su volúmen? ¿o tengo que añadir dicha opción al menú de configuración?

A dormir, que mañana tengo tareas.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 21, 2016, 07:42:46 pm
Sigo esperando votaciones a las preguntas del último mensaje ^^U

Pero bueno, al lio.
Al final, estos días estoy de bajón total. Con el calor que ha hecho no he dormido bien y me paso el día zombi perdido. apenas le he dedicado tiempo a algunos gráficos que tenía pendientes.
Para empezar, les he puesto sombra a los números de la interfaz y la cosa ha mejorado mucho, pero no me convencen: algunos números se siguen confundiendo porque el número tapa a la sombra, y me estoy planteando hacerlos de color oscuro, para que resalten sobre el fondo blanco transparente. No me gusta la idea de añadirles un borde de color (más que nada, porque ya lo ha hecho Fede :P ).

Por otro lado, hoy me he atrevido a trabajar en la ilustración que va a ir al final de los créditos. Es una imágen de 320x240, y si ya una de 48x64 me tiene de los nervios porque no sé qué hacer... Total, que he cogido el Sketchbook Pro (que aun me dura la licencia por el Máster de videojuegos) y... al final me he tirado al Potochof viejo, que me da más herramientas. Bueno, que he cogido el potochof, he conectado la tableta gráfica, y he empezado a pintar como buenamente he podido. Como mi destreza es mínima (y peor con la tableta), he optado por darle un toque "a pinceladas" a lo que ya era un estilo retro de pocos colores (vamos, que quería hacerlo como las viejas imágenes flash, pero como no sé, he dejado los degradados de los bordes del pincel :D ) y de momento el resultado es aceptable, bastante cercano a lo que quería originalmente.
La pega es que no os puedo mostrar nada de lo que he hecho, porque es la recompensa por pasarse el juego. Lo vereis cuando esté terminado y metido tras los créditos. Y no, no voy a hacer excepciones (salvo a Fede, para que me de su opinión y por si se atreve a superarlo :D :D :D ).

Ya son menos las cosas que quedan para su lanzamiento, pero con la Crap Compo en marcha, y que en unos días cierro el ordenador durante un mes (ya casi por motivos de salud :P), no sé si me va a dar tiempo a publicarlo en los 10 días que me quedan. Si me pongo en plan Game Jam seguro que sale, pero ya he dicho que no duermo lo suficiente para ello, y estos días no me van a dejar trabajar a gusto.

:S :S :S
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Julio 21, 2016, 10:40:37 pm
el potocherl? mas facil es el Gimp, muy sencillo de usar, sino usa el inkscape que pa graficos vectoriales es perfect...
por ultimo puedes sobornarme con promesas que nunca vas a cumplir...

hace tiempo hice un pequeño manual de como funciono:
(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3603)
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 22, 2016, 01:51:52 am
Sí, en su momento intenté aprender Gimp, y cuando estoy en Linux es lo que uso, pero aun tengo mucho que aprender de él, y el acceso a las funciones de la presión del lápiz están demasiado escondidas para mi gusto. Si lo tuviese también instalado en Windows, seguramente lo usaría más, pero me he hecho a potochof y ya conozco el 30% de sus filtros y funciones básicas :D :D :D
Inkscape es una tarea pendiente que tengo desde hace años. Siempre he querido aprender a manejarlo, pero nunca me pongo a hacer tutoriales. Conozco las bases de algunas cosas, pero no tengo ni idea de las técnicas ni de qué herramienta necesito en cada momento.

Y no, esta imágen es demasiado personal como para encargársela a otro o travestirme para ello. Además, ya te mandé una lista de gráficos para otro juego, y aun sigo esperando :D :D :D
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Julio 22, 2016, 07:18:13 am
Woops, eso se perdió en el...
Incendio de titanic... <:D
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 23, 2016, 12:57:09 am
No te preocupes, yo tengo copias de toda la documentación del proyecto y del material generado (sí, los 300MB de gráficos que me mandaste en su día, junto a los de Fede y las músicas de Caleb y PrinceMegahit) ¡MWUAHAHAHAHAHA!
 :D :D :D

De momento vamos a dejar a Panta tranquilo volando con sus latas de Pantosa, al menos hasta que esta semana programe lo que pueda de la Crap Compo y del Echo, y me desintoxique de ordenador durante el mes de Agosto (aunque haya quien se empeñe en hacerme recaer :D ).

Por ahora, ya he empezado a contar las cosas que me quedan pendientes de la lista y he reducido la misma a 5 gráficos.
Hoy he estado retocando la interfaz, que al final puede que con la sombra en los números baste. He cogido algunas de las ideas de Fede, y las he adaptado a cómo habría cambiado yo mis gráficos siguiendo mi estilo; es un poco difícil de entender, pero como ejemplo, vereis en la siguiente imágen que les he puesto color a las letras de "energy" y "w. exp", como hizo Fede, pero en lugar de pintarles un marco bonito y hacer que resalte, he mantenido mi linea minimalista y sólo he cambiado el color a las letras y les he dado sombra, igual que a los números, para que se vean mejor. También he cambiado el color del fondo de la interfaz, porque no podía usar blanco sobre blanco, y aunque me hubiese gustado ponerle un tono oscuro, quería que se pudiera seguir viendo el nivel por detrás.

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3607)

También me he puesto en plan flojeras, y he resuelto dos o tres bugs que tenía en el código, incluyendo un comportamiento errático en los guerrilleros, que les daba por mirar en sentido contrario a donde estaba Echo cuando saltaban o caían mientras lo perseguían.
Pero la pregunta importante es ¿He terminado con esa imágen final, tan importante y difícil de hacer?...
... No, por desgracia. Hoy le he puesto la segunda capa más difícil de hacer a la imágen. La primera era el pelo de Echo (sí, podreis ver al chavalín sin el casco), que tenía miedo de que no me saliera, pero al final ha quedado bien, no perfecto, pero es un muy buen resultado. Y la de hoy implicaba un trozo de tela arrugada, algo que nunca (que yo recuerde) he tenido que pintar, más allá de replicar una imágen (soy "decente" copiando dibujos, pero aun me queda mucho que aprender para decir que sé manejar el lápiz).
Lo bueno es que la parte principal de la imágen está acabada, junto con un par de accesorios. Lo único que puedo decir es que me ha quedado más "kawaiiiii"... ^^U Mañana tengo que escalar una imágen para usarla de referencia en una de las dos últimas capas. La última, por supuesto, es el cartelito de "the end", que he decidido hacer a mano en lugar de usar una fuente.

De las otras imágenes que me quedan, una es el dichoso fondo del nivel 1-2, que sigo sin saber cómo envejecer y manchar unos ladrillos tan grandes, y luego son los dos fondos del nivel 4, que aun no sé a ciencia cierta qué voy a hacer. La quinta es un foreground, que si ya dije que un background con el scroll de Bennu se me iba a resentir en Wiz, este va con flag=4 incluido o alpha menor :S
A ver si antes del próximo viernes puedo subir esta versión a GameJolt, y notificarlo en los foros de GP32Spain y ¿sigue existiendo GP32X, el foro inglés?

El juego para la Crap Compo, lo veo difícil, la verdad :(

PD: Fede, he cambiado algunos de tus gráficos ¡MWAHAHAHAHA!
Nah, que con los nuevos fondos del nivel 3, las balas blancas de los guerrilleros quedaban ocultas en las brumas, y les he puesto el mismo tono gris oscuro que a los míos. Al fin y al cabo, es de los pocos gráficos que no cambiaste en los enemigos ^^U Las explosiones de las minas tuyas sí se ven, las mías no, y las he hecho radiactivas :P
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 25, 2016, 12:46:10 am
Bueno, la cosa avanza despacio pero avanza:
El problema de hacer gráficos es que como no es lo mío, debo estar fresco para ponerme a ello, porque si tengo que pintar algo aleatorio pero que tenga algo de sentido, por ejemplo, las manchas de unas piedras a modo de ladrillos, acabo repitiendo patrones, acumulando colores en una zona, o desperdigándolos de forma poco agradable a la vista.
Así, que cuando tuve esta pared pintada así...

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3609)

Tuve que dejarla para después de la hora de la comida... y la hora de la siesta no ayuda, sobre todo con este calor ^^U
En fin, aunque en esa imágen la veais a medias, la pared ya está terminada. Quedan 3 gráficos, 2 si descuento el fondo de la fase 4-1 y dejo ese azul cielo caluroso y brillante, o 3 si finalmente añado 2 planos de scroll al fondo del nivel 4-2, que podría quedar interesante ¿Habeis visto el fondo en el Indiana Jones de SNES, la fase subterránea, en el Templo Maldito? Algo así, pero con menos corazones arrancados.

También me he puesto un poco con el código porque la interfaz seguía teniendo fallos: algunos números se tapaban entre sí, o cubrían el fondo sobre el que se pintaba, y tenía que ajustar dos sets de gráficos en lugar de uno (no le iba a hacer la faena a Fede de tener que cambiar sus números). Así que nada, ajustando al pixel para dos sets de números. Se me han ido dos horas tranquilamente en eso.

Y ahora a seguir con mi pesadilla. Como no soy artista, crear un fondo no es algo tan sencillo como pueda parecer, y más si quiero mantener el estilo retro del juego. En algún fondo y en el epílogo del juego me he permitido la licencia de tirar de potochof para darle un toque diferente, y aun así no me he pasado añadiendo colores o detalles, y he podido tirar de tableta.
Ahora estoy haciendo un fondo con Paint (que empieza a ser un "pain"). Después de muchos cálculos he podido estimar que lo que veis más adelante es el tamaño mínimo que le podía poner para darle un poco de scroll a la cosa. También he calculado un fondo grande, como el del nivel 3, sin que se pase de memoria (ese fondo ya ocupa más de medio Mega, y no hay ni un sólo nivel que ocupe más de 80KB... gráficos aparte), pero quedaría mejor si pudiera hacer un fondo cíclico horizontalmente, y eso me obligaría a crear un nuevo scroll a los tres que ya he hecho para los fondos. No es que sea una tarea ardua que me vaya a llevar días, usando copia/pega podría estar listo en cuestión de minutos, pero me lo tengo que pensar muy bien, ver si merece la pena el esfuerzo, y si ya con este fondo me vale:

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3611)

Aun lo tengo que llenar de estalactitas, cristales como los del nivel, meterle reflejos al agua... mucho trabajo pendiente, y dudo que lo pueda terminar mañana. A ver si el martes es el último día, y si no, a ver si lo puedo intercalar con la programación del motor del juego de la crap compo (ya os digo que es lo más ambicioso que me he propuesto, al menos para una crap compo, y un colega me va a echar una mano a la vez que aprende a programar... o eso creo).

Lo que sí voy a necesitar será un betatester, que cuando acabe la versión 1.3.2 del Echo, me lo pueda probar (preferiblemente en Wiz) para ver que todo funciona y poder subirlo lo antes posible a GameJolt. Como dije es sólo una versión puente, de cómo debería haber quedado para el concurso del Hamster... mas unos cuantos toquecillos extra. Después de vacaciones, de la Crap Compo, y de evaluar si cierto juego aun no desvelado sobre un malvado ser submarino debería ser re-enfocado (porque lo he probado hoy y es de lo más difícil que he diseñado en videojuegos hasta la fecha), empezará el verdadero "road to 1.4".

Buenas nochzzzzzz...........
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 26, 2016, 12:39:09 am
Vale, pues no ha quedado mal el fondo. No sé si justifica el uso del scroll, pues apenas se desplaza, pero sumándole los efectos del agua que ya tenía el nivel, las decoraciones y demás, el nivel ha ganado muchos enteros. Sigo pensando que debería modificar los tiles lisos añadiéndoles alguna textura, pero si ahora mismo no tengo claro si quiero añadir otra capa al scroll de este nivel, hacer lo otro no tiene mucho sentido ^^U

En teoría sólo quedaría el foreground del primer nivel, pero tengo mis dudas con el difuminado, no sé si la escala de blanco a negro con transparencias se va a ver feo y además de flag de transparencia tendría que usar flag aditivo. El rendimiento se cae por momentos. Menos mal que es opcional y se puede desactivar en el menú de opciones (para wiz, tanto fondos como foregrounds vienen desactivados por defecto).

Pero me han surgido dos problemas:
El primero es bastante serio, y es que en cierta parte del nivel hay pinchos bajo el agua. Tal como lo tengo programado, los tiles de agua aparecen porque en el mapa de tiles se han definido ciertos tiles especiales, que al ser detectados por el motor (mediante una modificación al mismo), generan el tile de suelo correspondiente, y un proceso de "agua" (un proceso transparente que actúa como un tile). Pero los pinchos se consideran ya como un tile especial de tipo "enemigo", y no puedo poner dos tiles especiales en la misma posición (no, al menos, hasta que esté el nuevo motor, consiga un rendimiento bueno, y pueda añadir una segunda capa). He tenido una idea muy loca que podría funcionar, pero si no, lo voy a dejar así, pendiente de arreglos para la 1.4.

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3614)

El otro problema es el de añadir tiles especiales que se rompen bajo el peso de Echo. Estaba previsto para esta versión, y tengo el código hecho en otro proyecto. La pega es crear los gráficos de animación de rotura, posiblemente crear partículas (de nuevo, problemas de rendimiento), y ciertas partes del código requerirían de una nueva variable para el prota, que para ser limpios, debería añadirse al código del mismo (sí, revisar las 2000 líneas para sustituir ciertas constantes por esta variable). Eso significa que ni de cachondeo termino esto para el viernes.

Otra cosa que estoy evaluando es si añadir en esta versión la cuenta atrás del oxígeno restante de cuando Echo está bajo el agua. Había pensado en que en el momento en que se quedase sin aire, comenzase a perder energía hasta morir, y así resucitar en el mismo punto donde ha muerto, como siempre. Pero como le estoy dando vueltas a añadir checkpoints para volver a la vida en caso de morir por caidas (no, no se puede morir así en todo el juego, y mira que he habido sitios donde me hubiera gustado hacerlo), no lo tengo muy claro, porque si ahora hago que resucites "in situ" y más adelante lo cambio para que vayas para atrás, mucha gente se me va a tirar al cuello :S

Bueno, pues las opiniones son bienvenidas. Y lo mismo las ofertas de betatesting, que con tanto programar y dibujar no me van a quedar fuerzas para más de una partida completa.
A ver si me acuesto, que mañana me toca limpiar una cocina de camping antes de seguir programando... o sea, dibujando.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 26, 2016, 05:24:48 am
No sé si es el calor, que tengo la cabeza a 100 por hora o qué, no puedo dormir.
Total, como me han dado las 5 de la mañana despierto y a las 9 o así me iban a despertar para limpiar la cocina, pues me he puesto a programar. No me gusta hacerlo porque a estas horas suelo cometer muchos errores, y muy tontos, y luego me paso el día siguiente corrigiendo esos fallos (aparte de que me paso el día zombie). No son horas en las que pueda pensar con claridad, y los códigos medianamente complicados se me hacen imposibles de programar.

Pero al final ya tengo los scrolls de primer plano programados... bueno, EL scroll de primer plano (aunque lo repita en los niveles 1-1, 1-2 y 1-3).

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3616)

La imágen en cuestión la he hecho en unos 15-25 minutos... creo, no he mirado el reloj, gracias a potochof y la herramienta "emborronar con el dedo". Es muy útil para dar efectos de nubes difusas y niebla. Combinado con la herramienta "offset" he podido crear una imágen para el scroll cíclico.
Al final tenía razón, y el uso del flag de transparencia dejaba ver los tonos grises, así que lo he mezclado con el flag aditivo, haciendo que sea totalmente inviable en Wiz... supongo, porque aun no me he puesto a pasar archivos a la SD (y tampoco hay ganas). Es más, aunque el efecto mola y me encanta, los jugadores lo van a mantener desactivado por la falta de visibilidad. Bueno, la opción está ahí, ya es cuestión de preferencias.

Escribir el código no ha sido complicado, ya que es un copia y pega del scroll de fondo, con la salvedad de que el primer scroll no es el 0. Eso me ha hecho recordar que los scrolls de fondo siempre empiezan usando el scroll 0, y no hay forma de seleccionar el que se quiera, y va a ser un problema en cuando cambie el motor, así que he usado la última neurona que me quedaba más o menos despierta, y he conseguido (creo) estabecer el primer scroll a usar mediante una constante.
Al menos parece que no he roto nada.
Lo difícil ha sido dar con la Z adecuada para el scroll. En la imagen se ve que el foreground tapa el icono del arma seleccionada, pero eso ya está arreglado. Es que no me apetecía hacer otra captura, porque me he tenido que pasar las tres primeras pantallas unas 4 veces haciendo pruebas.

Pues sólo eso, estoy intentando rellenar tiempo hasta que den las 9 para no dormirme. A ver qué consigo hacer hoy, porque según la lista queda ese plano de scroll que dije hace unas horas que no iba a hacer, y lo de los tiles de agua sobre los pinchos, que con las neuronas a medio gas, imposible programar nada.

¡Ah! Me acabo de dar cuenta de que tenía una lista con los FPG que he ido añadiendo y modificando en la carpeta de gráficos de Fede. La he actualizado con todos los fondos y los cambios de estas semanas. Espero no olvidarme de borrarla en la versión final y mandársela al interesado.

En fin... pues... ya está saliendo el sol... Tengo sed...
...
Me aburro
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 26, 2016, 06:34:14 pm
Pues nada, otra vez escribiendo ^^U

Pues ya creo que está todo, así que he ido preparando la "versión release", tanto para Windows, Wiz y Caanoo... Eeeeeh, sí, debería preparar otra para Linux, pero primero tengo que ver si me funciona la última versión de Bennu en mi Kubuntu ^^U
He solucionado algunos bugs de última hora, tras hacer algunas pruebas mínimas en Wiz.

¿Cómo se comporta el juego en la negrita? Bueno, para empezar debo decir que usando el Pollux_set, es decir, overclockeando la consola a 750MHz, no se aprecia una diferencia notable entre usar Bennu r265 y la r335, va más o menos igual de suave y sigue teniendo los parones esos cada 16 pixels. Es curioso que el frameskip, en lugar de ayudar, hace lo contrario, porque cuando el scroll no se mueve va todo suave a sus 50 fps, pero en cuanto hay scroll, se nota el frameskip, e incluso parece que los tirones son aun más fuertes. Quizás ayude en los momentos con más carga de enemigos.
Eso sí, si subo la velocidad a 800MHz ya no son tan molestos los tirones y la primera pantalla se juega de lujo.

Pero bueno ¿y las novedades? eso es harina de otro costal. Si ya era complicado el funcionamiento a velocidad normal, en cuanto se añaden los fondos la cosa empeora. Al principio parecía que todo iba bien: el scroll se movía de forma fluida, Echo se desplazaba elegantemente a casi 50fps... pero comenzó a desplazarse el scroll tileado y aquello cayó. No es una caida muy drástica, pasaría de 50fps a 40 y pocos fps, pero sé que se va a resentir en las zonas más pobladas del juego.
Pero como le añadamos el scroll de primer plano, apaga y vámonos. Ese flag de transparencia mas el aditivo pone el juego, siendo generosos, apenas por encima del 50% de su velocidad real :S Ni aun añadiendo un frame de frameskip se salva la cosa (y con dos ya queda feo).

Y esto son las primeras impresiones, falta probar el juego entero y la versión de Caanoo. En portátiles ya estaba previsto que la cosa no pintaba bien, y por eso el nuevo motor de scroll tileado... pero en PC se juegs de lujo (salvo en mi portátil, por alguna razón la diagonal abajo a la derecha me bloquea la tecla de disparo, algo que no pasa en un teclado de ordenador normal).

Respecto al nuevo motor, sí, es MUY fácil añadirlo al Echo. Es "sustituir" los ficheros de código del antiguo por el nuevo, cambiar las llamadas (porque no le he puesto el mismo nombre al proceso que lo ejecuta), modificar un par de variables que no existían en el viejo, y eliminar la optimización de mapas (porque con este motor no dirve de nada).
¿Pero qué pasa? que el motor antiguo, al usar procesos en lugar de gráficos, permitía usar tiles de cualquier tamaño, y en más de una ocasión he usado tiles de 32x16, 16x32 o 32x32 en los mapas, y con el nuevo es OBLIGATORIO que el tamaño de los tiles sea, pues eso, de 16x16 (incluso los más pequeños).
Así que si quiero usar el nuevo motor, además de cambiar el código, debo modificar los tiles, los FPG y los mapas, y no se hace en un par de horas... y ahora mismo estoy KO.

Pues nada, quien se quiera apuntar al programa de betatesting, que avise, me mande un correo (si no lo tengo ya) y me diga qué versiones desea probar (PC, Wiz y caanoo; para Linux se puede usar la de Windows, cambiando el .bat y el runtime). Lo ideal es recibir los resultados de las pruebas el jueves o el viernes, que me de tiempo a corregir cosas sueltas y subirlo a GameJolt (si además me mandais algunas capturas sin marco, trabajo que me ahorrareis) antes del Sábado, que el Domingo ya me es imposible.

Un saludo. Cerrando sesión...
Título: Re:Echo v1.4: road to season two
Publicado por: SplinterGU en Julio 26, 2016, 11:05:59 pm
muy buena la transparencia de las nubes, si haces el grafico con alpha, te deberia funcionar sin el flag adictivo... simplemente usando el alpha del grafico...
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 27, 2016, 12:23:25 am
Lo he probado, pero no, el reborde oscuro tirando a negro se queda transparente y oscurece esas zonas, queda fatal. Mañana a ver si te puedo hacer una captura para que veas como queda.
La otra opción sería hacer la niebla en 2 colores, pero dado que aun así el rendimiento en Wiz es penoso, lo dejo como "virguería gráfica" para la versión de PC:P

Nota mental: añadir a la lista de cosas para la v1.4 filtros 2x, 3x y 4x para PC usando scale_resolution.
Título: Re:Echo v1.4: road to season two
Publicado por: SplinterGU en Julio 27, 2016, 04:27:37 am
Lo he probado, pero no, el reborde oscuro tirando a negro se queda transparente y oscurece esas zonas, queda fatal. Mañana a ver si te puedo hacer una captura para que veas como queda.
La otra opción sería hacer la niebla en 2 colores, pero dado que aun así el rendimiento en Wiz es penoso, lo dejo como "virguería gráfica" para la versión de PC:P

Nota mental: añadir a la lista de cosas para la v1.4 filtros 2x, 3x y 4x para PC usando scale_resolution.

imagino que eso te pasa porque usas negro de fondo...
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 27, 2016, 11:16:36 am
Obviamente. Y dada la escala cromática que uso en el nivel, elegir cualquier color haría que se notase y se vería igual o peor.
Y por eso uso el negro, para poder usar luego el flag aditivo.

¿Nadie para betatesting? ^^U
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Julio 29, 2016, 04:48:55 pm
Bueno, pues en teoría mañana es el gran día... el primero de ellos.
No perdamos de vista que el hilo se llama "Echo v1.4: road to season two", y mañana lo que lanzo es la v1.3.2, que básicamente es un retoque estético de la v1.3.
Y sí, el "season two" que se añadió en la portada para el concurso del Hamster, ha desaparecido hasta nuevo aviso :D

Mientras que la v1.4 y final va a tener (al menos) 4 niveles completos, con bugfix gordos, etc, etc. En esta va a haber retoques más o menos mínimos por la parte visible.
De momento puedo adelantaros que sí, los escenarios ya tienen fondos, opcionales, pero los tienen. Incluso algunos de ellos hasta tienen foregrounds que no se van a poder usar en Wiz. Luego, los jefes de nivel... o jefes a secas, porque están esparcidos por todo el juego, por fin van a dar a conocer sus nombres, para que los maldigais a gusto. Y ese indicador para coger objetos, por fin.
Pero lo que no se ve es todo ese código reordenado. Yoquesecuantas mil líneas que han pasado de 14 ficheros de código a ¿112? Linux se debe estar liando ¿tantos? :S

Lo importante es que me he quitado algunas de las espinas que tenía clavadas desde hace tiempo. Aun me quedan unas cuantas como esos tiles de suelos que se rompen, el indicador de oxígeno, mejorar el redimiento o cambiar el sistema de salvado, que se quedan para la vuelta de vacaciones, junto con el final del nivel 4 y el inicio del nivel 2.

Los ficheros están subidos a GameJolt desde ayer, tras localizar tres bugs graves (todos relacionados con no haber copiado FPGs a la carpeta de Fede), pero no se van a activar hasta que me asegure de que no hay ningún bug extra suelto. Ya he estado juegando al juego entero una vez, sacando snapshots, e incluso improvisando algún gráfico de presentación porque no tengo los programas con los que hice algunos de los originales y GJ se empeña en que deben tener un tamaño 4 veces superior a los que tiene el juego en sí.
Un colega también se ha presentado voluntario para probarlo, y voy a reunirme con él esta tarde para hablar de ello.

En fin, stay tunned. Mañana me toca anunciar la salida oficial aquí, en GP32spain y en Facebook, mientras preparo las maletas para olvidarme durante un mes del wifi, los teclados y de los BEGIN-END que me llevan machacando 11 meses más de 8 horas diarias sin fines de semana que valgan :D

PD: ¡¡¡PIXEL!!! Responde a los privis.
 
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Julio 29, 2016, 08:02:12 pm
Te acompaño en el sentimiento y mándame las ansiadas betas, je je
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Septiembre 28, 2016, 05:06:50 pm
Hola de nuevo desde este pequeño diario de desarrollo.

No, no he vuelto a retomar el proyecto, al menos no de forma oficial (se retomará, pero ahora mismo estoy decidiendo qué camino tomar).
Pero sí que le he estado echando un vistacillo para meter el nuevo motor de scroll tileado, ese que pintaba sobre un gráfico que se ponía en un scroll de Bennu, y que se suponía que me iba a ahorrar todos esos procesos tiles que me ralentizaban tanto la Wiz. He hecho una prueba preliminar, incluyendo el scroll de una forma un poco tosca (tosca porque me aparecen tiles que no deben por todas partes, al no usar tiles de 16x16 en todos los sitios) y ha sido frustrante.

Al principio parecía que había ganado algo de suavidad, casi imperceptible, pero a poco que me iba adentrando en el juego, la pantalla se volvía más caótica (no pasa nada, estaba previsto) y todo iba cada vez más lento. Ahora no estoy seguro de si iba mejor antes con el scroll por procesos o ahora con un scroll más :S

He intentado mirar a través del profiler qué era lo que más recursos me estaba comiendo, pero parece que eso ya no existe. Parece que hay una relación directa entre el número de enemigos y cómo se ralentiza el juego, y hay algo que no me cuadra, porque creo recordar que hice que los enemigos que se alejasen de pantalla, desaparecieran y volvieran al mapa visible como datos. No sé qué es lo que hace que el juego vaya tan lento, porque incluso con el doble de procesos de cuando tenía el scroll por procesos parecía que se movía a la misma velocidad.

¿Puede ser que la detección de durezas sea un agujero negro de recursos? No debería porque a pesar de lo largo que es el código, se lee sólo una décima parte del mismo gracias a las sentencias SWITCH ¿Será la detección de colisiones? Tenía restringido el uso de collision a cuando el prota estaba cerca del enemigo, pero no sé si puedo reducirlo más sin que haya problemas, o sustituirlo por collision_box sin que haya quejas de que las colisiones no son muy reales. ¿Debería hacer un collision_box y despues, en caso afirmativo, un collision? ¿No se perdería aun más rendimiento?

Puedo reducir algunos cálculos si hago que se consulte una vez dos datos de la variable global info_prota.tilex, y se guarden en una variable privada (dichas variables se consultan en 160 lineas del proceso, pero en realidad son menos de 25 veces por frame), pero no creo que eso tenga mucho impacto en la velocidad.

Es que no me cuadra que cada 16 pixels que se avance haya un pequeño parón, el nuevo motor debería haber eliminado eso, porque teóricamente era lo que más recursos consumía, y ahora resulta que no, y ahora no sé si volver al motor anterior y probar otra cosa, o dejar este nuevo y arreglar los FPGs y los mapas para que funcionen correctamente con él (que es un trabajo que me llevaría como una semana o poco más dependiendo de la cantidad de problemas que de el testeo).

Si alguien tiene respuestas, serán bien recibidas. Especialmente sobre el profiler.
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Septiembre 28, 2016, 07:10:38 pm
Mi opinión es que los juegos tienen un principio y un fin. No mola ver una y otra vez el mismo juego con ligeros toques de imagen (independientemente de drásticos retoques de errores.) Al final creo que aburre.
Mi consejo es que des por cerrado ya el juego. Y se quede tal cual está para siempre. Los fallos de un juego son los que hacen únicos al juego.

¿Que hubiera pasado del mortal kombat II si hubieran quitado el fallo de agacharte y saltar para atrás cuando llega el enemigo? un mortal kombat IIb con eso arreglado a lo mejor hasta se hubiera aceptado. pero y si hubieran segido con el IIc todo igual quitando el fallo de saokan de saltarle una y otra vez con patada y no dejar que deje de cubrise?

En fin, mirando para el caso contrario, que le pasa al street figther II, que si II plus, que si II ', que si II '2 alfa plus ..., ahora salto y salto y salto y me salgo por arriba y aparezco por abajo, ahora hecho mil bolas, ahora me mezclo entre mis bolas que no me dan....

En fin, en mi opinión deberías cerrar ya echo 1 y empezar con echo 2, mismos personajes, nuevas fases no repetidas nuevas armas y opciones nuevos enemigos, que lleve la esencia de echo, pero ya en otro nivel.

Si te das cuenta todas las compañias hacen eso y es lo que vende y engancha, lo unico que perdura son los persojanes nada mas y a veces ni eso ( FF :) ).
Diablo - Diablo II - Diablo III
Herores of migth and magic I - Herores of migth and magic II -Herores of migth and magic III - Herores of migth and magic IV
bueno por poner unos ejemplos. :D

Quizas la alternativa de repetir mismo juego con mejoras gráficas y nuevas fases podría guardarse para pasados unos años hacer un remake. :D caso del remake de abu simbel profanation para PC

Con esto no quiero decir que no prosigas, los resultados molan, a la vista está, es solo mi opinión personal.
Lo veo como mucho tiempo invertido en lo mismo que al final no será tan agradecido como se espera. Lo poco nuevo que aporta el juego no va a merecer la pena al gran trabajo realizado en ello.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Septiembre 29, 2016, 10:20:36 am
Es probable, pero un juego con solo dos niveles me parece poca cosa :D
No es que el juego sea corto, que no lo es, sino que tenía planeado tres niveles en lugar de dos, y ya tengo empezado el cuarto sin haber tocado el segundo ^^U

Ya digo que no sería mala idea cerrar el Echo con los dos primeros niveles y empezar una segunda parte con otros dos niveles pero hay varias razones para hacerlo así:
- La jugabilidad de los dos nuevos niveles está entre lo ligeramente diferente y lo radicalmente distinto, y más que una segunda parte parecería un spin-off. El cuarto nivel tenía pensado que fuera un laberinto de puertas porque hice un juego hace años que molaba así, pero dado el feedback negativo que han tenido estos tipos de nivel a lo largo de los años (Crítico de la nostalgia: Bebe's Kids), creo que voy a optar más por un desarrollo tipo sandbox con minimisiones. Eso nos lleva al segundo punto.
- El objetivo del Echo siempre ha sido, en realidad, crear un motor para realizar el juego que tendría que haber sido: una aventura de plataformas, disparos y exploración, a medio camino entre Super Metroid y Cave Story. Poco a poco le he ido añadiendo cosas, lo he aprovechado en otros proyectos (he ido mejorando mi forma de programar) y lo del cuarto nivel me va a ayudar a preparar la parte de diálogos y cutscenes.
- Quiero aprovecharlo para subirlo una vez completo a GameJolt, y cobrar por él lo que la gente quiera pagar (aunque sea cero). Y si la cosa pinta bién, usarlo como muestra para crear un kickstarter para hacer esa aventura que digo: "Doggy!!!". En realidad, poca gente fuera del círculo de GP32spain, GP32x.com, Fenix y BennuGD conocen el juego, y si voy a expandir su difusión, quiero que esté lo más completo que pueda.

Pero no es algo que me obsesione. Ya lo dije en otro hilo, estoy dispuesto a seguir con otro proyecto si me llama la atención, ya sea en Bennu, PixTudio, Unity, Android o HTML5. Sólo me he puesto con el Echo porque lo tenía aparcado desde hace tres o cuatro años, y he usado parte de su código en varios juegos, y quería reaprovechar lo que añadí en esos otros proyectos aquí, pero estaba tan mal organizado que he tenido que hacer limpieza.
Ten en cuenta que la primera versión se desarrolló en tres meses (y uno fue para corregir y portar las detecciones de tiles de durezas), y contando los últimos 4 meses en plan tranquilo, no le habré dedicado más de un año neto.

Quiero intentar corregir los fallos que comento en el anterior mensaje porque es un problema gordo en Wiz, peor que las ralentizaciones en Sonic 2006, y a partir de ahí ya todo va rodado: terminar los pocos tiles que me faltan del nivel 4, desarrollar los del nivel 2, crear las nuevas físicas que necesito para el nivel 2, hacer unos pocos enemigos nuevos, aprender un poco de IA, y liarme a diseñar niveles, que es lo mío (y no descarto hacer modificaciones a los que ya estaban hechos, a ver si hago el nivel 3 un poco más interesante).

Por cierto, que el ejemplo que pones de SF2, Capcom estuvo vendiendo el mismo juego año tras año con ciertas mejoras, y poca gente se quejaba (al menos en mis círculos), y hoy día es lo que se hace con los paquetes de actualizaciones, DLCs, ediciones GotY... La diferencia es que yo no cobro, no tengo tanto feedback, ni tengo un equipo para añadir todo el contenido extra a lo largo de un único año :D :D :D
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 06, 2016, 01:52:23 am
Le he cogido ganas al código, sólo un poco, porque quería corregir de una vez esos pequeños fallos de control que tiene el juego.
Para empezar, ese bug que hace que, a veces, al tocar el techo, perdiese toda la velocidad lateral. Lo he aislado y he impedido que eso suceda, pero ahora, si golpeas diagonalmente la esquina de un techo, hay un pequeño "teletransporte"... pero también es cierto que el control mejora muchísimo en los saltos, y que ha corregido el problema de entrar en espacios donde el suelo y el techo sólo tenían un tile de altura: ahora es 10 veces más fácil entrar.
Sigo buscando el "teletransporte" que te pega a las paredes en las caidas, o por qué Echo rebota al tocar el suelo tras un salto o una caida. Vale que esto último es más realista pero me está dando problemas con los saltos, y eso es malo para el jugador.

Hoy me he puesto a hacer un poquillo de limpieza en el código del prota. Sí, quedan cosas por limpiar, aunque más que limpieza es una corrección de un error de novato. Lo que he hecho ha sido cambiar varios valores numéricos por constantes, concretamente los valores que indican cuánto se puede "pegar" echo a las paredes y al techo, dado que Echo no mide 16x16 pixels. Esto tiene más que ver con el nivel 2, en el que me estoy planteando seriamente sustituir los tiles de 16x16 por otros de 24x24 ¿Por qué? Porque necesito que los sprites sean un poco más grandes; se podría usar 16x16, pero creo que quedaría mejor si puedo tener algunos pixels extra... Es que no quiero desvelar de qué se trata.

Lo que ya no tengo más remedio que desvelar es lo que quiero hacer en el nivel 4, porque mi cerebro simétrico no me deja decidir (de nuevo). Tengo dos opciones:
- Que el nivel sea un laberinto de puertas, como pensé originalmente. Sé que no es una mecánica muy popular, que es muy frustrante avanzar a la derecha para que una puerta te mande a la izquierda, el no saber hacia dónde ir, por dónde estás, si avanzas o retrocedes... Y sin embargo, en los 90 diseñé "Super Mario Door", un juego basado en "Super Mario World" con esta mecánica y era bastante divertido en mi opinión.
- Que el nivel sea un sandbox de plataformas. La idea sería plagar el nivel de mini misiones, con gente con la que hablar para que te den tareas, indicaciones, te abran caminos, etc, todas destinadas a que obtengas la llave final para enfrentarte al jefe del nivel (bueno, y alguna misión extra para conseguir objetos o armas nuevas). También cambiaría la mecánica global del juego sin perder la esencia de plataformas, exploración y combate, y me permitiría desarrollar el sistema de diálogos y eventos controlados por la máquina para "Doggy!!!" (que es un juego de aventuras, plagado de este tipo de escenas).

Bueno, aquí sí que necesito vuestra opinión. ¿Que os atrae más?
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Octubre 06, 2016, 06:59:34 am
Ami lo que echa del hecho un poco para atrás es un poco lo laberíntico del juego; echo de menos que haya tres o cuatro pantallas de inicio que sean facilongas y con eso irse calentando
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Octubre 06, 2016, 08:06:17 pm
Yo me apunto a idea 2 también.
Y quiero probar ya el juego, deja alguna descarga ya >:(
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 07, 2016, 12:51:40 am
Pero Futu ¿Llegaste a superar la parte de las columnas o te quedaste ahí? porque hasta esa parte casi todo es muy "straight forward" y nada complicado (a menos que dejes enemigos vivos que vayan detrás de ti).
Se me está pasando por la cabeza hacer un quinto nivel basado en el espacio, que no sé si sería lineal como Freddy Hardest o con minimisiones tipo Alien 3 de SNES, pero primero voy a centrarme en los dos que faltan que no son moco de pavo.

DCelso: pero si la descarga ya existe. La puse antes de irme de vacaciones en Gamejolt, y la semana pasada lo resubí a openhandhelds para Wiz y Caanoo:
http://gamejolt.com/games/the-amazing-adventures-of-echo/170481
Más detalles en el mensaje 49 y en http://forum.bennugd.org/index.php?topic=4308.0

A los demás, sigo esperando vuestros votos.
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Octubre 07, 2016, 01:32:08 pm
ostras, pues vi a ve.
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Octubre 07, 2016, 02:33:55 pm
¿que coño es un game jolt y como se puntua? :D
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 07, 2016, 04:27:04 pm
Creo que te tienes que registrar para puntuar y comentar.
Aparte de eso, es una página de juegos hechos por aficionados, tanto terminados como en desarrollo, gratuitos (aunque hace poco han añadido la posibilidad de vender los juegos) y en la que se pueden crear páginas de concursos para que participe quien quiera. Es donde se suelen subir los juegos de la Familiar Game Jam (la próxima es el fin de semana del cambio horario).
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 09, 2016, 05:58:07 pm
Bueno, sigo esperando opiniones sobre qué estilo de juego os apetece más en el cuarto nivel, si laberinto de puertas o pseudo-sandbox.
Lo cierto es que me llama más la atención el segundo estilo, casi estoy pensando usar el laberinto de puertas para el juego paperactivo de este año, y además conmemoro los 25 años de uno de mis juegos favoritos, "Super Mario World", haciendo "Super Mario Door 2: la puerta de las 7 llaves y media" (título provisional :D ).
Aunque estoy pensando que voy a tener problemas con los enemigos, porque actualmente la información de estos se almacena dentro de los mapas de tiles, y se eliminan del mapa a medida que se generan los procesos (aunque se restituyen si siguen vivos al alejarte demasiado). Esto significa que cada enemigo sólo se puede matar una vez en cada partida, no hay forma de "regenerarlos", y aunque es una práctica que nunca me ha gustado (lo de volver sobre tus pasos un poco y volver a encontrarte al enemigo que has matado diez segundos antes al volver a avanzar), es necesaria en un nivel que tienes que ir recorriendo una y otra vez... salvo que sea el objetivo del juego (como en Metroid II, donde tenías que eliminar todos los metroides del juego).

Pero bueno, los problemas de uno en uno.

Como sabeis, se ha estado celebrando la RetroBarcelona (a estas horas debe estar a punto de cerrar), y Ryo Suzuki me había pedido permiso para portar el Echo a Dreamcast. Aunque se lo concedí, no pudo hacerlo a tiempo, y yo no tengo ni DC ni entorno para desarrollar en ella, así que se ha pospuesto hasta que vuelva.
Gracias a L1nk3rn3l he podido hacer avances en la preparación de un "entorno de desarrollo" (a base de releases oficiales de Bennu y emulador de DC), pero no hasta el punto de tener algo funcionando más allá de un "hola mundo".

¿Y a qué viene este rollo? pues simplemente a que he añadido código específico para DC: un set_mode específico adaptado a su resolución, una inicialización de teclas por defecto para los valores del mando de DC, y la posibilidad de añadir al principio de las rutas de carga de recursos (FPG, PNG, WAV...) el famoso prefijo "/dc/".

Hoy estoy en modo "piloto automático" porque no he dormido bien, y me he puesto a depurar código.
He conseguido aislar el código que hacía que Echo rebotase. El problema venía de usar "resolution". Al recolocar a Echo, no tenía en cuenta los "decimales" y en ocasiones lo colocaba 6 décimas de pixel por encima del suelo, y al actuar la gravedad, que desplaza a Echo 0'2 pixels*frame, hacía que el prota volviera a entrar en modo "caida".
Le he dado tres soluciones al problema, y es curioso cómo en cada una de ellas reducía el número de cálculos de 12 operaciones (que incluía una operación módulo), a 9 y finalmente a 4 o 5 (usando sólo sumas, restas y multiplicaciones).

Actualmente estoy intentando resolver el teletransporte contra las paredes. He localizado el origen del problema, pero estoy demasiado ZZZZZ como para ver por qué aparecen esos valores y qué solución se le puede dar.
Lo malo es que sólo los más obsesivos del control van a notar la mejora que sale de todo esto. Para los demás no va a parecer gran cosa, pero os aseguro de que yo estoy viendo muchísimos cambios a la hora de jugar, para mejor, para mucho mejor: el botón de salto falla sólo un 10% de lo que lo hacía antes (sigue fallando en rampas :( ), los saltos con techo bajo ya no son una lotería saber si vas a llegar o no (va a ser culpa del jugador en un 95%), y entrar en esos pasillos estrechos es muchísimo más fácil.

Cuando acabe, tendré que trasladar todos estos cambios a los enemigos, y luego a los otros juegos que han usado el mismo motor de detección de durezas (aunque sólo se me vienen dos juegos a la cabeza: Montezuma, y el otro que nunca fue lanzado).
En fin, sigo esperando opiniones sobre el nivel 4 ¿laberinto de puertas o sandbox con misiones?
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Octubre 09, 2016, 06:36:15 pm
¿y por que no los tres? lol

nos vemos en retrosevilla, guiño guiño
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Octubre 09, 2016, 07:01:04 pm
misiones, pixa. misiones. mola mas.

¿conoces super paper mario?

Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 09, 2016, 11:56:12 pm
¿y por que no los tres? lol

nos vemos en retrosevilla, guiño guiño

¿Qué tres? yo sólo he dicho dos (y deja algún estilo de juego para otras fases, si las hago :D).
¿Qué retrosevilla? ¿Cuándo es?
¿Y estás ligando conmigo? Como se entere Fede...

misiones, pixa. misiones. mola mas.

¿conoces super paper mario?

Lo conozco... pero no lo he jugado :( Es una saga que me gusta desde N64 y nunca he podido jugarla porque los juegos son carísimos. De momento me conformo con "Mario & Luigi: paper Jam bros" (qué peñazo conseguir los logros de batalla).
¿Por? ¿No me irás a ponerme a hacer giros 3D a la cámara? :D
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Octubre 10, 2016, 06:45:41 am
yo me pasé el de wii. está chulo, porque es un estilo a tu juego, plataformas plan misiones, llaves y con diferentes herramientas para acceder a los distintos niveles.
tiene cosas chulas que a lo mejor te puedan dar ideas para el tuyo. No solo lo del giro 3d, que tambien  mola, sino lo de  los pixelitos o algunos super porderes.

Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Octubre 10, 2016, 07:49:47 am
http://www.retro-sevilla.com Llevaré una camiseta de  marciantos
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 10, 2016, 12:15:39 pm
Pues nada, a ver si lo veo barato y lo pruebo, porque gracias a los especuladores, a que Nintendo no rebaja sus juegos ni consolas hasta que se les ve el plumero, y que las tiendas de segunda mano están subiendo los precios para que hagas uso de sus oficinas de préstamos, es un sinsentido. ¡Imposible ver el de GC por menos de 40€ cuando dicen que es casi un refrito "HD" del primero!

http://www.retro-sevilla.com Llevaré una camiseta de  marciantos

Este viernes, lo que se celebra es la presentación del evento. Aun no hay fecha para el evento principal. Se va a anunciar allí. :P
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Octubre 10, 2016, 02:18:02 pm
vaya tela, del 21 al 23, pa la semana que viene...
(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3681)
Título: Re:Echo v1.4: road to season two
Publicado por: Ryo Suzuki en Octubre 10, 2016, 05:43:15 pm
Bien hecho, los cambios de cara a Dreamcast. Lo conseguiremos correr ahí también!!

Sería genial que pudiera estar para la Retro Sevilla de una forma u otra -PC o DC-, que por otro lado, me gustaría ir. Hace ahora muchos años que no voy a mi querida Andalucía!!
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 10, 2016, 06:42:11 pm
Okis, te pasaré los fuentes esta noche o en cuanto pueda, porque ahora mismo estoy corrigiendo bugs del movimiento de Echo, y tengo un porrón de SAYs por todo el código (bueno, por los 6 includes del prota). Si lo conseguimos será la versión con mejor control de todas las que hay :D Hoy he corregido el "teletransporte" que le hacía pegarse a las paredes cuando caía (otra vez por culpa de resolution), ahora intento evitar un salto que pega ocasionalmente en las rampas.
Eso sí, me tienes que pasar, aunque sean los binarios, del runtime de DC que andas usando tu, a ver si consigo llegar, al menos, a cómo tienes tu el código. A partir de ahí ya podría investigar qué leches pasa para que se cuelgue.
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Octubre 10, 2016, 06:54:02 pm
 :o
ninguna acepción es masculina.

http://dle.rae.es/?id=IYZhVtl
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 10, 2016, 07:08:39 pm
Según esta, sí:
https://es.wikipedia.org/wiki/Elipsis_(figura_ret%C3%B3rica)

Los ficheros fuentes son masculinos. Si se dice "las fuentes" pensamos directamente en Comic Sans, Arial, Windings... A menos que tu nivel friki sea inferior al 3, en cuyo caso estarías pensando en un paseo por el parque y agua cayendo :P
Título: Re:Echo v1.4: road to season two
Publicado por: Ryo Suzuki en Octubre 11, 2016, 06:09:36 pm
He estado dándole y está muy bien, la verdad.

También es bastante difícil o estoy perdiendo facultades:

(http://www.segasaturno.com/portal/files/images/2/echo.jpg)

Me ha matado el primer boss!!
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Octubre 11, 2016, 07:23:52 pm
mola.  :)
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 12, 2016, 12:26:31 pm
Pequeño tip del día: Guippo es vulnerable en la cabeza, los disparos hacen el doble de daño, pero ojo, la cola sólo recibe la mitad ¿Y qué importa la cola en un punto tan inaccesible? Bueno, en realidad...
No es difícil, sólo es que tiene mucha energía. Sus tres ataques son fácilmente esquivables. Es sólo tener paciencia.

Recuerda que puedes usar el set de gráficos STYLISH si no te gustan los míos desde el menu de configuración, y que la Leaf Blade es difícil de conseguir por algo :D
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Octubre 12, 2016, 04:44:59 pm
Guippo es fácil, lo difícil es no dejarse algo de mientras
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Octubre 12, 2016, 10:54:06 pm
Mola el juego, no recordaba que fuera tan dificil, ma costao pillarle el truco al dragón. Parecía invulnerable.  ;D
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 20, 2016, 12:24:29 am
Antes de que se me hunda el hilo entre los proyectos de DCelso, voy a dar un pequeño update.

Parece que el estar medio zombie me convierte en el mejor buscador de bugs de mi mismo. Por lo general, con la cabeza despejada, no aguanto más de media hora, una como máximo, antes de aburrirme y dejar de buscar. Si tengo sueño, parece que pongo el piloto automático y no me importa mirar cualquier variable, gastar el tiempo probando cada pequeña cosa, ir una a una, hasta que doy con la tecla.
Hoy ha caido otro de los fallos de jugabilidad del prota: en algunas ocasiones, al bajar una rampa, hacía un pequeño teletransporte hacia arriba, de unos 15 pixels, que duraba entre 1 y 3 frames. He descubierto el origen del bug, y sí, otra vez es culpa de las imprecisiones de usar resolution y mis prisas por no verificar cada parte del código.
Como resultado del arreglo, ya se pueden bajar las rampas casi con toda suavidad, aun hay unos microsegundos en los que el prota se despega del suelo y no funciona el salto, pero parece que sólo ocurre al inicio de la rampa o cuando se va a muy baja velocidad. Como efecto secundario, los saltos en rampa son un 50% más efectivos, ya que anteriormente se daba el caso de que la mitad de las veces que se intentaba saltar no se podía, porque el personaje estaba en el aire.
No lo he testeado a fondo, pero sí que ha ganado estabilidad.

Y es que es importante acabar con estos bugs. No sé si lo he dicho, pero luego esto va a copiarse a los enemigos, a otro código dentro del juego, y luego a los demás juegos que he hecho (Montezuma, ¿SBTime?, el otro que no se lanzó...).

Aparte, la cosa va más lenta porque tengo que intentar lograr que funcione el port a Dreamcast, y tengo que terminar un juego paperactivo antes del 15 del mes que viene.
Como me va a ser imposible terminar el "Superpilotos 4" (un juego basado en cuando me iba con las bicis con los colegas a patrullar por el barrio, convertido en un Metroid con superbicis con habilidades únicas), he decidido rescatar un juego bastante sencillo de hacer en su día, y que me va a servir para dos propósitos: comprobar la viabilidad de los laberintos de puertas que quería implantar en el nivel 4 del Echo, y rendir homenaje a un juego que este año celebra su 25 aniversario. Estoy desarrollando "Super Mario Door 2".
Lo cierto es que me siento bastante cómodo desarrollando niveles al estilo SMW. Por lo general me tiro unos días intentando adaptarme al estilo del nivel y a dibujar sus gráficos, pero en apenas tres ratos ya tengo la mitad del nivel tutorial hecho. Hay previstos cuatro niveles, pero sólo dos son obligatorios: el tutorial y el gran castillo de Bowser (el original sólo contaba con un nivel, y se superaba en 15 minutos o así).

En fin, poco a poco. Mientras le dedique un rato a cada cosa, en algún momento se terminarán. :)
Necesito dormir.
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Octubre 20, 2016, 06:46:26 am
Antes de que se me hunda el hilo entre los proyectos de DCelso, voy a dar un pequeño update.

...

XDDDDDDDDDDDDDDD

A mi me pasa muy mucho que le doy a saltar y no salta.

Y me fastidia un huevo en saltos cortos y estrechos.

A lo mejor era culpa de esto.

Voy a ver.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 20, 2016, 10:28:18 am
En los pasos estrechos, el problema es otro, que ya comenté varios mensajes atrás.
Y no busques la actualización porque no la hay ^^U Esto es un worklog, nada más. Voy diciendo los cambios que hago al código, pero no se lanzan hasta que la versión está completa.

Pero bueno, si hay mucha insistencia, puedo mandar por correo una alpha en forma de DCB para sustituir el de la última versión (la v1.3.2), pero sólo por ser vosotros. Ya digo que sólo se han arreglado tres o cuatro bugs en el control del personaje (aparte del código extra para DC).
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Noviembre 08, 2016, 08:32:03 pm
Bueno, esto es un DCB compilado con la última versión del Echo para pruebas en DC, en exclusiva para Ryo Suzuki. No intentéis descargarlo porque viene protegido con contraseña (¿a que soy malvado?).
Tampoco os perdeis gran cosa, porque sólo tiene código para DC y los bugs corregidos. He tenido un parón por otros proyectos, como la Familiar GameJam, y motivs varios, como diseñar el "level select" que me hace falta para testear el rendimiento en Wiz, dado que en mi última prueba, sustituir el scroll tileado de tile por proceso a capa por proceso no ha mejorado casi nada el rendimiento, y temo que el problema venga de la detección de durezas de los enemigos: es un trozo de código que, en teoría, no debería consumir gran cosa por todos los IF y switch que contiene, pero sus más de 1000 líneas a cada uno de los 20 o 30 enemigos que se pueden acumular (más si la gente pasa de eliminarlos) suponen una sobrecarga... supuestamente. Eso es lo que tengo que mirar, quitar los enemigos e ir a una de esas zonas que se ralentiza a lo bestia, pero es algún lugar intermedio del nivel 1-3 o 1-4, y eso es, como mínimo, 10 minutos de juego hasta llegar allí (y usando una de mis partidas guardadas, claro).
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Noviembre 08, 2016, 09:55:07 pm
¿y ese avatar?
Título: Re:Echo v1.4: road to season two
Publicado por: Ryo Suzuki en Noviembre 08, 2016, 11:56:52 pm
Recibido jefe, mañana lo pruebo que hoy es ya muy tarde.

A ver que says dice la Dreamcast a la consola del PC por BBA y descubrimos dónde se cuelga exactamente y qué está haciendo cuando se quedaba negro ahí freeze tras el menú, press start y demás....
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Noviembre 09, 2016, 12:29:08 am
Ah ¿pero conseguiste hacer funcionar el juego en la consola? Pensé que sólo lo habías hecho funcionar en el emulador (yo todavía ni eso ^^U).
Los Says sólo van a llegar hasta el menú principal. A partir de ahí... no lo he mirado, la verdad, porque hoy tenía clase y apenas te he podido descomentar los says que puse para probarlo yo en el emulador ^^U
Bueno, ya me dices lo que te sale y partiremos de ahí.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Noviembre 28, 2016, 06:17:11 pm
Bueno, a falta de una DC, voy a intentar seguir el desarrollo normal y, eventualmente, ir haciendo arreglos en función de los avances que se hagan por parte de Ryo e Indiket.
Esto es un consejo personal: nunca intenteis un port en una consola que no teneis a menos que sepais exactamente lo que estais haciendo o tengais mucho tiempo y alguien que te haga las pruebas en "tiempo real". Si todo funciona a la primera, irá de lujo, pero si no, podeis tener problemas insalvables, o que precisan de tantas prueba-error que tardaríais meses si teneis que andar con correos electrónicos o programas de subversion.

Bueno, de momento, escribo porque he hecho un pequeño receso en los proyectos "gobaug" y "montezuma" y me he puesto un rato con este proyecto.
Y ha sido eso, un rato. Ya más o menos tengo diseñado cómo va a ser el menú de selección de nivel, y me he puesto a programar. No recordaba que ya existía un proceso "level_select", que usaba para inicializar una serie de datos y ejecutar el nuevo nivel para el concurso del Hamster... bueno, sabía que existía, pero no que tenía ese nombre y que estaba guardado donde está. esto me ha dejado un poco descolocado porque hacía ya tiempo que no tocaba el código, pero pasado el susto inicial, y la búsqueda de las variables que iba a necesitar, empecé a programar... hasta que vi que necesitaba nuevos gráficos.
Por lo que hoy, he escrito 8 líneas, y he hecho unos 15 gráficos, que no son ni la mitad de los que necesito, pero bueno, como siempre digo, "mientras se vaya avanzando un poco en el proyecto, en algún momento se terminará".

Sé que me llamais pesado por no acabar ya con Echo, y soy el primero que quiero darle carpetazo y ponerme con algún RPG, el juego de carreras en Unity o yo que se (incluso "Doggy!!!", la secuela en plan aventura), pero quiero dejar el Echo cerrado completando el nivel que está a medias, pero necesito antes que funcione en Wiz, que es la plataforma destino al fin y al cabo. Podría dejarlo sólo para PC, me ahorraría muchísimo trabajo, pero su resolución nativa es la que es: 320x240, y no se puede cambiar.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 03, 2016, 06:33:10 pm
Hoy le he dado otro empujón al proyecto. He conseguido mantener este menú de selección de niveles aislado del resto del código... más o menos.
El primer problema que he tenido es que el fichero de guardado que tenía no estaba bien, sólo había almacenado la mitad de los datos que necesitaba, así que he tenido que modificarlo con un editor hexadecimal. Con esto y la consola de bennu he ido comprobando que todos los apartados del menú funcionan correctamente.
Sin embargo se me está complicando por momentos. Hay cosas fáciles de hacer, como seleccionar las vidas. Otras no tanto, como la energía que quieres tener al inicio de la partida, porque dependerá de cuántos items de expansión de energía hayas encontrado en el juego y cuánta energía máxima quieres usar (sí, se podrá emular que no has cogido ninguna expansión de energía en el nivel 3, o empezar la partida como si los hubieras encontrado todos).
Ahora me enfrento a la selección de nivel al que quieres jugar, y es lo más complicado de todo: hay 4 niveles, pero el 2 no está hecho, cada nivel tiene un número diferente de subniveles, y según el nivel o subnivel, puedes empezar desde un checkpoint o no. No es tan sencillo como seleccionar 3 números y hala, a jugar, hay que restingir la selección a lo que existe y a lo que el jugador ha desbloqueado.

Si le dedico unas 5 horas lo terminaré... o algo más, porque quiero usar capturas de los niveles para el menú, para que quede bonito, y luego añadir un fondo monocromático con scroll.
Y se suponía que esto iba a ser sencillo y rápido ^^U

En fin, espero poder acabarlo rápido y así tener otra herramienta de desarrollo. Luego no sé si ponerme a añadir los checkpoints o ponerme con las optimizaciones de Wiz. Lo suyo serían los checkpoints, para poder acceder rápidamente a esas partes conflictivas.
Y cada vez veo más sensato dividir el nivel 4 en tres niveles diferentes. No quería, para ir terminando pronto, pero es que me gusta la idea de un nivel egipcio a lo Indiana Jones, la fase de las cavernas con más agua y caminos alternativos, y hacer el último nivel como lo planteé hace tiempo, una miniaventura con misiones en un nivel abierto a la exploración (con los checkpoints sería posible, ya que puedes guardar y seguir en otro momento).

...ya, ya, Gobaug, sí, lo tengo pendiente, pero cuando las ganas te vienen, hay que aprovechar :P
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Diciembre 04, 2016, 10:41:26 am
pero si no dije na...
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 04, 2016, 09:04:27 pm
¡PUES DEBERÍAS!

 :D :D :D Nah, cuando terminemos de ajustar el prota y los enemigos, podremos seguir con el gobaug... más que nada porque ahora mismo no sé qué se necesita programar ^^U

Mientras tanto, puedo decir que el proyecto Echo cuenta ya oficialmente con un selector de niveles. No, no está acabado, aun necesita de algunos detalles gráficos para dejarlo bonito, como mostrar el nombre o algún snapshot del nivel, o tener un scroll de fondo. Lo que importa es que la parte funcional está hecha y ya lo he probado... un poco. He podido saltar al nivel que he querido, aunque eso sí, el level select es sólo para jugar UN UNICO NIVEL. Para jugar una partida y seguir donde se quede uno ya existen las partidas salvadas... aunque quiero eliminar la limitación de 6 partidas, y la obligación de guardar en el mismo slot en el que se empezó, pero vayamos paso a paso.

Lo que tengo que hacer ahora son los checkpoints, que no es una tarea tan sencilla como pueda parecer a simple vista. No es añadir un tile especial que, al pulsar abajo, guarde la partida. Debo hacer que el play_level los identifique como posible punto de inicio, evitar que los elimine como los otros puntos de inicio que ya existen, evitar que salven en modo level_select... bueno, una serie de operaciones extra. Luego podré usar el level_select para empezar en esa posición y ver por qué leches se ralentiza tanto en Wiz aun usando el nuevo motor de scroll tileado.

Y tengo que ir dejando el hueco al nivel 2 dentro del juego, que ya va siendo hora.
Y también ver cómo implemento las plataformas móviles, que también va siendo hora de hacer alguna :D
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 05, 2016, 06:27:54 pm
Bueno, pues ya está todo más o menos listo para recibir los checkpoints, la duda es ¿Qué leches uso de checkpoint?
Mi primera idea era poner un banderín de color triste/oscuro, iluminado por una luz desde abajo (para que resalte), que se volviese de color vivo al cogerlo, pero creo que está demasiado visto.
Luego he pensado en una espada en su pedestal, en plan épico, pero ¿entenderán los jugadores que eso es un punto de salvado?
Y ya no sé si poner un orbe, una gema o qué (admito ideas).

Mientras, le he dedicado un ratillo más al selector de nivel, y... no quería poner nada, pero me puede el ansia, y os muestro una versión casi acabada del menú, para que os de envidia :D

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3855)

Y bueno, eso es todo, de momento. Quizás necesite un voluntario para hacer de betatester, alguien que sea capaz de pasarse el juego entero del tirón, porque ahora mismo no garantizo que las partidas salvadas funcionen (aunque ni las he tocado). Es simplemente para ver que no me he cargado nada del modo de juego normal y que las fases se siguen reproduciendo una detrás de otra.
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Diciembre 05, 2016, 07:52:02 pm
pon un boton de recreativa :D
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 06, 2016, 01:11:38 am
Necesito algo que se de en películas o series de acción, que recuerde que Echo es un chavalín viviendo su propia historia como heroe, o que realmente parezca de una peli de aventuras, de acción o de superheroes. Ya he descartado el puesto de frutas :D
Pero también debería indicarle al jugador que es un checkpoint o un punto de salvado, y quiero huir del estereotipo del disquete... Mmmm, una SD... o un pendrive como los que contienen documentos clasificados o virus informáticos... ¿un disco de datos codificado ultrasecreto?... ¿quizás un maletín con un ordenador? ¿un zapatófono?...
Título: Re:Echo v1.4: road to season two
Publicado por: DCelso en Diciembre 06, 2016, 11:45:32 am
Una pokeparada.
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Diciembre 06, 2016, 11:52:33 am
una flecha...

un poste de autobus de parada

un cartel de parada taxi

una señal de prohibido aparcar

un paso de cebra, lol

ya lo tengo, a su perro dogy, le espera impaciente y cuando el lo acaricia ya se queda sentaito tranquilo
en caso que es a dogy a quien esté buscando, poner a su gato caty o a su pescaito fishy
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 06, 2016, 12:02:04 pm
ya lo tengo, a su perro dogy, le espera impaciente y cuando el lo acaricia ya se queda sentaito tranquilo

La verdad es que es muy buena idea, no lo había pensado (y mira que es una elección obvia ^^U).
Tenía pensado usarlo en otra parte del juego, pero creo que puede ser compatible...
Entonces tendré que acabar con su diseño. Aun no tengo nada definitivo sobre Doggy, porque es difícil crear un perro adorabilísimo en menos de 16x16 (sobre todo el problema es el factor "achuchable" :P). Trabajaré en ello.

Muchas gracias, ya iba a poner el típico disco láser dando vueltas :P
Título: Re:Echo v1.4: road to season two
Publicado por: Ryo Suzuki en Diciembre 07, 2016, 03:48:44 pm
La verdad es que te está quedando muy pero que muy bien!!

Por cierto, malas noticias:

(http://www.segasaturno.com/portal/files/images/2/consola.jpg)

Probado en consola real y después de LOGOS OK se queda colgado, no llega a mostrar nada en pantalla.

Con la antigua versión que l1nk3rn3l montó para Dreamcast sí que pasaba de los logos y demás...

Creo que habría que reducir mucho lo que pesan las imágenes, evitar que cargue recursos como el audio y demás para que cargue los assets mínimos y más livianos para poner algo en pantalla, quizás poner says más específicos para ver qué está pasando realmente y dónde se cuelga el tema...
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 08, 2016, 01:25:35 pm
Pues por recursos no creo que sea, más que nada porque en la portada, el único FPG que carga, en principio, pesa 184KB, así que si no puede con eso la DC, mal vamos. Bueno, luego está la música, pero no llega a 1MB. Ya te dije que el Echo funciona en GP2X, que tiene menos de 32MB de RAM :D
Lo único que puedo decir es que si llega a "LOGOS OK", lo siguiente es examinar el fichero src/main_menu/main_menu.inc. Ahora mismo estoy en Linux y te he hecho una versión de ese fichero con varios SAY, a ver hasta donde llega (al menos, hasta la parte del FADE). Espero que los fin de línea Linux style no sean un problema (y si no, lo puedes arreglar con notepad++).
No te quiero mandar todo el código de nuevo porque no sé los cambios que habrás hecho, y los que tengo ahora mismo son "más o menos estables".

Y con "más o menos estables" quiero decir que he estado trasteando con los ficheros de salvado para que guarden información de episodio, capítulo y checkpoint, ya que antes sólo guardaban los dos primeros, porque era información suficiente. ¿Qué ha cambiado?, pues que ahora tenemos checkpoints. Antes los había, pero estaban relegados al episodio 3, y también al 4 pero en plan chapuza. Al añadirlos al resto del juego, me he visto obligado a añadir esta información extra, y ahora los ficheros de salvado no sirven, tengo que generar unos nuevos para hacer pruebas al modo principal (teniendo el level select, tampoco es algo que me urja).
De hecho, he estado modificando los niveles y he añadido unos cuantos: en el primer episodio hay al menos un checkpoint por cada capítulo, incluso 4 en el 4º capítulo, dadas las vueltas que hay que dar y lo largo que es. En el 3º, el del futuro postapocaliptico, hay hasta 9 puntos de salvado, en lugar de los 3 de antes... aunque aun tengo que resolver un problema con uno de ellos (he puesto uno tras el primer boss del episodio, para seguir después de tan dura batalla, pero si se inicia desde ahí, se lanza el evento que lo activa y se produce un bug "mu gordo"... aunque se me acaba de ocurrir una solución).
Hay algunos checkpoints que debo revisar, pero es que, sin el progreso normal del juego, algunos sitios hacen que Echo reciba daños antes de que se pueda empezar a controlar (la idea era que al salvar en los checkpoints, se guardasen los enemigos muertos para que no vuelvan a aparecer, pero usando el level select no hay enemigos que quitar, así que algunos checkpoints al lado de enemigos que deben morir para acceder a ellos, pueden hacerte sufrir daños antes de tiempo). Ya dije que quizás tendría que revisar los niveles, y modificarlos ligeramente. Al menos ya he resuelto un fallo que había en el mapa de durezas desde la primera versión ^^U

El cambio de los ficheros de salvado también me ha hecho modificar el menú de selección de partida. Por suerte han sido cambios menores. Y esa es otra de las cosas que quiero modificar, poder salvar más de 6 partidas, y poder elegir en cada momento cual de ellas quieres sobreescribir. Puede suponer un problema porque no sé a ciencia cierta cuántos ficheros habrá (aunque los limite) ni cuales están disponibles, y pueden complicarme la vida. Creo que voy a limitarlo a unos 15 o 20 ficheros máximo, y crear un scroll en la ventana de selección de fichero, con esa cantidad de slots, una por fichero, para no complicarlo tanto. No sé ¿cómo lo veis vosotros?

En fin, no he dicho lo más importante, pero creo que ya tengo, por fin, ¡¡una versión definitiva de Doggy!! aun tengo que pedir un par de opiniones más de confianza antes de revelarlo en público, pero creo que os va a gustar, el factor adorable es alto (más de lo acostumbrado en mi :P) y me han entrado ganas de convertirlo en mi "Yoshi" particular, pero no quiero añadir ninguna mecánica extra al juego de las que ya tenía previstas (me lo guardo para "Doggy!!!" ¿Qué? ¿que el objetivo es rescatarlo? Es la idea, pero según el guión hay más cosas que están pasando, aunque sea algo sin importancia como una guerra, y la vuelta a casa no va a ser tan sencilla :P No, no hago spoilers porque aun no hay un guión escrito, o sea, que ni yo sé lo que va a pasar en el juego, más allá de las 4 lineas generales y las 3 escenas puntuales).
A ver dónde encuentro SFX adorables y que pueda usar legalmente :P
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 10, 2016, 08:19:12 pm
Vale, aun tengo que arreglar algunos problemas con los eventos (no había previsto lo de poder estár por delante de los eventos sin haberlos completado). Por suerte, la prueba que hice con el primer boss del episodio 3 ha funcionado y ya es cuestión de aplicarlo al resto de eventos.
Pero lo más urgente era ver qué es lo que tenía que optimizar, así que hice pruebas del Echo en Wiz, usando los dos motores de scroll tileado y... los resultados son, como poco, no concluyentes... o raros:

Ciertamente, el motor de scroll usando el scroll de Bennu y una imagen que se actualiza por filas/columnas (en adelante, graph_tscroll) ha demostrado ser ligeramente más rápido que el motor que usa un proceso por tile (en adelante, proc_tscroll).
Según mi análisis inicial (allá hace pffff años), el graph_tscroll debía ir un 100% más rápido como poco, y permitirme meter más enemigos y un segundo plano de scroll. Como adelanté en otro análisis posterior, la mejora apenas era de un 10%. Wiz ha confirmado este análisis en parte. proc_tscroll incorporaba optimizaciones en el mapa en tiempo de ejecución que hacía que hubiera menos procesos en pantalla al agrupar 2 o 4 tiles iguales en uno solo, y esto ha hecho que ambos scrolls funcionaran casi a la misma velocidad.

Por alguna razón, sin movimiento de scroll, proc_tscroll iba más suave que graph_tscroll, pero en cuanto empezaba el movimiento, los tirones cada 16 pixels (momento en el que se refresca la lista de procesos-tile o el mapa del scroll) eran más obvios en proc_tscroll.
No he apreciado diferencias de rendimiento en zonas donde había una gran concentración de tiles. Son los enemigos los que han marcado la diferencia de rendimento, dando esos "efectos raros" que no acabo de comprender.
Cuando había pocos enemigos, el proc_tscroll era más efectivo, pero en cuanto la cosa se sobrecargaba (hablamos de 30 enemigos o más), graph_tscroll daba algunos FPS más que el otro.

En resumen, graph_tscroll ha dado mejor rendimiento en movimiento sin enemigos y con muchos enemigo, mientras que sin desplazamiento de scroll y con algunos enemigos, es proc_tscroll el más eficiente. WTF?

Mi teoría es que el scroll de Bennu tiene más problemas manejando procesos que se ven a través de los huecos del mapa, que en manejar muchos procesos simultáneos. Pero llega un punto en el que cuando hay demasiados procesos, la carga de la gestión de estos supera en mucho el tiempo que tarda el blit en dibujar los enemigos en los huecos del scroll.

Pero claro, es una medición a ojo y son suposiciones. La mejora de rendimiento es mínima, y usar graph_tscroll me obligaría a modificar muchísimos tiles que no son de 16x16 (los hay de 32x16, 16x32 o 14x14 (items). Por lo que creo que mi mejor baza ahora mismo es intentar optimizar el rendimiento de los enemigos. Casi todos usan el mismo código de detección de durezas (gracias, include) y creo que es lo que más daño hace ahora a la CPU. Creo que si puedo suprimir su uso en los momentos de "idle", algo ganaré, pero tengo que mirar si el uso de "switch" penaliza mucho más que usar "elseif".
Y creo que debería comprobar "collision_box" antes de hacer "collision" ¿no? Actualmente compruebo que antes estén lo suficuentemente cerca del prota mediante sus locales X e Y, pero así gano algunos FPS mientras están lejos, perdiéndolos cuando están en contacto.

Otra solución es suprimir esas "habitaciones" repletas de enemigos. Las uso para restablecer la energía y conseguir items de experiencia para armas, pero se pueden sustituir por "estaciones de recarga" (aunque es un placer masacrarlos a todos con un arma bien cargada :D).

Eso sí, los fondos de scroll en Wiz se pueden ver, pero se pierde velocidad, y el "foreground" del primer capítulo está desaconsejado TOTALMENTE. Ese flag aditivo es demasiado para la consola.

Puedo preparar un paquete de pruebas si alguien quiere hacer de betatester en Wiz, con un dcb para el graph_tscroll y otro para el proc_tscroll. Una segunda opinión no me vendría mal, antes de seguir adelante.

Nada más de momento.
Título: Re:Echo v1.4: road to season two
Publicado por: l1nk3rn3l en Diciembre 10, 2016, 10:13:55 pm
me imagino que estas usando dreamcast ...

vendrian bien un     execute("nivel3.dcb")     ;D

asi funcionaria como un reinicio pero con un dcb diferente..



ya dentro de poco le pondremos eso.. es que la DC se fragmenta la memoria
por tener tan poca ram...

esperad... y le echaremos mano... creo que tambien al port PS2

Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 11, 2016, 05:02:44 pm
No, he dicho Wiz :D En todo caso PC. Lo de DC lo he dejado de lado mientras Ryo_suzuki no me diga lo que le lanza la consola con el último fichero que le he pasado.
Ahora, dentro de un rato, os diré los resultados de las pruebas de IF vs SWITCH, porque son sorprendentes :)
Título: Re:Echo v1.4: road to season two
Publicado por: Ryo Suzuki en Diciembre 19, 2016, 10:25:26 pm
Sé que soy un pesado, pero me tendrías que pasar el .dcb con ese cambio ya compilado porque como te comentaba a mi no me compila por el error de los songs...

Para la Dreamcast son solo 16 megas de RAM así que debemos andar con mucho ojo. De esos 16 ya el binario se lleva 1,5 aprox, más el dcb también va pesando y no estoy realmente seguro de que pueda hacer uso real de todo lo que sobra... ya he tenido alguna mala experiencia, por desgracia.

Si me puedes pasar .dcb y todas las files en un zip lo pruebo enseguida (solo tendría que hacer una iso de eso y lanzar el 1st_read con la iso con todos los recursos)

me imagino que estas usando dreamcast ...

vendrian bien un     execute("nivel3.dcb")     ;D

asi funcionaria como un reinicio pero con un dcb diferente..



ya dentro de poco le pondremos eso.. es que la DC se fragmenta la memoria
por tener tan poca ram...

esperad... y le echaremos mano... creo que tambien al port PS2

Wow! Eso sería genial, me iría de perlas para alguna cosilla.

¿Cómo se podría implementar eso en el port de Dreamcast?
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 20, 2016, 12:45:50 am
Bueno, si realmente no has hecho ningún cambio en los ficheros, no me costaría nada compilarte una versión para que lo pruebes, es más, creo que se podría incluso "eliminar" el proceso de control de la música fácilmente (como la carga, reproducción y descarga se lleva a cabo en un único proceso, sólo tendría que comentar el include que lo contiene y la línea que lo llama en el PRG principal).

La pega, como comentaba en mensajes anteriores, es que ando trasteando en el código de las durezas de los enemigos, y hasta que no termine con la prueba que estoy realizando, no puedo generar ningún DCB. Es un código largo, de unas 1500 líneas, en las que estoy cambiando los SWITCHs por IFs, y son unos cuantos, va a llevar tiempo. Vamos, desde que empecé hasta hoy, voy por la mitad más o menos, porque encima he estado liado con los cursos y la asistencia técnica, y sólo le he dedicado de verdad un par de días.

He mirado en mensajes atrás, y no he visto ningún mensaje sobre que tuvieras problemas de compilación por ninguna song. ¿Por qué? Yo lo he compilado en Windows sin problemas siempre, y creo que también en Linux ¿Estás intentando compilarlo en DC? :P
Pero bueno, dame unos días, que vea que la prueba va a fracasar, y cuando revierta los cambios, te genero un DCB, con los códigos y todo eso... o a ver qué puedo hacer desde las copias de seguridad.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 29, 2016, 07:59:27 pm
Por fin, hoy he conseguido terminar de cambiar los switchs por ifs... y total ¿para qué? para confirmar mis sospechas: va incluso más lento. No gran cosa, pero creo haber percibido una pequeña ralentización extra a lo que ya tenía.
Sí, los IFs son más rápidos que los SWITCHs, mientras no haya que hacer comparaciones con valores individuales. Me explico, un if con una única comparación es tan rápido o ligeramente más que un switch. Si la comparación del IF afecta a más valores (if (x>20)) entonces el IF es más rápido.
¿Qué pasa?, que en mi código viene a ser una cosa así:

Código: [Seleccionar]
if ((temp_dur == 0) || (temp_dur == 25) || (temp_dur == 50) || (temp_dur == 75) || //normal
(temp_dur == 33) || (temp_dur == 34) || (temp_dur == 83) || (temp_dur == 84) || //extras
(temp_dur == 100) || (temp_dur == 104) || (temp_dur == 105) || //especiales (extra)
((temp_dur >= 150) && (temp_dur <= 255))) //otras

El problema es que, además de cada == tiene que hacer un OR, y ya son dos operaciones que, al sumarse, son casi el doble de lentas que cada valor individual de un CASE. La última línea es más rápida, pues aunque son tres comparaciones, afectan a un rango de valores muy amplio. De hecho, creo que si el rango de valores es superior a 4, el "if ((x>=1) && (x<=4))" es más rápido que los switchs.

Podría hacer un código híbrido, intentando usar ambas cosas, según cual sea más rápido en cada ocasión (porque hay sitios donde el IF ayudaría mucho)... peeero creo que la mejora de rendimiento no compensaría las molestias. He perdido menos de un 1% de rendimiento (vamos que creo que apenas he perdido uno o dos FPS), por lo que está claro que aunque optimice esto, ahí no está el gran problema de rendimiento.

Lo que me deja la otra gran opción, que quería evitar porque afecta a unos 22 includes como poco: las colisiones. Uso collision en cada enemigo para los choques contra el prota, la espada o los disparos. He intentado optimizarlos para que sólo se usen cuando el prota está muy cerca (en los dos primeros casos) o cuando entran en el rango de tiro de Echo.
El plan es anidar el actual collision dentro de un IF (box_collision...). De esta forma, lo que se ejecutaría sería el box_collision, y si hay contacto, entonces afinaríamos la colisión con COLLISION. Creo que esto aumentaría el rendimiento, salvo en los casos reales de colisión, que tardaría el doble en confirmarlos, pero creo que compensa. ¿Qué opinais?

No me olvido de ti, Ryo. Antes de hacer nada, te prepararé un código con SAYs extra para ver hasta dónde llega dentro del menú. Te lo mandaré pre-compilado y todo, y ya me contarás qué es lo que pasa.
Título: Re:Echo v1.4: road to season two
Publicado por: Ryo Suzuki en Enero 02, 2017, 01:25:02 pm
De acuerdo, pásamelo cuando puedas y lo probamos de nuevo en hardware real de DC a ver qué es lo que sucede.


P.D:  l1nk3rn3l, dime algo cuando puedas que me he quedado con la intriga. He estado mirando que el port de Fenix de DC Swat podía usar y lanzar diferentes .dcb, eso sería genial!!
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Enero 03, 2017, 01:57:30 pm
WTF!!!

Vale, hoy he estado haciendo pruebas otra vez. Tras el fracaso de la detección de durezas, he sospechado de collision.
He ido por muchos de los procesos de los enemigos, he suprimido la sección de colisiones con cualquier otro proceso, lo he metido en la consola... y he obtenido alguna mejora, pero se sigue ralentizando.
Así que nada, le he metido el graph_tscroll sin las colisiones y al principio digo "¡ostras! esto pinta de muerte". Pero apenas me acerco a una sala llena de enemigos, el juego se ralentiza a menos de la mitad. Vale que no llega a los límites normales, en lugar de ir a un 20% de su velocidad, iba quizás a un 30%, es difícil de decir, pero no es la mejora que esperaba ¡y no puedo suprimir las colisiones.
Eso sí, sin colisiones y con el motor graph_tscroll, el principio del primer nivel va casi perfecto. Tiene algún tironcillo que seguramente pueda solucionar descentrando la cámara, para evitar que se junte el refresco de los tiles del scroll con la comprobación del cambio de tile del prota.

Pero lo curioso es eso, que la ralentización viene de los procesos que se mueven por el escenario, y no es por la cantidad de procesos en pantalla (porque ya digo que graph_tscroll apenas me da entre 2 y 3 FPS extra frente al scroll por procesos), sino de exclusivamente los procesos enemigos que hay.

Entonces ya no sé qué hacer:
- Usar el graph_tscroll me obliga a modificar los tiles, que ya es un trabajo, y a meter a los procesos dentro del scroll (lo cual ahorraría la conversión de coordenadas de scroll a pantalla, que es una llamada a una función de dos o tres líneas). Es mucho esfuerzo para tan poca mejora (y más sin saber a ciencia cierta los resultados).
- Las colisiones no sé cómo mejorarlas. No sé si collision_box + collision mejorará el rendimiento o lo empeorará.
- Y tengo que mirarlo para confirmarlo, pero la detección de durezas es muy probablemente lo que más consuma. Por desgracia es la física del juego, o sea, algo muy delicado, y no sé cómo mejorarlo, de momento. No me atrevo a tocarlo.

En fin, que las pruebas me han dejado un sabor muy amargo. Conseguir optimizarlo para Wiz va a ser un suplicio, y no sé si merecería la pena, dado que quiero terminar ya el proyecto y que poca gente usa ya la Wiz (aunque el juego esté diseñado para ella). ¿Debería darle carpetazo y hacer una versión 2.0 para PC exclusivamente? ¿O simplemente abandono el desarrollo para Wiz y sigo en PC añadiendo lo que siempre he querido meter, como la segunda capa de scroll? Yo quiero mantener una versión para Wiz, aunque esta sea lenta. No sé, ahora mismo estoy en modo pesimista. Voy a darle oxígeno a la cosa y ya veremos.

Por cierto, Ryo, ya te he mandado la última versión precompilada y con código por correo. Le he añadido SAYs hasta que sale algo del menú en pantalla, espero que sean suficientes. Tiene algunas de las modificaciones de las pruebas que he estado haciendo (los enemigos no colisionan) ¡Ah! y le he quitado el proceso de control de la música, por si acaso (eso incluye las llamadas al proceso, y los includes a su fichero de código). Habrá SFX pero no música, aunque el resto de procesos la estén solicitando (vamos, que la variable que controlaba la música sigue ahí).
Título: Re:Echo v1.4: road to season two
Publicado por: Ryo Suzuki en Enero 03, 2017, 04:44:33 pm
Gracias, lo pruebo en cuanto tenga un hueco!

Si le quitamos los fx casi mejor, que te conozco y te crees que la Dreamcast tiene un buffer muy grande de sonido y pesaban un montón si no recuerdo mal ;D

Te paso en cuanto lo tenga un screenshot de lo que dice la consola del dc-load_ip!!
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Enero 03, 2017, 08:13:57 pm
¡Pero si el juego completo, sin comprimir, ocupa 10'8MB! Lo más pesado son las músicas, y la más gorda son 4'3MB :D :D :D
Título: Re:Echo v1.4: road to season two
Publicado por: Ryo Suzuki en Enero 03, 2017, 09:06:16 pm
Sound RAM tiene solo 2 megas... para todo!!

P.D: Para música podemos usar CDDA que no ocupa nada y funciona bien.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Enero 04, 2017, 01:58:52 pm
1'26MB todos los SFX, y no se cargan todos (de hecho, creo recordar que las armas sólo cargan el SFX del nivel en el que están, no los tres... creo) :P
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Enero 19, 2017, 07:42:00 pm
Vale, necesito vuestra opinión, porque no quiero dejar esto más tiempo estancado.

El juego se diseñó para Wiz, y funciona decentemente bien, salvo zonas donde se acumulan una cantidad ingente de enemigos, que yo llamo "zonas de recarga" (porque están para que el jugador pueda recuperar vida y experiencia del arma, ya que no hay otra forma de hacerlo).

Pero para hacer que funcione bien debo reescribir el motor de detección de durezas por algo más sencillo, y es un trabajo del copón que no sé ni por dónde comenzar. Sé que debería mirar las durezas a nivel de pixel, empezando por los pies, y después las esquinas para no atravesar paredes o suelo, pero cuanto más lo pienso, peor lo veo porque veo más y más condicionantes, más ver lo que había antes, etc :S

Y aun tengo que meter, sí o sí, la segunda capa de tiles por detrás de Echo, porque hay una parte de nivel 4-2 donde debería verse agua y pinchos en el mismo tile, y no puedo poner la información de ambas cosas sin crear un tile específico. Y aun así, hay algunas cosas más que ganarían estéticamente con una segunda capa (¿verdad, Fede? :D ).

Esos son los tres problemas graves que tengo ahora mismo con la versión de Wiz. Si pudiera solucionarlos, podría seguir sin problemas. Todos se resumen en lo mismo: la detección de durezas de los enemigos es demasiado exigente en la portátil. Y si no puedo solucinar eso, las alternativas serían eliminar las zonas de recargas y crear mapas diferenciados para Wiz y PC (con una y dos capas respectivamente), pero no resolverían el problema.

Así que vuelvo a lo mismo de mi último mensaje:
- Cierro el juego con dos niveles (eliminando el nivel 4 por completo) para Wiz, y creo una especie de versión DX para PC con los 4 (o 6) niveles que va a tener el juego.
- Me olvido por completo de Wiz y tiro para adelante con lo planeado para PC.
- Tiro para adelante, intentando mantener la compatibilidad aunque se arrastre en Wiz.
- O merece la pena intentar salvar la versión de Wiz reescribiendo el motor de detección de durezas.

Lo ideal sería la última opción, pero voy a necesitar mucha ayuda con eso. Aun así me gustaría saber qué pensais vosotros, sobre todo porque esto afecta también al posible port a DC, que no sé hasta qué punto es potente para mover lo que ya hay.
Please, ¡¡consejos!!
Título: Re:Echo v1.4: road to season two
Publicado por: gecko en Enero 19, 2017, 09:48:44 pm
Estoy de acuerdo que la ideal sería la ultima opción, pero tal vez es un despropósito en relación costo/beneficio. Para mi lo mejor es que trates de ir mejorando en general el juego, y lo que puedas lo vayas portando a la versión de wiz, pero sin romperte la cabeza porque ande fluido en esa consolita. Y aproveches en agregar mejoras, y features nuevos, que eso es lo mas divertido de hacer, jaja.

TL;DR: Voto por la 1.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Enero 27, 2017, 01:10:40 am
Bueno, mientras sigo leyendo opiniones (que de momento parece que gana el seguir el proyecto, pero sin dedicarle demasiado esfuerzo a la Wiz), me gustaría saber si, Ryo Suziki, probaste la última versión que te mandé, para saber qué salida te dio la consola, a ver si podemos aislar el comando problemático en el menú principal.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Febrero 07, 2017, 01:43:10 am
Me ha sorprendido ver que hay bastante gente interesada en que se abandone el proyecto totalmente para Wiz y Caanoo. Por suerte, parece que la opción más razonable es la de seguir el desarrollo normal, intentando mantener la velocidad en las portátiles dentro de lo posible. No lo digo sólo por los votos, también por el razonamiento que me han ido dando en los comentarios.

Bueno, por ahora ando bastante liado para concentrar mis esfuerzos en... algo. Entre las clases de inglés, el curso de PHP (que por suerte, acabo esta semana o la siguiente, si me lío demasiado) y que me han llamado de un equipo de desarrollo de videojuegos de la universidad para trabajar como programador freelance en un pequeño proyecto, voy a andar justito de tiempo para hacer algo.
No, lo de la universidad de momento no va demasiado en serio. Es decir, sí que me han ofrecido un puesto de programador, pero aun no hay nada atado :P
(Ryu, no me he olvidado de ti, sigo esperando. Cuando puedas, me miras eso, ¿vale? ;) )

Bueno, y para seguir con esta racha de noticias buenas ¡estoy desarrollando Bitstrips 2! :D
No, simplemente quiero que cojais vuestras pajaritas (porque no os veo con ganas de poneros el esmoquin) porque hoy venimos de presentación. Se ha hecho de rogar, pero por fin, tras mes y pico en mi disco duro, y más de seis años después del inicio del proyecto que comenzó teniendo su nombre, os presento al único, al inigualable, al más fiel escudero del superhéroe de siete años, y esperemos que la parte principal del guión de una secuela de aventuras...

DOGGY!!!

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3909)

Aquí unos cuantos concept arts, con Doggy mirando a ambos lados (no, no hay espejado horizontal) y jugando con Echo.

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=3910)

¿Qué os parece? ¿A que es una monada? :D Bueno, en "the amazing adventures of Echo" no va a ser un personaje jugable, ni va a ir siguiendo a Echo (porque eso tardaría eones en programarlo para que funcione de forma medio decente). De momento va a servir como "checkpoint" y permitirá salvar la partida.
Ya está implementado lo del "checkpoint", y se puede ir a su posición desde el selector de niveles, pero aun no he implementado lo de salvar.
También va a servir con un propósito más oscuro: ahora que ya existen puntos a los que volver, podré implementar la muerte por caidas o aplastamientos. Por si no os habíais fijado, la única forma de morir en el juego es por agotar la energía del prota, y esto era porque si morías cayendo, como al resucitar lo hacías en el mismo punto donde morías, entraba en un bucle de muerte-vida hasta el "game over". Como la única referencia guardada del mapa era el inicio del nivel, me sabía fatal tener que repetir el nivel entero porque se te haya deslizado mal el dedo durante un salto (especialmente en el nivel 3, "2012: alien invasion"). Ahora ya puedo añadir checkpoints donde quiera (más o menos) y sustituir hordas de enemigos por algo más mortal MWAHAHAHAHAHAHA!!!

Volviendo a Doggy, pues eso, de momento es un item más, pero tengo previsto que haga algo más en el consabido y largo tiempo olvidado "nivel 2". Me reservo la sorpresa, aunque ya os aviso que es una Drumpilocura en estado puro :)

Pues nada, ya podeis pasar a acariciarlo, mimarlo y dar vuestra opinión. Aun no sé si le gustan más los huesos o las galletas de perro, tengo que darle una vuelta a eso ^^U
Título: Re:Echo v1.4: road to season two
Publicado por: Ryo Suzuki en Febrero 09, 2017, 06:51:53 pm
me gustaría saber si, Ryo Suziki, probaste la última versión que te mandé, para saber qué salida te dio la consola, a ver si podemos aislar el comando problemático en el menú principal.

Discúlpame que he estado muy ocupado y estos días no pasé por el foro.

No funcionaba, ni siquiera arrabancaba esta vez y sin tirar un error así que pueda ayudarnos.

Tengo que tener la foto con el móvil que le hice, pero es curioso que ni siquiera llegaba a la anterior versión.

A ver qué podemos hacer. Pasa si trato de hacer ports que casi siempre peta en Dreamcast, es bastante frustrante.


Ah! Me encanta Doggy!!
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 01, 2017, 07:08:12 pm
Bueno, se que ha pasado tiempo, y que llevo sin escribir en el foro... buf, pero hoy me ha dado por escribir código, y he decidido simplificar la detección de durezas de los enemigos a su mínima expresión. Así, las 1000 lineas las he reducido a:

Código: [Seleccionar]
         switch (enem_p_dir)
            case 1: p_libre = enem_dur[0][2]; end
            case 2: p_libre = enem_dur[1][2]; end
            case 3: p_libre = enem_dur[2][2]; end
            case 4: p_libre = enem_dur[0][1]; end
            case 5: p_libre = 0; end
            case 6: p_libre = enem_dur[2][1]; end
            case 7: p_libre = enem_dur[0][0]; end
            case 8: p_libre = enem_dur[1][0]; end
            case 9: p_libre = enem_dur[2][0]; end
         end //Switch
         
         if (p_libre > 0 && p_libre < 150)
            enem_mover_h = 0;
            vel_horiz = 0;
            vel_vert = 0;
         end
         
         x3 += vel_horiz;   //actualizamos posición
         y3 += vel_vert;
         
         enem_offsx = (x3 / resolution3) % id_tscroll.tmapa[0].ancho_tile;
         enem_offsy = (y3 / resolution3) % id_tscroll.tmapa[0].alto_tile;

LOL. Bueno, pues suponía que la detección de durezas se llevaba gran parte del rendimiento de Wiz y... ¡no!. Con este código, la zona con más enemigos del juego iba arrastrándose. WTF?
Luego me di una vuelta por versiones de prueba que, por suerte, tenía guardadas. No me acuerdo de qué hacían, pero tras un par de pruebas he supuesto qué era. Había una que iba casi a la velocidad adecuada, y he notado dos diferencias respecto a lo normal: usaba el motor de scroll tileado por gráfico (que ya dije que no mejoraba el rendimiento gran cosa) y los enemigos no colisionaban con nada. Bueno, la detección de durezas sí que funcionaba perfectamente, me refiero a la parte que usa "collision".

Código: [Seleccionar]
        //*************************
        //  ZONA DE IMPACTOS
        //*************************
        if (exists(info_prota.id_prota))
            //impacto con las balas
            if ((abs(x - info_prota.id_prota.x) < 350) && (abs(y - info_prota.id_prota.y) < 350))
                temp = collision(type normal_shot);
                while (temp != 0)
                    energia -= temp.energia;
                    //say("enemigo (" + itoa(enem_tx) + "," + itoa(enem_ty) + "): energía: " + itoa(energia));
                    //say("el disparo tenía energia: " + itoa(temp.energia));
                    temp.energia = 0;
                    if ((mi_temblor != 0) && exists(mi_temblor))
                        mi_temblor.energia = 3;
                    else
                        mi_temblor = enem_temblor(id, 3);
                    end
                    temp = collision(type normal_shot);
                end
            end
           
            if ((abs(x - info_prota.id_prota.x) < 50) && (abs(y - info_prota.id_prota.y) < 50))
                temp = collision(type espadazo);
                if ((temp != 0) && (temp != temp_espada))
                    energia -= temp.energia;
                    if ((mi_temblor != 0) && exists(mi_temblor))
                        mi_temblor.energia = 3;
                    else
                        mi_temblor = enem_temblor(id, 3);
                    end
                    temp_espada = temp;
                end
            end
               
            if (energia <= 0) break; end
       
            //impacto con el prota
            if ((abs(x - info_prota.id_prota.x) < 50) && (abs(y - info_prota.id_prota.y) < 50))
                if (collision(info_prota.id_prota))
                    info_prota.dano_id = id;
                    info_prota.dano_energia = 3;
                    info_prota.dano_exp = 3;
                    if (info_prota.id_prota.x2 > x2)
                  info_prota.dano_vel_horiz = 20;
                    else
                  info_prota.dano_vel_horiz = -20;
                    end
                end
            end
        end

Este parece ser el código problemático. Intenté reducir el impacto de collision limitando sus comprobaciones a la zona en la que Echo pudiera afectarles. La zona más grande es la de los disparos, porque su radio de acción es enorme, pero la espaza y el prota se limitan a unos pocos pixels. Aun así, parece ser que con 15 enemigos en pantalla, el uso de collision es demasiado.
Había pensado cambiar la comprobación de distancia por collision_box, y en caso de que la hubiera, entonces aplicar collision, pero no sé hasta qué punto mejoraría eso el rendimiento, ya que box collision tiene en cuenta size, angle y los bordes transparentes del gráfico.

Si alguien tiene experiencia con el asunto, le ruego que me cuente qué es lo que puedo hacer.

Hoy me quería haber puesto a añadir una segunda capa a los mapas existentes, o a modificar por completo el mapa del nivel 4-2, pero se me ha venido este código de las durezas, así que la segunda temporada de Echo tendrá que esperar un poco :D
Título: Re:Echo v1.4: road to season two
Publicado por: gecko en Octubre 01, 2017, 08:22:09 pm
No era collision_box() justamente mas eficiente que collision()?

O vos decis que la ganancia de rendimiento sería poca para justificar el uso, y que necesitarías algo del estilo collision_simple_box() que sea muy eficiente como para justificar el uso?
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Octubre 02, 2017, 10:38:52 pm
Amigo Gecko, esa es la pregunta del millón.
Teóricamente, Box_collision es mucho más eficiente que el cálculo de distancias en código Bennu, por aquello de que está una capa por debajo, tiene acceso a más hardware, y que si uso get_id para obtener una lista de procesos con un enemigo, cuando el segundo haga lo mismo no va a poder porque get_id no se reinicia hasta el siguiente frame (creo). En ese caso tendría que crear una función que obtuviera todas las IDs de enemigos, disparos, prota, etc, e hiciera las mediciones de distancia, marcase los procesos con posibilidad de colisión, y que luego estos hicieran la llamada a collision... un lío, vamos.

Hay que tener en cuenta que para hayar la distancia entre dos procesos hay que hacer la resta de sus componentes, sacar el valor absoluto y compararlo con un valor. Vamos algo como:
Código: [Seleccionar]
if ((abs(x - info_prota.id_prota.x) < 350) && (abs(y - info_prota.id_prota.y) < 350))
A lo que hay que sumar el AND y el if. Ocho operaciones que calculo que contarán como dieciseis en código C.
Si tan complicado es hacerlo así, normal que collision gaste tantísimos recursos en cuanto hay una cantidad interesante de enemigos y balas en pantalla. Y necesito ese rendimiento, ya no sólo para que vaya fluido en Wiz, es que quiero pasar el nivel 2 al 4, y convertir el 2 en un run'n'gun estilo "Gunstar Heroes" o algo así... aunque ya estuve barajando lo de eliminar las zonas infestadas de enemigos a cambio de enemigos más gordos y convertir a Doggy en estaciones de recarga.

En fin, eso, que estoy abierto a sugerencias para mejorar la eficiencia de las colisiones, que quiero meter mapas de dos capas de tiles.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Noviembre 25, 2017, 01:31:48 am
Bueno, hoy he podido sustituir ese "if" por collision_box en todos los procesos enemigos. El resultado es que sigue habiendo ralentizaciones bastante graves en zonas cargadas de enemigos. Me atrevería a decir, a falta de una comparativa más exhaustiva, que en los momentos de mucha carga va más lento, pero en los de menos carga va más rápido. Repito, es una valoración a ojo y de memoria, necesito recompilar una versión "limpia" de la 1.3.3 para compararla con esta, y probar añadiendo el scroll tileado pintando en mapa, pero no auguro conseguir un rendimiento suave en Wiz ni por asomo.

Mi intención es esa, probar estas dos posibles mejoras, y si el conjunto no logra un aumento notable en el rendimiento, vuelvo al código que tenía antes y sigo el desarrollo como iba.
Por cierto, me temo que voy a hacer algo que no me gusta nada: ¿os acordais de los dos sub-niveles que se presentaron en la última versión? Pues creo que los voy a descartar en favor de dos niveles completos cada uno. Seguramente pueda mantener el nivel de Egipto como intro para una fase con pirámides, laberintos, momias (que fumen o no aun no lo sé), pero la de la cueva no, ya que es autocontenida (tiene inicio, nudo y desenlace, por aquello de que aparece arena al principio y se llega al final del scroll de fondo; está muy bien como lo que era, una transición entre Egipto y lo que vendrá después, pero creo que un nivel de cuevas y agua puede dar mucho más, si añado un poco de claustrofobia a la mezcla).
No me gusta descartar niveles, tal vez lo esconda por ahí, pero he hecho niveles subterráneos con mucha más chicha, y si le añado las plataformas que se rompen, las escaleras y las plataformas móviles, puede mejorar mucho... Es más, creo que por eso el nivel subterráneo de FenixLand era mejor, a pesar de ser mucho más corto y lento.

¡Arg! Acabo de acordarme de que tengo que arreglar un bug por el que Echo no para de rebotar en el suelo cando está bajo el agua. Ya lo solucioné fuera de ella (un problema con resolution) y creía que servía para el agua, pero por lo visto, en algo me equivoqué al hacer los cálculos... Y eso lleva más tiempo del que me gustaría :(
Título: Re:Echo v1.4: road to season two
Publicado por: l1nk3rn3l en Noviembre 25, 2017, 02:26:10 am
bueno , pero descargas donde ?

 ;D
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Noviembre 25, 2017, 10:24:50 am
pero, tienes tiempo? malandrin
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Noviembre 25, 2017, 06:41:38 pm
bueno , pero descargas donde ?

 ;D

Bueno, dado que estoy haciendo pruebas para mejorar el rendimiento, obviamente no hay descargas hasta que tenga una versión que considere "definitiva" (es decir, la que mejor rendimiento da) y estable.
Lo cierto es que no hay muchas cosas nuevas desde la 1.3.2, que es la última que se liberó para el concurso del Hamster, creo. se puede descargar desde mi página de GameJolt:
https://gamejolt.com/games/the-amazing-adventures-of-echo/170481
Según mis apuntes, desde entonces, sólo ha habido resolución de bugs en el control (que es importante, desde luego, pero sólo le interesa a desarrolladores, y aun queda solucionar otro que hace que sea injugable bajo el agua) e intentos de port a Dreamcast (sin éxito por no se qué  problema con el port). Para el resto de los mortales, la única diferencia que hay es que completé el menú del "level select" (aun me queda por añadir un fondo, pero vamos...).
Si soluciono lo del bug, puedo plantearme enviar betas privadas para testeo antes de ponerme en serio con material nuevo, pero no quiero lanzar nuevas versiones hasta haber completado los nuevos niveles 3 y 4.

pero, tienes tiempo? malandrin

No, no suelo tenerlo. Me he tirado un mes y medio a todo gas terminando un juego para el 25º aniversario de mis juegos en papel (a ver si saco fotos), y desde que estoy trabajando me siento agobiado con tanto programar y tanta prisa. Esta semana he conseguido terminar parte del proyecto y he podido bajar las revoluciones y programar cosas más sencillas, así que he podido sacar unas horitas para relajarme, y me ha dado por ponerme con el Echo (hace dos meses me relajaba con Blender :D).

Voy a intentar ver qué leches pasa con el bug ese bajo el agua. Creía haber solucionado esto reemplazando el movimiento por "pixels" a "posiciones de resolution". La última vez fueron dos horas de búsqueda y captura, y un dolor de cabeza, y hoy quería abrir mi editor de mapas de tiles para empezar a excavar túneles, pero lo primero es lo primero (y como me harte, me enchufo al Batman Arkham City).
Si os lo preguntais, el port a DC queda suspendido hasta que me compre una DC y pueda hacer una traza del programa en condiciones aceptables. Si por cada prueba tengo que esperar una semana por una respuesta o tener tiempo  para hacer otra, me van a dar las uvas, pero del 2020.

¡Ah! Hablando de ports: acabo de probar el collision_box con el supuestamente mejorado scroll tileado y los resultados son idénticos, o casi. No hay nada que hacer, el rendimiento cae en cuanto hay un buen puñado de enemigos en pantalla. No es que se vuelva injugable, sólo lento, pero ya me criticaron bastante cuando se producía un parón cada 16 pixels, así que, como ya comenté hace tiempo, voy a seguir adelante con el desarrollo tal cual estaba planeado. Lo siento. Como mucho, intentaré reproducir aquella prueba que iba super rápida, y se acabó, ya no sé qué más hacer para mejorar el rendimiento :(
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Noviembre 25, 2017, 07:51:33 pm
¿Sabeis lo bueno de llevar un control de errores bien documentado? Que localizas la línea que corregiste hace 8 meses en un santiamen y puedes ponerte a pensar qué hiciste mal entonces.
¿Sabeis lo malo? Que cuando descubres que el error era que estabas usando la constante de gravedad en lugar de la variable que almacena el valor de la gravedad según las condiciones (en este caso, la constante de gravedad bajo el agua), tienes ganas de pegarte un tiro y de mandarlo todo a tomar (censurado).

Sí, el bug se ha solucionado sustituyendo una constante por una variable. Así de simple: tiempo de resolución, 5 minutos. Para darme una colleja.
En fin, no sé si seguir. Documentaré esto, haré copia de seguridad de esta versión y lo dejaré por hoy, creo. Si alguien quiere un binario, que me lo diga, pero aviso que sólo se lo voy a mandar a Bennuseros consagrados, es decir, que al menos hayan aportado juegos o material ala comunidad. No quiero que me lluevan los mensajes para probar una beta que no aporta casi nada a la versión anterior.
Título: Re:Echo v1.4: road to season two
Publicado por: l1nk3rn3l en Noviembre 25, 2017, 10:38:58 pm
Mientras la sueltas me echare una partida online
https://coldev.sourceforge.io/bennugd/onlinedemos/EchoNacl/


Cambiando de opinión , Bueno suéltala ya que queremos jugarla...

 ;D
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Noviembre 26, 2017, 10:04:35 am
si, ya...
cambiando de idea...
(http://storage1.static.itmages.com/i/17/1126/h_1511690600_6039619_b28a24c3ef.png)
(http://storage2.static.itmages.com/i/17/1126/h_1511690665_9862373_2a65948019.png)
Título: Re:Echo v1.4: road to season two
Publicado por: l1nk3rn3l en Noviembre 26, 2017, 02:11:40 pm
Requieres chrome para jugar Echo online
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Noviembre 26, 2017, 07:55:39 pm
¿vale el chromiun de linux?
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 02, 2017, 01:41:09 am
Bueno, L1nk, primero tengo que encontrar tu dirección de correo :D
Quiero además echar un vistazo al código de los enemigos, ya que es un copia-pega del Echo y sufren de los mismos problemas. Creo que con eso ya puedo dedicarme a crear los mapas de tiles con dos capas (por fin podremos ver a Echo a través de algunas paredes) y a crear nuevos niveles, que llevo toda la semana queriendo ponerme, pero siempre había un problema que resolver (lo he dicho en otro hilo, esta semana los ordenadores y yo nos hemos peleado casi a muerte, especialmente con los del trabajo).
Título: Re:Echo v1.4: road to season two
Publicado por: l1nk3rn3l en Diciembre 02, 2017, 04:13:31 pm
¿vale el chromiun de linux?

No le he probado, pero se que en la tienda linux esta Chrome oficial ... y funciona OK (Solo requiere Chrome ...)

En el caso de tener un juego propio, Si quieres que bennu se ejecute online en navegador debes descargar el kit desarrollo de Bennuchrome y subir el juego a tu hosting
https://sourceforge.net/projects/coldev/files/chrome%20native%20client/ (https://sourceforge.net/projects/coldev/files/chrome%20native%20client/)


Bueno, L1nk, primero tengo que encontrar tu dirección de correo]Bueno, L1nk, primero tengo que encontrar tu dirección de correo

bueno esperando mi regalo de navidad para jugarlo..    infocoldev@gmail.com

 ;D
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 03, 2017, 07:34:32 pm
Bueno, L1nk, Papá Nöel se ha adelantado y te ha mandado un e-paquetito... si no me lo rechazan en aduanas :D
Por e-mail te he explicado un poco las "condiciones de uso", que espero que sean lo suficientemente tiránicas como para ganarme una reputación de max-bennu-developer-con-un-par :D

Y la próxima vez, tu dirección me la puedes mandar por PM, que para eso está ^^U
Y no, no se la voy a mandar a nadie más, a menos que tenga intenciones serias de hacer un port :D
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Diciembre 04, 2017, 09:33:06 pm
estos de coldev son mu buenos, yo estoy deseando terminar con mis juegos para que me lo roben y exporten a todo lo que le den la gana, je je
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 05, 2017, 12:13:56 am
Para eso:
1- Tienes que haber terminado un juego... o lo más parecido a eso, porque aquí nunca terminamos nada.
2- Tienes que haber hecho tu mismo algún port previamente, ya sea a Wiz, DC, PS2 o la lavadora (aun tengo que conseguir que funcione el programa de secado, por alguna razón se le enredan los mapas de 8bits).
3- El juego tiene que molar: o sea, ser terriblemente bueno, o terriblemente absurdo. Quedarse a medias no vale, porque un juego terrible no vale ni para una crap compo.
4- Tiene que estar en un lenguaje comprensible. Preferiblemente en binario, Bennu, Pixtudiano o Castellano. Si te empiezas a inventar palabros, no te entiende ni tu equipo de programación.
5- Nicolas Cage mola (acabo de terminar de ver una peli suya :D).
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Diciembre 05, 2017, 04:44:19 pm
buf, no me hables de recuperar mis antiguos, a ver si con los nuevos los adaptos a un formato mas ''copia~pega'' y salen como churros
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 10, 2017, 07:26:48 pm
Prueba de observación: en la siguiente imágen podéis ver lo que he podido programar este finde. ¿Qué ha sido? :D

(http://forum.bennugd.org/index.php?action=dlattach;topic=4256.0;attach=4030)

No es mucho pero será una gran diferencia visual, además, tengo un trancazo que no me ha dejado hacer más... Bueno, he empezado a modificar mi detección de tiles de durezas para poder crear personajes de dos tiles de altura, pero no he hecho gran cosa, apenas he revisado un 10% del código, y luego habrá que testearlo a fondo.
Y aun tengo que ver por qué tras los anteriores cambios, los pájaros atraviesan el suelo :S
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Diciembre 10, 2017, 09:30:46 pm
Yo iba a decir que la niebla, pero como he estado siguiendo el hilo, igual es el echo que pasa por encima de los roles que antes no podía, cuestión de zetas
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 11, 2017, 12:43:03 am
No, la niebla ya estaba en la anterior versión, tanto delante como detrás de la zona jugable.
Respecto a que Echo pasa por delante de algo, por ahí nada la cosa, pero no, no son las Z. Si te fijas bien o si recuerdas esa parte del nivel, seguro que ves algo más diferente :D
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Diciembre 11, 2017, 08:56:17 am
como no sea la luna lunera...
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 12, 2017, 12:39:33 am
La luna sigue en el mismo sitio desde que se lanzó la primera beta del juego... bueno, creo que la pasé a un fondo en lugar de dibujar un círculo en el gráfico de fondo por aquello de unificarlo todo (añadir fondos de scroll y eso).
Pero sigue pensando, lo de las Z iba muy bien encaminado :D
Título: Re:Echo v1.4: road to season two
Publicado por: SplinterGU en Diciembre 12, 2017, 04:32:16 am
no llegue a ese nivel, pero lo unico con Z que se me ocurre es el pasto y el Echo entre el mismo y las columnas... la verdad que ni idea.
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Diciembre 12, 2017, 08:49:44 am
ese nivel es el primero, señor Amato Yoshi, y es verdad, es el pasto...
creo
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 13, 2017, 12:20:50 am
Vais bien, a ver si más gente se anima a participar :D Si no encontrais la solución, el viernes os lo digo.
Pero andais muy cerca, Splinter ya se lo huele cual trampa de queso :D

PD: Mira que lo puse fácil: la captura es la hice a los 10 segundos de juego, así que si no conoceis la localización de la imagen es que ni habeis ejecutado el juego siquiera :D :D :'(
Título: Re:Echo v1.4: road to season two
Publicado por: SplinterGU en Diciembre 13, 2017, 06:02:07 am
jaja... si que jugue al juego... pero cada vez mas viejo, y el aleman no perdona...
Título: Re:Echo v1.4: road to season two
Publicado por: SplinterGU en Diciembre 13, 2017, 06:14:58 am
pues ya me parecia! las cavernas tienen fondo... no se ve el cielo por detras...

ya que estamos podrias poner nubes por detras y algunas por delante... o al azar...
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Diciembre 13, 2017, 04:10:33 pm
las nubes parallax de detras....
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 14, 2017, 12:00:53 am
¡¡Dindindindin!! Splinter ya lo ha visto. Es la primera beta donde los mapas del scroll tileado tienen DOS capas: la que ya conoceis por delante, y una nueva por detrás :D
Falta medir el rendimiento en la Wiz, a ver si se nota o no el efecto, pero según las últimas pruebas (las de no conseguir ni un solo frame extra con diferentes motores), no debería suponer un gran costo computacional (no debería llegar ni al 0'5%, porque hablamos de una capa mayoritariamente vacía... de momento).

Mira que llevo todo el año siendo pesao con esto. Todo el tema de mejorar el rendimiento era porque quería meter las dos capas de una vez :D

Respecto a tu sugerencia, Splinter... Ya el primer nivel tiene nubes por detrás, usando tres scrolles nada menos, y la niebla por delante, que no es aleatoria, pero consume ella sola más del 10% de la memoria del juego y que hace que se arrastre en Wiz. Y cada nivel tiene una imágen diferente: paredes de ladrillos, infinitas salas con numerosos arcos, el futuro en ruinas tras la bruma... Mi favorito es el fondo del nivel subterráneo, es el más pequeño y no precisamente el más complejo de todos, pero ese contraste de colores, y cómo vamos pasando de una oscura cueva del desierto a un lago subterráneo de cristalinas aguas antes de llegar a... Tendreis que esperar a que se estrene la segunda temporada, no voy a hacer spoilers :D Pero los dos "niveles" que se vieron en la 1.3.2 fueron un pequeño adelanto de los tres que va a tener esta versión (y seguramente los amplíe). Van a estar relacionados entre sí y... si me da tiempo, lo mismo meto el nivel que no llegó a entrar a tiempo en la primera temporada :D
Título: Re:Echo v1.4: road to season two
Publicado por: SplinterGU en Diciembre 14, 2017, 01:03:51 am
se me ocurre preguntar, es necesario que sean 2 capas? no puede ser 1 sola, total la parte donde no puede pasar (la capa que ahora es la de adelante) no permite pasar por ella, con lo que daria la sensacion de ser 2 capas... (creo, lo estoy pensando asi en el aire)
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 15, 2017, 06:10:42 pm
Eso era así, pero llevaba tiemppo queriendo que hubiera cosas por detrás, no sólo los murs por los que no se puede pasar.
Por ejemplo, quería hacer que Echo se viera transparente cuando atravesase paredes, y ahora puedo: en la capa de detrás el muro sólido, y ahora en la de delante el mismo tile pero en transparente.
Además, podré poner pinchos y agua en la actual fase 3-2, y hacer efectos en todo el primer nivel para tener zonas a cubierto y al aire libre. Ya lo verás :)

Sí es cierto que actualmente, salvo por el tema del agua, el juego funciona bien con una sola capa, por lo que si Wiz se resiente demasiado con dos, no me costaría nada configurar el juego para que cargue el mapa de 1 o de 2 capas, total, el motor es exactamente el mismo :D
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 20, 2017, 12:29:18 am
Bueno, pues como pensaba, los peores temores se han confirmado: a Wiz le sientan mal los mapas de tiles de dos capas.
En general n hay una caida de rendimiento en condiciones normales, pero cuando llega el momento de cambiar de tile, la pausa ha aumentado al doble, incluso diría que a más.

El código se hizo intentando mantener un gasto razonable de CPU, manteniendo el uso de memoria al mínimo. Actualmente la cantidad de procesos tile que se crean y se destruyen es mínima, ya que gracias a una lista enlazada, se pueden ir reciclando (el que desaparece, antes de ser eliminado, espera a ver si necesita que le asignen uno nuevo). Sólo hay procesos tile dentro de la zona de pantalla (y 3 filas/columnas extra, para que no se vean cómo aparecen de improviso).

Pero sí es cierto que hay una parte que es costosa computacionalmente: obtener el número de tile. Actualmente uso una función, que comprueba si la posición solicitada está dentro del mapa, y según el tipo de dato, consulta un puntero a un array según el tipo de dato usado. Para calcular la posición, se realizan dos multiplicaciones y una suma: (capa * nTilesCapa) + (fila *nnTilesFila) + columna. La pega es que se llama a esta función por cada posible tile en pantalla, y creo que es la parte que más hace que se resienta todo: crear y eliminar la función ya lleva un tiempo de cómputo.
La idea que he tenido es suprimir dicha función, y usar índices para cada eje, de modo que pueda usar bucles para recorrer directamente los arrays dinámicos. En un principio descarté la idea porque era un riesgo el andar recorriendo punteros sin un control de errores, pero se va a hacer en un proceso de uso interno donde, supuestamente, no se va a tocar nada, así que creo que merece la pena intentarlo.

La cuestión es ¿Cuándo? ^^U

O también puedo probar con el motor de scroll sobre gráfico :D Las funciones draw no son precisamente rápidas, pero lo mismo aquí sí lo son, y mejoran el rendimiento al pasar de una media de 80 procesos tiles a 2 imágenes en srcoll, pintando filas o columnas de 16 pixels cada vez.
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 26, 2017, 12:53:46 am
He intentado hacer lo que dije en el anterior mensaje, de recorrer el array manualmente, pero... ha sido un fracaso. Es cierto que apenas he hecho el esfuerzo, pero estoy de vacaciones y necesitaba descansar, así que cuando ha empezado a darme errores por punteros díscolos y he visto que tras 10 minutos de intentos no conseguía avanzar más, lo he dejado para otro momento, así que por ahora, Wiz tendrá que conformarse con mapas de una sola capa.
También he intentado arreglar los pájaros qe atraviesan suelos, pero pasa lo mismo: tenía una idea de por dónde podría provenir el problema, pero me equivocaba, y por tanto, me he vuelto a quedar atascado. Necesito reproducir las condiciones exactas del error y no guiarme a ojo, y eso lleva más tiempo del que estaba dispuesto a dedicarle hoy, así que de nuevo, se queda para otro momento.

Y ya me quedé sin fuerzas para empezar a desarrollar nuevos niveles, así que me puse un rato con Blender y otro con la consola, que llevaba tiempo sin cogerla. Mañana tengo que volver al trabajo, donde me han negado el día de vacaciones, y enfrentarme a un programa obsoleto, a ver si lo hago funcionar con una librería moderna o bien tengo que downgradear unos ficheros, volviéndolos a crear desde cero :S
Título: Re:Echo v1.4: road to season two
Publicado por: Futu-block en Diciembre 27, 2017, 11:56:33 am
envidio y odio ese chollo de trabajo mierda que tienes
Título: Re:Echo v1.4: road to season two
Publicado por: Drumpi en Diciembre 28, 2017, 12:51:36 am
Créeme si te digo que el editor de mapas de tiles, con todo lo complejo que es, con todas las capas, variables, funciones, clases, etc, etc que lleva, es más fácil de hacer que este mostrenco en VB6... Y eso que sólo estoy tocando menos del 10% del código. Si llego a tener que mantenerlo entero... lo habría pasado a VB.net y habría borrado el 70% del código, sin exagerar :D