[Devlog] The Shadowed Rune: Un picnic en una torre maldita

javifugitivo

Has llegado a una torre olvidada llena de peligros, y no hay forma de escapar. Tu única oportunidad es llegar a la cima de la torre y romper la maldición utilizando el poder de poderosos artefactos rúnicos.

The Shadowed Rune es un desafiante roguelike que puedes jugar en solitario o en cooperativo a dos jugadores. Combina el poder de las runas para descubrir nuevos hechizos y ascender por la torre para romper la maldición. Te enfrentarás a enemigos que no son tan simpáticos como parecen, puzles donde tendrás que utilizar con sabiduría el poder de los elementos. ¿Te he hablado de los jefes finales que vigilan cada piso? Ellos son solo el principio...

Características clave:

  • Una aventura roguelike única con elementos de acción de bullet hell, puzles y jefes desafiantes.

  • Modo cooperativo local. Cada nueva aventura puede jugarse en modo cooperativo para dos jugadores, incluso en línea (a través de Steam Remote Play Together).

  • Sistema de magia basado en siete elementos (agua, fuego, viento, tierra, trueno, luz y oscuridad) que te permitirá generar 134.217.728 combinaciones de hechizos posibles.

  • Además contarás con un completo compendio mágico que te permitirá descubrir poderosos hechizos en medio del combate. Alterna entre runas y cambia tus ataques en tiempo real para modificar tu estrategia sin parar la acción.

  • Una torre dividida en siete pisos con docenas de niveles para explorar. Además, cada aventura es diferente: Los niveles cambiarán tras cada derrota. ¿Estás preparado para romper la maldición? ¡Vuelve a intentarlo!

  • Interactúa con el entorno, resuelve puzles, lucha contra oleadas de enemigos y descubre artefactos únicos que cambiarán tu forma de jugar.

Hoja de ruta:

Demo disponible el 24 de septiembre de 2024 a las 18:00h
Lanzamiento en Acceso Anticipado en 2025.

La versión de Acceso Anticipado contará al menos con:

  • Al menos 2 personajes elegibles.

  • Mazmorra completa con 4 pisos y decenas de niveles para superar.

  • Más de 100 hechizos y decenas de artefactos únicos para desbloquear.

  • Durante el Acceso Anticipado, se actualizará el juego de forma periódica, teniendo en cuenta el feedback de la comunidad.

  • Traducción a Español e Inglés.

Contenido previsto tras el lanzamiento en acceso Anticipado

  • Ampliación de la historia con nuevos capítulos y nuevos desafíos de final de juego.

  • Nuevos personajes (hasta un total de 7).

  • Más enemigos y jefes finales.

  • Nuevos hechizos arcanos por descubrir.

  • Más objetos, artefactos y personajes con los que interactuar.

  • Mecánicas nuevas por anunciar.

  • Traducción a más idiomas.

¿Qué pasará una vez el juego salga del acceso anticipado y sea lanzado oficialmente?

Este proyecto es muy especial, y mi intención es darle soporte tras el lanzamiento, con nuevas expansiones de contenido gratuitas de forma periódica.

DIARIO DE DESARROLLO EN ESPAÑOL

Pues, con el juego por fin con su página publicada en Steam, me he animado a abrir un nuevo diario de desarrollo, ya con el aliciente de que ya es algo real. Incluso hay una demo ya preparada para enviar al Indie Dev Day, para ver si me cogen para un stand.

El objetivo de este diario va a ser ir contando los avances del juego, desde el enfoque de problema - feedback /propuestas - solución final, de esta forma aprendemos todos. Por ir contando, llevo tres meses con el desarrollo, desde el mes de marzo, que empecé con el GDD tras la Jam en la que participé con el prototipo. Tengo muchas cositas que contaros, sobre todo de problemas iniciales y problemas que surgen a /mediolargo plazo, pero que si se tienen en cuenta desde el principio, se pueden solventar antes de llegar a un punto muerto.

Vamos a poner de objetivo, darle caña este verano para crear mucho contenido y hacer que la comunidad dev de mediavida participe con sus ideas. El juego considero que tiene mucho potencial y tengo muchísimo espacio para meter enemigos, hechizos y artefactos loquísimos. Voy a hacer el roguelike de mis sueños. ¿Me acompañáis en este viaje? (y añadidme a lista de deseados de Steam, ¡gracias!)

No te olvides de añadir 'The Shadowed Rune' a tu lista de deseados.

Demo ya disponible:

11
javifugitivo

DIARIOS DE DESARROLLO

#19 Diario de Desarrollo I: De Jam a Steam - Todo empieza con el tutorial.

#22 Diario de Desarrollo II: Mazmorras aleatorias.

javifugitivo

MECÁNICAS PRINCIPALES

Runas elementales

En la versión Jam se implementaron cuatro elementos: Agua, Fuego, Tierra y Viento. Para la versión que será lanzada en Steam he aumentado en tres los elementos: Rayo, Luz y Oscuridad. Cada runa interactúa con el resto y provoca un bonus que se añade al hechizo que fueras a lanzar.

Cada hechizo tiene un único elemento que lo marca la runa más a la izquierda del interfaz, pero cada elemento secundario añade un bonus además de otras interacciones que se pueden descubrir simplemente jugando. Por ejemplo, para conseguir más proyectiles hay que colocar varias runas iguales seguidas.

Estas son las características principales de cada runa (wip):

AGUA: Añade penetración a los hechizos. Cada runa de agua aumenta el número de enemigos que un solo proyectil traspasará.

FUEGO: Añade explosión a los hechizos. Cada runa de fuego aumenta el tamaño de esa onda expansiva. Un ejemplo, si una runa golpea una pared no dañará a enemigos cercanos, pero con runas de fuego equipadas, la explosión sí que les dañará aunque sea en menor medida.

VIENTO: Añade rebote a los hechizos. Principalmente rebotarán contra las paredes, lo cual ya es una ayuda importante a la hora de combatir contra pasillos y contra muchos enemigos.

TIERRA: Añade ""push" o empuje a los hechizos. Los enemigos golpeados se ralentizarán e incluso se pararán y retrocederán si reciben muchos impactos.

RAYO: Añade "en cadena" a los hechizos. Cuando impactan en algún elemento destruible como un objeto o un enemigo, se lanzan contra el enemigo más cercano, o en su defecto en una dirección al azar. Cada "cadena" reduce el daño del hechizo.

LUZ: Añade velocidad de proyectil a los hechizos. Una gran cantidad de runas de luz equipadas convertirá prácticamente en balas los hechizos lanzados.

OSCURIDAD: Reduce la velocidad de proyectil de los hechizos. Su efecto puede parecer poco interesante, pero bien combinado, crea sinergias muy útiles, menos con la luz, ya que ambos efectos se contrarrestan entre ellos.

Jastro

estare atento a los avances, entiendo que la version de la jam, sigue siendo jugable no?

1 1 respuesta
javifugitivo

#4 Por supuesto, se ha quedado como la versión prototipo del juego, esa se queda ahí para la historia. ;-)

RosaNegra

Tiene pinta interesante. Lo único que no se que objetivo tienes con el juego. Si publicarlo y ya o intentar hacerlo full time y sacarlo adelante para tener profit.

De ser lo segundo, yo personalmente me buscaría un artista que rehiciera los gráficos. Así podrías tener un gancho visual para vender.

1
javifugitivo

Hola Rosanegra, por ahora no me puedo permitir dedicarme a él fulltime. Si lo lanzo y veo que va bien, sí que me plantearía ir rehaciendo los gráficos con un artista. Por ahora, lo estoy haciendo yo todo. Ojala pudiera en ese momento dedicarme al juego por completo y aumentar el equipo. Mi idea es publicarlo en early access y mantenerlo allí hasta que vea que está listo del todo. aún así mi idea es seguir actualizándolo continuamente cada pocos meses.

Tras varios proyectos, estoy haciendo por fin el juego que me gustaría jugar y veo muchas posibilidades para que crezca, incluso después de lanzarlo.

1 1 respuesta
S

#7
Has dicho las palabras mágicas para que sepamos que vas a hacer un bonito juego.
"estoy haciendo por fin el juego que me gustaría jugar"
Lo seguiremos de cerca. Mucho ánimo!

2
javifugitivo

Muchas gracias por los comentarios, sí que es verdad que tengo una gran duda sobre la denominación del género del juego, que me gustaría que @AikonCWD me ayudara a resolver, como experto en roguelikes que es.

"The Shadowed Rune" lo estoy planteando como un roguelike lo más fiel posible al género pero sin ser por turnos. Me explico:

  • No va a ser como Hades u otros similares, en los que vas farmeando cosas para empezar con potenciadores en tus siguientes runs. Mi objetivo es que sea tu run número 1 o número 100, empieces de 0 y tengas la posibilidad de vencer al jefe final. Está claro que habrá más contenido extra tras vencerlo, pero teniendo el conocimiento del juego y la habilidad, no te obligo a farmear recursos para ser "más poderoso" en siguientes runs.

  • Sí que es verdad, que estoy montando un sistema de Compendio, en el que se quedan los hechizos descubiertos grabados y es de ayuda para detectar que puedes lanzarlos, pero no es indispensable. Si te sabes las combinaciones, puedes lanzarlos en cualquier momento incluso en un perfil totalmente nuevo.

  • Meteré un recurso que sí que se quede entre Runs, pero solo para desbloquear cosas cosméticas en el campamento, pero poco más.

Y eso es todo, estoy planteando el desarrollo, con niveles cortos de 4-5 habitaciones que mezclen de forma aleatoria, salas con puzles, enemigos, tesoros, etc, para que sea un desarrollo ligero. al morir, por supuesto, al campamento de vuelta. Por eso ahora mismo lo llamaría juego de aventura y acción con base/mecánicas de roguelike. Porque no sé si me estoy pasando diciendo que es un roguelike (el término lite no me gusta). ¿Cómo lo veis?

¿Cómo lo veis?

2 respuestas
AikonCWD

#9 Uf a ver, el tema de la denominación del género es complicado. Con el tema de "roguelike" hay mucho debate y llevan años así sin que se haya podido llegar a un consenso.

Primero todo, por alguna razón, los desarrolladores tienen especial interés en que su juego tenga la etiqueta "roguelike" porque piensan que eso les va a dar una visibilidad (y por tanto jugadores) adicionales. El segundo punto importante es que la mayoría de jugadores creen que les gustan los roguelikes pero cuando les preguntas que pongan ejemplos de juegos que les gustan, ni uno es un roguelike de verdad. Y estas 2 cosas sumadas hacen que cada día saquen más juegos con esa etiqueta y los jugadores se crean todavía más que les encanta ese género cuando en realidad están jugando a otra cosa.

Cierto es que no hay una definición única sobre qué es un roguelike. Existe un listado de características típicas en un roguelike pero nadie ha conseguido establecer cuántas de esas características debes cumplir para ser considerado como tal, y al final dependerá un poco del criterio personal de cada jugador.

Si me preguntas a mí: sistema por turnos y no-metaprogresión son 2 factores claves que deben existir. En caso de no cumplir, tiraría por el término roguelite.

Y ojo, que un juego sea roguelite y no roguelike no lo hace "de menos", como mucho creen.

edit: Luego puedes usar etiquetas compuestas, por ejemplo en tu caso a mí me entra la definición de action-roguelike (roguelike de acción), por el tema de ser en tiempo real y no por turnos. Siempre y cuando no tengas metaprogresión y que exista un componente fuerte generado procedimentalmente (skills, recetas, mapas, layouts, monstruos, etc....)

1
AikonCWD
#9javifugitivo:

Porque no sé si me estoy pasando diciendo que es un roguelike (el término lite no me gusta). ¿Cómo lo veis?

Es curioso como todos los desarrolladores huimos del temino roguelite. Parece que nos da tirría jajaja. Pero es normal. Yo de momento no me preocuparía por el término ni la etiqueta. Termina de implementar las mecánicas y luego lo buscamos al detalle si quieres. Dependerá un poco de lo purísta y freak que quieras ser con este tema. Pero ya te aviso que por lo general a la gente se la pela muchísimo.

Pillas Steam, te pones a filtrar juegos "roguelike" y te sale cada bazofia que ni es roguelike, ni lite ni nada. Pero ponen la etiqueta y si cuela cuela. Por lo que he visto y lo que has comentado, roguelike de acción creo que es tu género: https://store.steampowered.com/tags/es/Roguelike%20de%20acci%C3%B3n

Mira ese link y compara si lo que quieres hacer se parece a lo que sale en primera página.

1
javifugitivo

#9 Creo que me has ayudado mucho. El tema de la metaprogresión es algo que quiero cumplir y no dar facilidades. Así que creo que sí que entraría en esa definición de roguelike de acción.

Sobre tema procedimental, por ahora estoy preparando un sistema de niveles aleatorios y la mayoría de objetos que aparecerán y enemigos, varían en sus stats y características entre runs, por lo que tengo ahí terreno con el que jugar.

¡Muchas gracias por tu ayuda!

Sobre el link de Steam: Sería algo así pero, con más mecánicas de puzle tipo Zelda clásico y jugando con los elementos, pero creo que encaja.

A

Muy buenas! Soy publisher de videojuegos. www.poyskyproductions.com y me gustaria hablar contigo sobre tu proyecto.

madame un PM cuando puedas

Un saludo!

javifugitivo

Hola Alex, conozco tu trayectoria, estaré encantado de comentarte mi proyecto en privado, ¡muchas gracias por tu interés!

Erpotro

El trueno no es un elemento no? Sería rayo en tal caso?

Soy muy tiquismiquis lo se...

Estaré atento al lanzamiento, se probará esa demo para dar feedback!

1 1 respuesta
javifugitivo

#15 ¡Gracias por sacar el tema! Es algo sobre lo que aún no me he decidido, ya que he visto usar en inglés tanto Lightning como Thunder incluso para referirse al mismo fenómeno según donde consultes. Posiblemente lo cambie a Lightning y rayo en español más adelante, pero tenía miedo que se confundiera con el elemento Luz (Light) en inglés... ¿Cómo lo ves? (Electricity es que no me gusta nada).

1 respuesta
Erpotro

#16 En la mayoría de juegos que conllevan el uso de elementos (sobre todo los populares fuego, tierra, agua, rayo) suelen llamarlo Lightning, por le tema de que cuando lanzas un hechizo, este sale con ese brillo del rayo, con esa forma "física".

Trueno es sonido al fin y al cabo, pero vamos que tampoco sería un delito llamarla thunder, si que se puede ver que en algunos juegos le llaman así, pero más popularizada es la magia de rayos :)

Si en un futuro haces algún cambio de mixear elementos, si mezclas rayo + viento podrías llamarle trueno :P o Rayo + luz = Relámpago.

1
soykhaler

Dale caña, a la wishlist de cabeza

1
javifugitivo

Ya estoy por aquí de nuevo, que tengo cosas que comentar:

Tras lanzar la página de la tienda el domingo y este diario de desarrollo, he estado pensando como actualizarlo. Seguramente intente hacer al menos un Diario semanal contando los avances y características que voy añadiendo y que ya tengo añadidas, explicando la razón de cada cosa y por supuesto abierto a vuestro feedback (ya he cambiado trueno por rayo, por ejemplo).

Así que en principio lo que he pensado, es ir añadiendo a los primeros posts toda la información general del juego en plan wiki e incluir allí una lista con los posts que contengan un diario de desarrollo, como éste mismo por ejemplo:

Diario de desarrollo I : De Jam a Steam - Todo empieza con el tutorial.

Como ya se ha comentado, The Shadowed Rune nació como un juego de Jam, realizado en 2 semanas, aquí enlace a la versión de Jam, totalmente jugable. Tras la buena aceptación en las votaciones y al gustarme las posibilidades que tenía me lancé a preparar una nueva versión, investigando tema de iluminación y recopilando feedback sobre qué había funcionado y qué no.

El principal feedback fue la gran diferencia de mecánicas entre el tutorial y la "mazmorra". Se había pasado de una sala con todo muy medido para enseñarte las mecánicas principales, a un nivel enorme lleno de enemigos, jarrones que romper y runas que coger. El problema es que enseguida se hacía repetitivo, el nivel era enorme y era fácil perderte y encontrar la salida al Boss de la versión Jam. Todo esto lo tuve en cuenta en el GDD de la siguiente versión.

La 1ª decisión fue rehacer el tutorial, tras hacer una base sólida ya que cogiendo la base de la Jam rehice y optimicé todo el código en preparación de hacer el juego más grande y no encontrar nada mal programado que pudiera limitarlo. El tutorial era clave en este juego, ya que tiene mecánicas de combate más complicadas de entender que otros juegos, sobre todo siendo un juego de aspecto familiar, que podrías jugar con tu hijo o tu pareja. Quería respetar la historia que estaba creando, pero también evitar continuos mensajes de sistema que paraban la acción (para testear también era un rollo pulsar 10 veces pasar texto cada vez que probaba algo). La solución que encontré fue crear textos emergentes al acercarte a determinados lugares de cada sala.

Image from Gyazo

Este personaje minúsculo ya estaba planeado más adelante en la torre, como un ser al que le gustan los cristales de mana y te los intercambia por otros objetos. Era la oportunidad ideal para que te sirviera de ayuda para explicarte funciones básicas como el "empujón / esquiva", rotar runas o eliminarlas. Además, serviría también para dar pistas si algún incauto se quedaba atascado.

La 2ª decisión fue que el juego fuera cooperativo desde el primer momento. Sería un cooperativo local con opción de online mediante Remote Play Together de Steam. Una vez tuve rehecho el control del primer personaje desde cero, para añadirle algunas mejoras, fue fácil crear un segundo jugador, pero conseguir que todo encajara fue otra historia... el juego está preparado para jugar con teclado y ratón y 2 mandos de pc, pero cada jugador debía poder elegir personaje, tener su propio mapeo de teclas y esto mostrarse en el juego. Imaginad el berenjenal, sobre todo usando Game Maker donde no hay nada prehecho y lo haces todo desde cero... Por ejemplo una de las features que tuve que descartar casi enseguida fue que la cámara se alejara si se separaban mucho los jugadores, ya que con el tema de la iluminación, perdía mucho rendimiento. Fue una lastima porque era un efecto muy útil sin tener que recurrir a una pantalla partida.

Image from Gyazo

Cuando manejas un solo jugador, tienes dos opciones de cámara. Si mueves el ratón/stick derecho, puedes mirar en esa dirección estilo Nuclear Throne. Pero si no tocas el stick o el ratón, la cámara se centra en el jugador y se puede jugar estilo Zelda clásico en 2D, incluso si no tienes que combatir, se puede manejas solo con teclado...

Si juegas en cooperativo, la cámara funciona de forma más sencilla, se centra en un punto entre los dos jugadores y siempre se coloca centrada. De esta forma se limita el movimiento de los jugadores (no pueden salir de cámara ni alejarse mucho), pero en caso de jefes finales, da mucha libertad, al poder tenerlo normalmente en el centro de la sala con suficiente visión para poder esquivar y atacar, igual que cuando hay muchos enemigos.

Image from Gyazo

El principal reto que he tenido en el último mes ha sido cuadrar todo para que el juego y la historia funcione tanto si juegas solo o en cooperativo. Ya que no me parecía bien que empezaras a jugar en cooperativo y decirle al 2º jugador: "Hola, tienes que esperarte 5 minutos para jugar tú". Así que cuando empiezas a jugar, aprovechamos para presentarte al 2º personaje, Brishen y como encuentra su artefacto. En el modo de un jugador, directamente encuentras a Brishen más tarde con su artefacto rúnico ya equipado.

La 3º decisión que tomé tras el feedback recibido y teniendo en cuenta el modo cooperativo, rendimiento por tema luces y la propia idea del juego que tengo en mente, fue reducir el tamaño de las mazmorras. Los dos niveles que forman el actual tutorial son una prueba de ello, ya que son niveles pequeños muy cuidados con muchos detalles.

Image from Gyazo
Vista de la primera zona de tutorial.

Además, no hacer niveles enormes ayudaría a que los jugadores no se pudieran alejar mucho ni tuvieran la necesidad de ello. También me permitiría meter niveles más cuidados en detalles, con sus puzles, combates y tesoros. Más pequeños, pero con más calidad e incluso mejor rendimiento.

Lo que estoy planificando son niveles de entre 3 y 6 salas como máximo con distintos retos a superar... El reto ahora es coordinar el tema de hacer salas a mano con elementos aleatorios y luego colocar esas salas en una mazmorra conectadas de forma aleatoria pero con un sentido. Tengo ya las pruebas realizadas y el resultado es prometedor.. pero de eso os hablaré en el siguiente diario de desarrollo. ¡Gracias por leer!

2
javifugitivo

Aún no tengo listo el próximo diario de desarrollo, pero os quería informar de que voy a estar exponiendo en la IndieDevDay de Barcelona los días 27,28,y 29 de septiembre. Me llevaré una demo más avanzada para mostrar en la feria. ¡A ver si nos vemos algunos del foro allí!

2 1 respuesta
carra

#20 Estaría bien, pero siendo en Barcelona no lo sé. No tendré aún mucho que enseñar y no sé si el viaje merece la pena sólo para mirar...

1
14 días después
javifugitivo

¡Hola de nuevo! Durante estas últimas semanas he estado lidiando con la preparación del Indie Dev Day de Barcelona y toda la promoción del juego (voy con un pequeño stand a exponer).

Pero he podido sacar tiempo para dar forma a uno de los sistemas que tenía pendientes por implementar, que aunque estaba planeado enel GDD, siempre a la hora de implementarlo en el juego puede dar problemas.

Como había comentado en el anterior diario de desarrollo, el objetivo era trabajar en mazmorras más pequeñas, entre 4 y 6 salas (contando entrada y salida), para que fueran relativamente cortas (unos 5-10 minutos) . La torre donde se desarrolla ‘The Shadowed Rune’ está formada por 7 pisos principales. Cada piso a su vez está dividido en varias secciones. Cada mazmorra aleatoria sería una de esas secciones. La última sección de cada nivel sería la lucha con un jefe final. Tras vencerlo ascenderás al siguiente piso de la torre. Todos los subniveles compartirían la misma ambientación.

¿El reto? Conseguir que estas ‘minimazmorras’ sean interesantes. Tal como reza la descripción del juego, la clave está en combinar niveles de acción, con niveles de puzle, que te obliguen a usar los elementos para resolverlos. La posición de las salas, por tanto debe ser aleatoria y ofrecer la suficiente variedad para sorprender al jugador.

Cada piso tiene una ambientación basada en un elemento, pero eso no limita que puedan aparecer otros, por supuesto, pero sí que influye en el tipo de puzles que aparecerán.

Otro de los motivos de dividir la estructura por salas es facilitar el juego cooperativo. Está claro que se podrían hacer salas totalmente inconexas y que pasaras de una a otra sin poder volver a la anterior. Pero creo que nos perderíamos uno de los puntos fuertes que va a tener ‘The Shadowed Rune’:

  • Cada sala (la llamo Cámara / Chamber dentro de la programación) la estoy diseñando por separado, para poder testearla y probarla con unas bases semialeatorias de conexión entre objetos - activadores - runas - enemigos. Otras serán puzles más cerrados, pero espero tener la suficiente variedad para que no se hagan repetitivas.

  • La base inicial es que la sala pueda ser superada con los propios elementos que te ofrece la sala. De esta forma nos aseguramos de que el jugador no se queda bloqueado porque le falte un elemento o una runa anterior. Pero… si tiene otras runas equipadas y tiene a su disposición otros elementos, podría conseguir acceder a zonas secretas, resolver los puzles más fácilmente y conseguir un mejor botín. (El juego está repleto de pequeñas salas y zonas ocultas con bodegas y botín, a las que se podrá acceder teniendo las runas adecuadas, pero sin que ello comprometa el progreso normal de la aventura.

  • Además esto permite que puedas superar el nivel entero y antes de cruzar la última puerta decidir dar una pequeña vuelta y explorar zonas que quizás con una runa obtenida en un último momento, te permita llegar a una zona oculta.

Pasando a temas técnicos, puedo adelantar que cada piso de la torre se plantea como una rejilla de 4 x 4 (16 celdas) (Suficiente para conseguir distintos tipos de layout). Cuando sales del campamento, el personaje entra al primer nivel de la torre: “Los sotanos inundados”.

El juego en ese momento comienza la generación, eligiendo una de esas 16 casillas como objetivo y va desplazándose creando un camino según el algoritmo programado hasta que llega al límite fijado o bien se bloquea totalmente, al no tener más caminos, en ese caso, posiciona al personaje en la sala inicial y comienza la aventura.

Este sistema lo estoy haciendo desde cero, sin usar código de terceros, para asegurarme que lo estoy controlando en todo momento. El mayo reto en términos de diseño era crear un layout básico para las 16 posiciones de la torre y asegurarme de que siempre los caminos están conectados al crearse.
Estas fueron las primeras pruebas solo con el terreno y algunos objetos:

Image from Gyazo

Entrando en profundidad, para quien le pueda servir. Cada sala será diseñada en un pequeño nivel cerrado. Una vez testeada, se guarda en archivos para su posterior reutilización. De esta forma podemos tener cientos de salas sin necesidad de tener cargadas toda en memoria, ya que se cargan las que se van a usar, e incluso permite la combinación de “tiles” e “instances” en archivos separados, para aún conseguir más combinaciones.

Image from Gyazo

Una vez configurado todo inicialmente, diseñamos las salas con paredes y suelos básicos y se le incluyen las colisiones ajustadas al eje Z. Ahora el código ya sabe qué sala colocar en cada espacio. Sin embargo no sabe si a sus lados hay otras salas o no, quedando muchos caminos abiertos. Intenté solucionarlo creando pequeñas bodegas y caminos sin salida, pero no me terminó de convencer. Esas pequeñas bodegas podrían ser parte de las salas ya creadas, sin necesidad de crear tanto elemento adicional.

Realmente la apariencia que se creaba era un poco “fea” ya que se crean restos que no podrían ser jugados, porque son inaccesibles, por lo que esta primera iteración fue descartada.

Una vez más, volvimos a la fase de diseño y cambiamos la forma de creación de las salas. En la primera versión se creaban todas las salas abiertas según su posición, si era una esquina, etc. pero siempre tenían el máximo de caminos abiertos. Esto creaba mucha basura alrededor en forma de tiles y objetos innacesibles.

Para la nueva versión, segmenté en tres fases la creación del layout:

1º Fase, se elige una zona de las 16 disponibles y se crea la sala de inicio.

2º Fase, se crea con un sistema de 4 direcciones, el layout de la mazmorra. En este punto las salas aún no se han creado, sino que se han señalado qué salas se han activado para la mazmorra.

3º Fase, como la mazmorra ya se ha creado completamente, ahora ya podemos comprobar de forma secuencial las relaciones entre salas. Cada sala comprueba las 4 direcciones (norte, sur, este y oeste) y elige su layout más adecuado, con las conexiones que necesita crear. De esta forma cada sala tiene ahora más consistencia y no tengo que buscar parches para cerrar caminos abiertos.

Este es el resultado tras las primeras pruebas:

Image from Gyazo

Image from Gyazo

Como veis, ahora la mazmorra “ya parece mazmorra”, con todo conectado. Sin embargo, el sistema aún se tiene que pulir. He metido comprobaciones para asegurarme que cuando no se genera una mazmorra con un tamaño mínimo, resetee la generación. También debe crear siempre una puerta de entrada y otra de salida. Si no la crea, se resetea la generación de nuevo. Estos pasos el jugador no llega a verlos, ya que la generación ocurre en la transición entre niveles con un fundido en negro, por lo que estos pequeños retrasos son impercetibles. Más adelante seguiremos mejorando el sistema, pero por ahora es suficiente para seguir avanzando en otras áreas del juego.

Por otro lado, la parte más interesante de todo esto es la generación de contenido:

  • Cada sala, una vez se ha elegido su disposición, puede rellenarse con lo que quiera, siempre que respete las entradas y salidas. Esto significa que puedo crear cientos de salas pequeñas con diferentes layouts, teniendo incluso separado el contenido de la decoración.

En estos momentos estoy contemplando variaciones de distintos layouts básicos:

  • Sala grande, redondeada, estrecha, en rombo, partida en secciones, pasillos divididos, etc.
    Y cada una además con distintas variaciones de contenido adaptado al layout:
  • Enemigos, puzles, trampas, oleadas de enemigos, jefes, tesoros, tiendas, y combinación de los anteriores.

La diferencia entre una sala vacía y una ya preparada con contenido (así se ve mejor la escala).


Con iluminación in game:

¿Cómo superas cada nivel?

Llegando a la sala con la puerta cerrada. Cada nivel tendrá una puerta cerrada que se abrirá cumpliendo una condición de esa sala. El jugador deberá descubrirla:

  • Resolver un puzle en la sala.
  • Vencer a todos los enemigos de la sala.
  • Vencer un minijefe.
  • ????

Este devlog se me ha retrasado bastante ya que era una parte crucial del juego tener este sistema terminado. Para los siguientes haré actualizaciones más pequeñas y luego las recopilaré en sus respectivos devlogs. ¡Gracias por leer!
¡Nos vemos en el siguiente Devlog!

1
javifugitivo

Hola, como os comenté voy a empezar a escribir más en este diario, dejando los diarios grandes para cosas más terminadas. Este fin de semana pude adelantar bastante, así que antes que nada voy a recopilar lo que tengo listo y lo que me falta. El objetivo es tener una demo lista para finales de Agosto, para subirla a Steam y que la validen cuanto antes, ya que la necesitaré a mediados de septiembre publicada para el IDD.

El contenido previsto para la demo es:

Pendiente:

El pasado fin de semana, como lo tuve bastante libre, aproveché para montar el menú de opciones, en plan básico. Las florituras las dejaré para más adelante, pero sí que necesitaba tener algo listo antes de empezar a enviar alphas a los testers o vendrían los lloros.

Image from Gyazo

Seguramente se podrá organizar mejor y ponerlo más bonito más adelante, pero me he centrado principalmente en que fuera totalmente navegable con gamepad. Para conseguirlo, hace unos meses ideé un sistema que permite la navegación por menús con mando, siempre que se cumplan requisitos de distancia mínima y máxima entre botones. Al final es una forma sencilla de hacerlo con poco testeo, sin tener que recurrir a grids/arrays ni historias.

Mientras añadía cosas al menú, he añadido una feature que no tenía contemplada por ahora, y es la vibración con mando. La iré implementando en movimientos de bloques, por ejemplo cuando se abre una puerta en algún sitio o se abre una pared, puedo controlar los ejes de vibración izquierdo y derecho, para que solo vibre ese lado. Además, si te acercas a un objeto activable, incluso si está oculto, vibrará durante un par de décimas de segundo para indicarte que hay algo cerca. Eso sí, solo una vez... También, estoy implementando la vibración cuando recibes un ataque y con explosiones o impactos muy grandes, que en conjunción con el screenshake (también configurable) creará un feedback muy completo.

Ahora, estoy preparando ya el sistema de Compendio, para que sirva de guía básica del juego y los elementos y a su vez recoja automáticamente todo lo que encuentres para su consulta: Artefactos, hechizos, personajes, enemigos, etc. De esta forma tendrás una wiki de desbloqueo que animará a jugar nuevas partidas para ir desbloqueando todo y completar el 100& del juego.

1 1 respuesta
Jastro

#23 va tomando forma :D

Mucho animo, que ya va quedando menos

1
Yerboth

Que guapa ha quedado la generación de niveles, la demo la vas a preparar para algún festival?

1 respuesta
javifugitivo

#25 ¡Muchas gracias! Cuando esté completo va a ser una pasada.

Sobre la demo, va a salir para el Indie Dev Day de Barcelona, que en teoría va a tener portada en STEAM con los juegos participantes. Si no fuera así, la sacaré para el Steam Fest de octubre (tengo hasta el 2 de septiembre para apuntarla). Si no participo en el Steam Fest de octubre, sacaré una segunda demo en el de Febrero más avanzada, ya casi para el lanzamiento del Early Access.

Más que nada, porque no tiene sentido tanta visibilidad tan seguida (septiembre y octubre), y prefiero guardarme una carta para febrero, más cerca del lanzamiento.

1
javifugitivo

¡Hola de nuevo! ¡Gracias por los comentarios! Parece que no, pero motiva bastante saber que alguien lee esto y da sus manitas.

Tras un par de días currando en él, ya tengo una primera versión del Compendio y me hacía ilusión enseñarla aquí. ¿Qué vas a encontrar en él?

Veamos, cada Compendio irá ligado a un perfil, así que se tendrá que acceder a una partida para poder acceder a él, tras encontrarlo ingame (me encanta que todo tenga un mínimo de justificación).

Tras encontrarlo, accederás a cinco apartados inicialmente, donde los personajes irán apuntando automáticamente todo lo que encuentren por primera vez a modo de wiki:

1º Sección: Guía básica de magia rúnica: Sería la sección de ayuda básica para explicar qué hace cada runa, diferentes objetos que puedas encontrar en la mazmorra y Lore variado, para ayudar al jugador a entender la historia y cómo interactuan distintos objetos y mecanismos.

2º Sección: Lista de hechizos arcanos. Aquí van los hechizos arcanos descubiertos / ocultos. Los hechizos se descubren simplemente teniendo la combinación correcta de runas y pulsando botón derecho del ratón (o gatillo izquierdo del mando), además de tener el coste en cristales de mana requerido. No hay pistas para descubrir los hechizos, eso sí. En una primera versión, probar a lanzar un hechizo te consumía un cristal para evitar el spam de intentos, pero creo que vale la pena dejarlo en coste 0, hasta que encuentras un hechizo, para que la gente se divierta investigando. Una vez un hechizo es descubierto, cada vez que tienes la combinación entre las runas equipadas, te sale su tooltip con el coste y descripción.

Esta sección por tanto es imprescindible para el juego, ya que te permite consultar en cualquier momento todos los hechizos descubiertos, para replicar las combinaciones. A diferencia de los hechizos normales que se generan de forma procedural combinando efectos, estos hechizos los creo a mano, dándome la oportunidad de crear locuras muy chulas y poder hacerte builds muy divertidas: Por ejemplo, hechizos de invocación de minions, torretas, círculos de curación, etc. )

3º sección: Lista de artefactos. aquí van todos los artefactos que encuentres en el juego. Cada artefacto podrá mantenerse equipado durante la run, hasta un máximo de 12 a la vez. Este es el segundo sistema clave del juego. Habrá artefactos que cambien la jugabilidad por completo, manipulando los hechizos y la forma en que se lanzan, así como dándote habilidades pasivas variadas con efectos tanto buenos como malos...

4º sección: Lista de personajes del juego. Aquí podré contar un poco más del Lore del juego y sus personajes sin interrumpir la historia tanto nuevos personajes jugables, como Npcs.

5º sección: Lista de enemigos. Cuando derrotes a un enemigo o un jefe, aparecerá reflejado aquí, con su historia y descripción básica (es posible que meta sus stats también más adelante).

Dejo un ejemplo del sistema que estoy preparando:

Image from Gyazo

Cuando pasas el cursor por encima de uno de los objetos de la cuadrícula, comprueba si está desbloqueado, en ese caso, se muestra la info en la página derecha. He metido soporte además para distintas hojas con un marcados en la página inferior, por lo que en teoría, podría meter cientos de objetos aquí, de 20 en 20.

¿Qué os parece? Mi intención es enlazarlo con los logros, y que haya un ánimo de desbloquear todo muy común en este tipo de juegos roguelike. Lo divertido es que crea una especie de progresión con el tema de los hechizos arcanos, porque vas aprendiendo hechizos mientras juegas combinando distintas runas, pero eso no quita que empieces un perfil nuevo y uses todos los hechizos que te sabes aunque no estén "descubiertos" en ese perfil. Al final todo depende de tu memoria, pero no te obliga a farmear para conseguir un +1 % de ataque permanente, por ejemplo. Serás igual de poderoso en tu primera partida que en la última, el resto ya dependerá de tu conocimiento del juego y sus mecánicas.

2
9 días después
javifugitivo

¡Hola! He llevado una semana bastante liada con otros temas, pero he intentado sacar tiempo para hacer avances en varias áreas en preparación para la demo de septiembre.

Por un lado, tuve que hacer un cambio importante en el sistema de experiencia. Hasta ahora al matar un enemigo, salía un numero encima de ti diciéndote la experiencia que habías conseguido al vencerlo. Sin embargo esto podía plantear un problema en el modo cooperativo: Si dos jugadores dañan al mismo enemigo, ¿quién se lleva la experiencia? ¿El último golpe? No quería ponerme a calcular porcentajes, así que decidí utilizar un sistema ya utilizado en juegos como "Legend of Mana" o "Vampire Survivors".

Ahora los enemigos sueltan esferas de color verde de experiencia al morir. Según el lore serán remanentes arcanos que potenciarán tus habilidades (experiencia para subir de nivel). De esta forma los jugadores pueden repartirse la experiencia, aunque si no llevan cuidado se la pueden robar entre ellos, lo cual también es divertido. Además puedo colocar experiencia también en objetos al romperse y como recompensa al superar puzles o abrir cofres.

Image from Gyazo

Viendo un poco el feedback que recibes al coger cosas, de pronto nos encontramos con 4 objetos básicos de recolección:
Corazones rojos: Recuperas vida.
Monedas.
Cristales de mana: Para lanzar hechizos.
Remanentes arcanos: Para subir de nivel.

Cada uno tiene su propio sonido, pero me hacía falta un efecto para distinguir mejor que objeto has cogido, así que implementé un efecto distinto para cada objeto. De esta forma es más fácil identificar los recursos obtenidos.

Image from Gyazo

Otra parte que implementé en el menú de opciones, es una opción nueva llamada "modo rendimiento". Está pensada para ordenadores con gráficas integradas o muy antiguas. Lo que hace es reducir el número de luces que se crean. Por ejemplo, cada item tiene su propia luz, pero en este modo se omiten dichos efectos. Es algo en lo que aún estoy trabajando. Estoy a la espera de que me llegue una Steam Deck para optimizar el juego en base a ella. Si consigo que vaya a 60 fps rocosos en ella, ya me puedo dar con un canto en los dientes.

Ya para terminar, he estado trabajando sin éxito en temas de encriptación para las partidas salvadas. Al trabajar con estructuras y jsons, el problema me ha venido siempre al desencriptar, que daba errores al volver a cargar los archivos tras encriptarlos. Al final me he rendido y simplemente usaré una ofuscación básica, para que el usuario medio no toque nada o al menos le cueste un poco de esfuerzo. Total, quien quiera desencriptar algo, tarde o temprano lo conseguirá. Si más adelante encuentro una solución que no me dé errores, pues lo volveré a intentar, pero no quiero perder más tiempo ahora con ese tema. Seguramente si alguien toca un archivo de salvado, lo normal será que cuelgue el juego...

1
20 días después
javifugitivo

¡Hola de nuevo! Menudo mes llevo, apenas he podido avanzar pero sí que tengo un par de cosas que comentar que son interesantes:

Por un lado, aprovechando las ofertas de Steam, me compré una Steam Deck y ahora puedo testear el juego sin problemas. Por adelantaros algo, el rendimiento es perfecto. Como parte negativa me he dado cuenta que hay textos demasiado pequeños para la Steam Deck e incluso para jugar en televisión, por lo que he creado una opción en el menú para aumentar la mayoría de textos al 125% para facilitar la lectura en determinados dispositivos.

Os dejo un GIF para que podáis ver la diferencia, aunque aún tengo que hacer algunos ajustes a la interfaz.

Image from Gyazo

Por otro lado, por fin he empezado a añadir el sistema de artefactos. En este caso os muestro la Máscara de las Sombras. Al equiparla tus proyectiles básicos pasarán a orbitar alrededor de ti, modificando tu Build durante esa partida. Cada artefacto proporcionará cambios en el comportamiento de tus hechizos (entre otras cosas) que no se podrían obtener solo combinando runas, ampliando las posibilidades de crear builds únicas.

Image from Gyazo

¿Qué os parece? En este caso, renunciarías a ataques a distancia, a menos que sustituyas la máscara por otra o utilices hechizos arcanos que no se vean afectados por la máscara... A cambio, podrías acumular muchos proyectiles juntos que te pueden servir de defensa o como ataque impactando todos a la vez. El límite de los proyectiles orbitando vendrá ligado al número de runas activas. ¿Cómo lo véis?

2 1 respuesta
Yerboth

#29 mola lo de la máscara, imagino que rentará más o menos dependiendo de los enemigos y como de risky es ponerte a corta distancia. Igual que se pueda mejorar luego para que si explota el último proyectil haga un empuje en AoE para quitártelos de encima.

Pero vamos es hablar por hablar, no sé cómo tienes diseñado el combate en general.

Un comentario en cuanto a la iluminación, se ve un poco plana. Por ejemplo en el gif que enseñas las letras: hay una antorcha en la habitación y las paredes de dentro están más iluminadas que las de fuera pero no sé aprecia ningún tipo de degradado. En el mismo Sprite de las paredes la parte más cercana al suelo debería ser siempre más oscura para transmitir profundidad, es algo que sí veo en cajas y barriles.

Te has planteado usar normalmaps? Aunque sea de una forma muy básica pueden quedar resultones para las luces, imagino que gamemaker los soporta.

1 1 respuesta

Usuarios habituales

  • carra
  • javifugitivo
  • totespare
  • Jastro
  • Yerboth
  • Erpotro
  • AikonCWD

Tags