DRAIN Devlog #2: Cambios
¡Hola de nuevo! Estamos de regreso con una actualización importante sobre la demo, así como nuevos avances en el desarrollo.
Nos presentamos en nuestro Devlog anterior, así que nos saltaremos esa parte (puedes leer la introducción en ese post si quieres saber un poco más sobre nosotros).
Empecemos con el anuncio importante.
Lanzamiento de la demo
Inicialmente planeábamos lanzar una demo en itch.io entre abril y mayo con la finalidad de encontrar problemas antes de publicarla en el Next Fest de Steam en junio.
Sin embargo, conforme se acercaba la fecha, encontramos trabajos ajenos a DRAIN que decidimos tomar tanto para apoyar el desarrollo del juego económicamente como por razones personales.
Eso fue durante el mes pasado, ahora estamos relativamente libres para enfocarnos principalmente en el juego. Aunque podríamos trabajar día y noche durante mayo para tener la demo lista en junio, tendríamos que recortar contenido y/o su calidad, también a cambio de nuestra salud mental.
Después de discutirlo, decidimos tomarnos el tiempo necesario.
La nueva fecha para el lanzamiento de la demo es el Next Fest de Steam en octubre.
Sabemos que es bastante tiempo de diferencia, pero no descartamos publicar una prueba en itch.io antes de eso. Tampoco significa que no habrá actualizaciones sobre el desarrollo o adelantos.
Como este:
Esa es una pequeña muestra de una de las cosas en las que estuvimos trabajando.
A continuación mostraremos varias cosas más y compartiremos nuestros pensamientos sobre el desarrollo desde el último Devlog.
Arte [Esaú]
Hola, aquí está Esaú de nuevo.
Había estado ocupado por unos proyectos que me cayeron y no podía negarme a realizarlos porque pues necesito el dinero y desarrollar juegos no deja nada hasta que sacas a la venta tu primer producto y pues claramente ahorita seguimos en la cocinada de este título xd Por tal motivo, mi devlog tardó en llegar mas de lo que se supone que debió haber tardado además de que al mismo tiempo mi avance para este devlog es mas bien modesto comparado al devlog anterior en fin. paso a lo que nos compete
Estuve modelando uno de los enemigos randoms que aparecerán de vez en vez en el juego, este enemigo representa la envidia pues en el lore de nuestro juego las personas que fueron afectadas por el cataclismo que le da inicio a nuestro juego fueron mutadas a los pecados que mas practicaban en vida de ahi que represente la envidia, mas adelante habra enemigos y bosses que representen estos pecados.
Para este modelo esculpí , luego hice retopology (carajo lo odio con todo mi corazón) texturicé y pronto animaré estos enemigos (soy malísimo animando) el diseño de este enemigo fue proporcionado por nuestro artista conceptual
Por otro lado, he estado trabajando en otro mapa donde el jugador se enfrentará al primer puzzle del juego (:
Decir que he estado trabajando un mapa realmente resume muchas cosas porque hay un montón de modelos, texturas y optimizaciones que se han hecho solo para este fragmento de mapa.
De mi parte es todo por el momento.
Guión y Programación [Vidal]
¿Notan algo raro en ese vídeo?
La animación de caminar del personaje con armadura no deja de reproducirse aunque ya no está moviéndose.
Ya que esta es la tercera o cuarta vez (no las he contado) que he tenido que arreglar este bug (y siempre ha sido una causa distinta), imaginaba que el problema venía del código que calcula la velocidad, las físicas o una interacción rara relacionada con una interpolación (todo esto ha pasado antes).
Afortunadamente, en cuanto empecé a revisar el código, me di cuenta de que había una rama donde, aunque la velocidad se actualizaba, no se ejecutaba el movimiento (olvidé llamar esa función). Era un error, sí, pero no tenía que ver con el bug del vídeo porque la posición del personaje ya estaba fija y el cálculo de velocidad (basado en la posición) debe ser 0… ¿verdad?
Bueno, agregué la función y se solucionó el bug. No entiendo por qué exactamente, pero tampoco me quejo.
Cinemática de Apertura
Las imágenes en blanco y negro provienen de la cinemática de apertura, de la cual estuve encargado de escribir su guion y de editar. Se estuvo trabajando en ella desde hace meses, y aunque se tuvo que recortar un poco para que fuera viable para nuestro único artista conceptual, estoy bastante satisfecho con el resultado.
Como mencioné, yo escribí su guion. Cuando decidimos hacer una cinemática de apertura, mi objetivo fue presentar más del mundo y de la protagonista para establecer una conexión inicial con el jugador sin sobreexponer ni alargarla demasiado. Las respuestas se encontrarán jugando.
La edición, más que difícil, fue tediosa debido a las varias capas presentes en cada fotograma estático, ya que animé cada una y ajusté sus transiciones para lograr los efectos que el director de arte (Esaú) buscaba.
Controles de Sandbox
La última cosa de la que me gustaría hablar es sobre los controles en el modo de exploración (sandbox).
DRAIN tiene dos modos principales: el combate y la exploración (y sus derivados).
Nuestro mayor enfoque del gameplay hasta hace poco había sido el combate, ya que las interacciones entre sus controles, ataques, animaciones, sonido, etc. requerían bastantes ajustes. Aún faltan detalles, pero creemos que está cerca de ser jugable por cualquier persona, no solo nosotros, los desarrolladores. De hecho, toda la secuencia inicial del juego está terminada (a grandes rasgos), pero me desvío del tema.
El juego ha pasado por varias formas, una de ellas siendo una novela visual en 3D. Eventualmente, estuvimos de acuerdo en que buscábamos un gameplay más interactivo y decidimos poner el combate.
Por otro lado, siempre supimos que la exploración sería una de las características principales. Ahora que el combate está lo suficientemente avanzado, me centraré en programar los sistemas del sandbox necesarios para la demo.
Solo en ese vídeo hay bastante que desempacar, pero no quiero extender tanto el post, así que lo resumiré.
Desde antes de lo que se muestra el vídeo, el código ya hace algo importante, que es transicionar los estados necesarios de una secuencia a permitir al jugador controlar el personaje sin hacer un corte o una carga.
Ya en el vídeo, hay varios sistemas en juego, uno de ellos siendo la cámara. Aunque no es muy obvio ahí, solo se mueve cuando el objetivo (el personaje en este caso) está en ciertas regiones de la pantalla. Programar ese movimiento "en rieles" no fue complicado, pero hacer que el movimiento fuera suave me hizo pensar más de lo que esperaba.
Ya que he hablado de las animaciones antes, iré directamente a los controles. No tienen mucho de especial, ya que Godot viene con funciones para facilitar el movimiento de personajes en 3D. En este caso, lo que me tomó más tiempo fue llegar a ese punto medio entre suavidad y reactividad. Aunque no es necesario reaccionar rápidamente en el sandbox, el movimiento tiene que sentirse y verse agradable. Creo que tuvo un buen resultado.
Lo siguiente en lo que trabajaré será poder interactuar y destruir objetos con ataques.
Podría decirse que tenemos la mitad del contenido hecho para la demo, pero ahora que muchos de los procesos y sistemas están funcionando, deberíamos progresar más rápido.
Con suerte, les tendremos sorpresas pronto. 😉