[Devlog] - Cursed Gem

covaga

#1310 te falta el genero no binario!

AikonCWD

Estoy re-diseñando un poco el prólogo y los inicios del juego; diálogos con Jerry, el guardaropa para las skins, etc... Y se me ha ocurrido hacer otro homenaje más a Dark Souls (mi juego favorito):

Una skin de Solaire de Astora. Me ha costado bastante porque al tener un poco de "falda" se me ha complicado respetar la animación de correr. Estoy abierto a sugerencias porque ya sabéis que yo no soy muy bueno en esto del pixelart.

Se parece? Se nota que es él?

13
B

#1295 Este me gusta.

1
Ronso

Aikon ponte a currar ya o al final sacas el diablo IV

n3krO

Y es legal hacer eso?

1 respuesta
AikonCWD

#1325 Creo que sí.

De todas formas te digo; estaría encantado de recibir un aviso por parte de Fromsoftware que me obligue a quitar esos 8 píxeles. Sería una publicidad para mí brutal y un indicador de que mi juego está teniendo visibilidad.

1
AikonCWD

Bueno, ya he terminado la zona inicial. He grabado un pequeño vídeo mostrando lo que quiero enseñar al jugador. Me gustaría saber si se entiende. Que alguien se ponga en el papel de no conocer nada sobre este juego... tengo que asegurarme que el jugador interesado en las runas, podrá diferenciarlas:

(ver en pantalla completa y 1080p)

Mi idea es explicar brevemente que son esos garabatos en las paredes, y por qué hay algunas runas de colores y otras son grises.
Además quiero regalar el aprendizaje de algunas palabras y letras. Para asegurarme de no dejar a nadie atrás, regalo las 5 vocales y algunas consonantes importantes.

Mi idea es que luego, durante el transcurso de los niveles, el jugador podrá aprender letras nuevas por el método de sustitución.

Cómo lo veis? Los mensajes que aparecen los he puesto yo en inglés usando el Google traductor, seguramente esté mal expresado o con faltas de ortografía. Ya lo cambiaré xd

7 1 respuesta
AikonCWD

Bueno, actualizo un poco con lo que he hecho hoy:

  • Actualizado el mapa de controles, añadiendo el botón para dejar mensajes online
  • Mejorados los diálogos con Jerry
  • Añadida una animación de desvanecer para Jerry
  • Solucionado un bug visual con la skin de Solaire al hacer un minijump
  • Actualizado inicio de Level 1: Aparece Jerry explicando la mecánica de los mensajes online
  • Solucionado un bug que hacía saltarse el diálogo con Jerry en una nueva partida tras jugar al tutorial.
  • Ahora los mensajes online de más de 10 días se borran de la base de datos.

Me toca ya ponerme a actualizar el menú principal, añadir multiples savegames, etc... un coñazo ya que odio programar la UI, en fin... :(
Del video anterior... se entiende lo de las runas? nadie ha comentado nada.

4
Kalgator

Yo las runas las dejaría para que la gente comenzase a descubrir sus significados, si quieres dandole pistas o algo, pero no dejarlo tan mascado

Eso, o si vas aprendiendo las letras, que una vez consigas aprender la runa, se transforme en la letra (en la propia pared), y no decirle nada de sus significados en el tutorial

gauchogames

#1327 Hey! hola, bueno yo no sigo mucho el juego, si un poco..

Te comento lo que entendí

Runa roja peligro
Runa amarilla un confre en algun lado
Runa verde significa Flor.

El resto fue como mucha información...recién estoy entrando en la cueva y hay runas que son letras y que no se para que voy a usar..... mmm creo que esa fue mi sensación... las primeras entendí que me iban a dar información clave..pero el resto quede medio..como...y para que?...

Espero te ayude!

1 respuesta
Tchumpy

¿Las runas con letras las vas a usar para algo clave o se puede jugar bien sin tener que leerlas? Si lo realmente importante son los colores, que tampoco es mecánica, sino algo estético, lo dejaría sin tutorial, que el jugador se lo encuentre. Es un pequeño detalle que gana fuerza si no hay que explicarlo.

1 respuesta
AikonCWD

#1330 Muchas gracias, eso es lo que más o menos necesito escuchar... la sensación que produce esa información a jugadores nuevos.

#1331 El jugador se podrá pasar el juego sin leer las runas.
Las runas es un añadido, ofrecen pistas y ayudas. Imagínate poder leer (peligro, fuego derecha) o (cofre secreto arriba)... el jugador que se haya molestado en aprender las runas, tendrá más información para sortear peligros o encontrar items secretos (como las skins).

B

Te está quedando muy "pro" para ser el primer juego que haces.

Se tenía que decir y se dijo.

4 1 respuesta
AikonCWD

#1333 gracias!!!

Toca ajustar un poco los timers. Quiero dejar este pasadizo super ajustado

9
carra

Que bueno, parece una ola de cuchillas :smile:

AikonCWD

Recordáis que dije hace meses que no añadiría contenido ni mecánicas para no alargar el desarrollo del juego?

Mentí

Por suerte me ha llevado poco tiempo entre dibujar la sierra y programarla. Se puede mover en las 2 direcciones, parametrizar velocidad y distancia de desplazamiento. Al chocar cambia de dirección y sentido de rotación.

@ArticoDelSur esta pantalla te la dedico xd

6 4 respuestas
ArticoDelSur

#1336 Me muero del agobio na más verla xddd

nerkaid

#1336 Se te pira con la dificultad en serio xd

1 respuesta
AikonCWD

#1338 Es el nivel 9. Tiene que ser difícil sí o sí.
El nivel 10 será el boss solamente.

1
ESL_Kaiser
#1336AikonCWD:

Mentí

te mentiste a ti mismo, nosotros ya lo sabíamos

8
Tchumpy

#1336 Tenemos nuevo Celeste.

AikonCWD

Estoy cambiando el sistema de checkpoints (el código) ya que no lo tenía bien implementado del todo.

Y como siempre ocurre, cuando toco algo pues genero bugs nuevos y este es lo tengo que enseñar:

Tras revivir, hay que resetear el estado del player xd

11 3 respuestas
carra

#1342 Y por experiencia propia, también hay que resetear todo en un game over, o al pasarse el juego!

2
totespare

#1342 grande jajaja

AikonCWD

Bueno, vengo a desahogarme un poco.

He tenido que re-hacer el sistema de checkpoints/totems ya que tal y como lo tenía implementado (mal) me estaba dando unos problemas de lag al usar el totem que han repercutido ahora en todas esas hachas sincronizadas, haciendo que se desincronicen un poco al usar un totem. Os pongo en antecedentes.

Hasta ahora, lo que hacía al tocar un totem, era guardar toda la escena actual, con sus nodos/objetos, en una cosa llamada PackedScene. Y luego tras morir y revivir, eliminaba la escena actual y cargaba la PackedScene (así la partida continuaba en el mismo estado que cuando tocaste el totem).

Hacer eso funciona y te ahorra mucho trabajo, código y horas de pensar. Pero cuando el juego y sus escenas empiezan a ser mínimamente grandes, el proceso de crear la PackedScene puede resultar "pesado", haciendo que el juego haga lag de unos milisegundos. Provocando el error que he comentado en los péndulos. (intenté meter esa rutina en un thread a parte, pero no funciona)

Solución? Hacer las cosas bien. He tenido que cambiar el código de todos los elementos coleccionables (llaves, gemas, corazones, etc...) y objetos importantes tales como cajas, puertas y botones. Ahora cada vez que coleccionamos un item de esos, se marca un flag en dicho item. Si morimos sin tocar un nuevo totem, al revivir, una función se encargará de instanciar de nuevo los items con el flag.

He estado haciendo pruebas con un nivel de testeo, con varios totems, puertas, llames, etc... para ver si es robusto. Ahora el juego no se cuelga ni una milésima de segundo, tras morir no se resetea el nivel, ni se reinicia la música ni nada de eso. Y creo que funciona bien.

Y digo "creo" porque uno nunca está seguro de si ha probado todas las combinaciones para romper el nuevo sistema. Un bug en este proceso podría dejar el juego incompletable (por ejemplo que tras consumir una llave y abrir una puerta, ésta se cierra tras morir). O dejar el juego roto (duplicar llaves muriendo y cosas así).

Pues eso, que llevo 7 horas programando esto de nuevo y estoy enfadado por no haberlo previsto antes.

4 2 respuestas
covaga

que putada, al menos te has dado cuenta ahora. Muchos ánimos

1 respuesta
AikonCWD

#1346 yeah. Al menos me quedo con que algo he aprendido hoy xd

Abrí un hilo en reddit por si alguien le interesa: https://www.reddit.com/r/godot/comments/hg6bm0/having_lag_spike_when_saving_packing_a_scene/
Ahí me han propuesto más o menos la solución (no hay una forma correcta de crear un savegame o checkpoint, ya que depende de como quieras diseñar tu juego).

He hecho algo similar a este artículo: https://docs.godotengine.org/en/stable/tutorials/io/saving_games.html

B

#1345 usas deltatime para rotar el ángulo de los péndulos y le das a cada péndulo un valor inicial de ángulo diferente ajustado al tipo de sincronización que buscas?

1 respuesta
AikonCWD

#1348 Nope. De momento cada pendulo empieza en X grados fijos, y a cada uno de ellos le he puesto un delay inicial.

Le daré una vuelta mañana, de todas formas con el nuevo checkpoint sin PackedScene, ya no se desincronizan.

1 respuesta
B

#1349 si usas delays el problema estará presente en máquinas que estén justitas.

Si haces como digo en #1348 nunca se desincronizarán, incluso con framerates inestables extremos.

Y ya puestos a ser "puristas", lo suyo sería crear un gestor que controlara todos los péndulos... o al menos los que estén asociados a un tipo de sincro.

2 respuestas