Echo v1.4: road to season two

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

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Drumpi

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
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Futu-block

Guippo es fácil, lo difícil es no dejarse algo de mientras

DCelso

Mola el juego, no recordaba que fuera tan dificil, ma costao pillarle el truco al dragón. Parecía invulnerable.  ;D
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

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.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DCelso

Quote from: Drumpi on October 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.

...

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.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

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).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Bueno, 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).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DCelso

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Ryo Suzuki

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....

Drumpi

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í.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Bueno, 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.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

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
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DCelso

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

¡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
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Drumpi

Bueno, pues 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



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.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)