[ES] A story told by the stars: Postmortem


⚠ HAY SPOILERS COMPLETOS DE ASTBTS ⚠


Aaron:

A story told by the stars salió el 17 de Marzo, el día de hoy hace exactamente cinco meses. Es el primer proyecto oficial de A&LGames como equipo, y después de casi medio año hemos pensado que sería buena idea revisarlo y dar nuestras opiniones, tanto del producto final como del desarrollo.


Lau:

Partiendo de la base de que ambos estamos muy contentos con el resultado del juego, también nos parece interesante aportar esta información para nosotros en el futuro como para desarrolladores que puedan estar leyendo esto.

Dicho esto... ¡Empezamos!

0. Diseño inicial del juego

Portada del GDD de ASTBTS
El comienzo de todo.

Aaron:

Al principio, Lau y yo intentamos basarnos en una idea nueva que nos gustara a los dos. Para aquella gente que nos siga desde el principio, esa idea era UniDOS / TWOgether / EmPARellats, que de forma resumida iba a ser un plataformas 2D con diferentes poderes. Intentamos hacerlo lo más pequeño posible, ya que ambos estábamos ocupados: yo trabajaba a jornada completa, y Lau estaba terminando la universidad (incluido el TFG) y haciendo prácticas.

Pero aun así, por diferentes complicaciones nos dimos cuenta de que el scope del proyecto se había disparado. Durante un tiempo habíamos barajado la idea de cambiar de director en cada proyecto, así que volvimos a la mesa de trabajo: repasamos diferentes ideas que teníamos, y como una mía nos acabó gustando más y nos parecía asequible, acabé siendo el director del proyecto.

Ahora que era el director, volvimos a revisar nuestra situación y aplicamos una regla muy específica: pasara lo que pasara, el juego saldría a 2 meses después del inicio del desarrollo. Si teníamos que recortar contenido, así sería, pero no queríamos quedarnos atascados creando nuestro primer proyecto oficial para siempre.

Planificación inicial de ASTBTS
La planificación inicial del proyecto. Por desgracia, unos imprevistos hicieron que no pudiéramos empezar hasta el 17 de Enero.

Lau:

¿Sabéis cuando os dedicáis a hacer lo mismo en el trabajo y fuera de él? Eso ocurrió. Como comenta Aaron, había muchas cosas que tenía que terminar, pero la ilusión de sacar un juego 100% nuestro ayudó a continuar. Fue duro, pero en estos casos viene bien contar con compañeros que tienen los pies en la tierra para recordarte de vez en cuando, que tú también habitas en ella. Las medidas que tomó Aaron fueron las correctas.


Aaron:

Además del director rotatorio, decidimos que A&LGames tendría unas normas básicas para todos nuestros proyectos:

  1. Nos tenía que gustar a los dos
  2. Teníamos que intentar algo que no habíamos hecho antes (por ejemplo, un tipo de mecánica), y
  3. Teníamos que sobrevivir al desarrollo (eso también va pa ti, Lau 👀).

Nos pusimos manos a la obra,  creé un GDD con unos apartados básicos y definimos ASTBTS como se conoce hoy: una visual novel de corte muy clásico y de alrededor de 1 hora de duración, desarrollada en Unity y donde queríamos implementar dos idiomas (Inglés y Español) y opciones de accesibilidad.


1. Arte 

Lau:

Algo que suelo hacer con todos mis proyectos es un "mood board" con imágenes (y sus créditos) de artistas cuyo estilo me llama la atención y puede encajarme para lo que quiera diseñar. 

Para ASTBTS también lo hice, pero cometí el primer error nada más empezar: apenas lo consulté.

"Lau, pero nos acabas de decir que-"

Lo sé, lo sé. Es lo que pasa cuando tienes muchas cosas que hacer al mismo tiempo y la fecha límite a la vuelta de la esquina.

Sí, nos planificamos, pero cometí un segundo error de novata: no hacer caso a Aaron cuando me preguntaba: ¿qué tal vas?

Mejor dicho, sí hacía caso, pero yo pensaba que podría con todo. Que era FÁCIL (y todos sabemos que cuando pensamos esto en desarrollo de videojuegos, inmediatamente el modo de dificultad escala a hardcore), así que yo respondía con un: nah, voy bien, esto estará de sobra... 

Mentira, Lau del pasado.

Seguí y seguí hacia delante sin fijarme en las consecuencias hasta que fue tarde. Lo que se definiría como un crunch en toda regla. Y no es algo de lo que me sienta especialmente orgullosa...

Yo he aprendido de mis errores, y espero que si estáis leyendo esto toméis nota. No vale la pena trabajar así (Aaron, espero que te sientas orgulloso de mi aprendizaje 🥺♥).

Sobre el arte en ASTBTS: disfruté mucho de dibujar a nuestros niños. Me gustan especialmente las primeras escenas y las hojas de diseño de los personajes que subimos a las redes sociales (está feo tener favoritos, pero Ansel me tiene robado el corazón... 🤭).

Ficha de personaje de Ansel
Ficha de personaje de Ansel


Ficha de personaje de Mark
Ficha de personaje de Mark

Empecé por ellos dos y una vez los tuve a ambos situados con cómo sería su diseño, me puse con las escenas.

Me gustó que las ideas de Aaron y las mías con respecto a los personajes fueran tan similares a veces incluso antes de comentarnos las cosas que nos gustaría incluir para ellos.

También descubrí que: odio los fondos. Pero nada que no arregle más práctica.

Entre medias de eso hice las distintas constelaciones y finalmente los espacios de la UI.

Si alguien se lo pregunta: ASTBTS está dibujado enteramente en Photoshop de principio a fin (aunque estoy aprendiendo a usar Krita), y para la colocación y base de los cuerpos de los personajes utilicé la herramienta online JustSketchMe. Dibujar cuerpos en distintas posiciones fue todo un reto para mí, porque como artista peco por lo general de hacer a los personajes muy muy estáticos, así que usé algo de ayuda para empezar a soltarme.

Comparativa de escena
De izquierda a derecha: Base en JustSketchMe > Primeros trazos en Photoshop > Resultado en el juego.

Este es un poco el funcionamiento del arte a lo largo de todo el juego. Podría pasarme el día entero comentando detalles y trucos que no se ven, dejando que mi parte más estricta saque todo ese perfeccionismo que llevo dentro con respecto al juego, PERO, no voy a hacer eso.

¿El arte del juego es perfecto? Nope. Si me lee algún artista, probablemente seáis conscientes de la cantidad enoorrme de fallos que tienen las distintas escenas, muchos de ellos por falta de tiempo de mi parte.

¿Me siento orgullosa del resultado? Muchísimo.  He aprendido cosas por el camino que sé que me van a servir de aquí en adelante.


Aaron:

Lau es la artista de los dos, y decidimos que ella se encargaría de todo el arte del juego (algo que queremos solucionar en el futuro). No voy a añadir mucho más porque básicamente ya se ha escrito arriba, pero es importante recalcar que como director, fallé en poner límites más estrictos. Es cierto que preguntaba a Lau y ella me decía que iba bien, pero tendría que haberme plantado y decir basta.

Por suerte, finalmente me puse firme a dos semanas de la fecha final con algo que seguramente nos permitió llegar a tiempo: Un día nos sentamos, planificamos todas las escenas que faltaban por hacer y recortamos todo lo que pudimos. Lau intentaba negociar alguna cosa con toda la fuerza que tenía, pero después de ir a 200 km/hora durante un mes? No mi ciela, se acabó el autosabotaje 😈.

Y con perspectiva, ese momento en específico me ha hecho mejor director para proyectos futuros, ya que no todo es "haremos esto, haremos aquello"; dirigir también son las partes difíciles.

Captura de bocetos de diferentes escenas
Algunas de las escenas planificadas con los apuntes que hicimos.

Lau:

Sólo voy a añadir una última cosa a lo que comenta Aaron: negocié y peleé hasta el último día. Sí, literalmente el último día, cuando aún quedaban dos escenas enteras por dibujar. Y me paró los pies.

"Si te dejo hacer lo que quieres hacer y retrasar el juego un día más, sería como si te diera refuerzo positivo por haberte estado machacando todo este tiempo para llegar. Hasta donde lleguemos hemos llegado, pero el juego se acaba." Esa fue su respuesta.

Y tenía razón.

HECHO ES MEJOR QUE PERFECTO. 

Con el tiempo conseguiremos mejores resultados y un arte más limpio. Por lo pronto, con esto lo hemos logrado, hemos acabado nuestra primera visual novel, y estamos orgullosos por ello.


2. Programación

Aaron:

Ser el único programador del proyecto tenía dos caras: por un lado, no dependía de asegurarme de que tuviera que coordinarme con varias personas y tener en cuenta qué están programando los demás; por el otro, indicaba que si algo fallaba, solo me podía culpar a mi.

Así que me enfoqué en hacer un código que fuera entendible, que permitiera mucha variabilidad y más importante, que si algo fallaba se pudiera ver dónde ocurría.

En resumen: rápido y efectivo, como un disparo 🔫. (L: Noooo 😭😢)

Para comenzar, re-utilicé todo lo que pude de otros proyectos para ahorrar tiempo: de mi TFG agarré la base del código del diálogo y la herramienta Dialogue Maker (creada por mi) que permitía tener varias versiones de una conversación en el mismo fichero, perfecto para los idiomas.

Captura del inicio del fichero JSON de una conversación
Como se ve, el JSON incluye diferentes "versiones" de cada conversación: la 1 es Español y la 2 es Inglés.

Luego, me aseguré de permitir que el código permitiera muchas variaciones, siempre siguiendo una base: por ejemplo, el juego siempre está esperando "eventos". Esos "eventos" varían desde completar una constelación hasta interactuar con algo en la escena, lo que nos permitió siempre tener claro cómo la base funcionaba, aunque luego se complicara.

Y para acabar, hice que cada escena, en la mayor medida posible, fuera conclusiva con ella misma. Elementos como el guardado o el sistema de audio podían fallar ya que se inicializaban al inicio del juego, pero teniendo en cuenta esos casos y poniendo fail-safes para ello, nos permitió poder abrir básicamente cualquier escena del juego y poder revisar el texto y que los elementos funcionaran correctamente.

Pero como podéis imaginaros, aún con todo tuvimos algunos fallos. Recuerdo uno que hacía que a veces el texto no se ajustara correctamente ANTES de empezar a escribirlo, y que descubrimos que era porque hacíamos el cálculo del tamaño demasiado rápidamente (tuvimos que esperar un par de frames antes de agarrar el tamaño), y otro que recuerdo era relacionado con las líneas que unen las constelaciones, ya que mientras el LineRenderer ocurre en la "posición del mundo", las constelaciones y demás se dibujan en el Canvas, que ocurre directamente en la pantalla... 🙃.

Gif del gameplay creando una constelación uniendo estrellas
Dibujar las líneas fue seguramente lo que más se tardó en programar.

Lau:

Poco tengo que añadir porque  fue Aaron fue quien se llevó todo este trabajo aunque fuimos testeando ambos. Me siento súper orgullosa de su trabajo y de lo fluido que se siente el juego gracias a todo lo que hizo por detrás. No se aprecia lo suficiente toda la labor de programación, pero os puedo decir que fueron muchísimas horas y quebraderos para conseguir este resultado final.

Aaron:

🥺


3. Historia

Página con el primer concepto de ASTBTS
Página con el primer concepto de ASTBTS

Aaron:

ASTBTS como concepto se me ocurrió hace mucho tiempo, aunque la historia en sí era bastante diferente: eran un príncipe y su guardaespaldas, era fantasía medieval...

Hablando con Lau acabamos yendo a un futuro cercano, con los choconiños que ya conocéis, Mark y Ansel 🥰. Y la verdad es que aunque la idea general no costó mucho tenerla, tuve que esforzarme mucho en hacer su relación, ya que no solo es el foco de la historia, sino que lo que vemos es una pequeña parte de sus vidas. Además, Ansel tiene una personalidad que es más fácil querer (o al menos, ser entretenida de ver), pero Mark desde el principio es una persona bastante más agresiva, lo cual puede echar para atrás a la gente.

Por suerte, viendo las reacciones de la gente parece que hay fans de los dos, y creo que una gran parte de que Mark no sea odiado es que la historia se cuenta desde su punto de vista. No fue algo planificado "de manera consciente", por así decirlo, pero sí que ha acabado siendo un buen detalle.

Lau:

Lo que Aaron quiere decir es que su favorito es Mark. No pasa nada, lo aceptamos y ya. Total, si nuestros personajes vivieran creo que no estarían de acuerdo con el final de su historia... 😅🥰

Para los que preguntan: ¿por qué ese final? 

Mi respuesta es: ¿por qué no?

Honestamente escribir historias con un toque de drama suele ser más entretenido de narrar, y aunque a veces bromeamos sobre si la culpa es de Aaron o no, yo digo que es cosa de dos, así que aquí nos tanqueamos eso como buen equipo 🦾

Captura de una de las últimas escenas del juego
Mark & Ansel seguro que salen bien de esta.

Por otro lado, la historia no tiene uno, sino dos idiomas... Y traducir fue un soplo de aire fresco con respecto al arte, la verdad. Los diálogos de Aaron me parecen muy divertidos y directos entre los personajes, pero cuando los traduje al castellano fue más complicado de lo que pensaba mantener esa esencia y que a la vez tuviera sentido... 

Si habéis jugado en ambas versiones, veréis ligeros cambios en el texto, porque yo soy más de adornar la situación y ponerle florituras a las explicaciones, mientras que él va más al grano y es más divertido con algunas expresiones en inglés.

De igual manera, creo que fue buena idea lo de tenerlo en inglés y castellano, aprendimos un montón.


Aaron:

Lau ayudó muchísimo traduciendo gran parte de los diálogos, pero hacia el final del desarrollo tenía que centrarse en acabar el arte, así que los últimos capítulos los traduje yo...

...lo cual dió resultados bastante hilarantes ya que no estoy acostumbrado  a escribir en español, así que por ejemplo tuvimos grandes momentos como las bombas "nucelares". Por suerte, Lau se ofreció a revisar la traducción y al día siguiente sacamos la versión 1.1 con el diálogo bien escrito.

4. Sonido

Captura de pantalla de freesound.org
Freesound.org my beloved

Lau:

Los dos tenemos oído para la música, pero cero idea de componer, así que recurrimos a las viejas y confiables páginas de siempre a las que recurrimos todos los desarrolladores de videojuegos que no tenemos con qué pagar a músicos y compositores (pero si hay alguien que nos lee y quiere practicar y componer para futuros juegos, que nos avise, aceptamos canciones).

Aaron:

Al igual que Lau, yo tampoco tengo dotes musicales. Por suerte, sí que somos capaces de editar audio con bastante soltura, lo cual nos ayudó a que el videojuego no se sintiera muy "barato" utilizando todo sonidos y música gratuitos sin más; un detalle en específico que ilustra esto es la segunda escena, donde hicimos que la música de la discoteca se escuchara amortiguada, ya que ellos se encontraban fuera del edificio.

Y si mal no recuerdo diría que el mayor componente al peso del juego viene de la cantidad de sonidos y música que metimos.

5. Extra 

Aaron:

Es importante y hace falta decirlo: pulid vuestros juegos.

Muchos de los detalles que hacen que ASTBTS sea tan pulido no son muy complejos de hacer, pero le dan el toque final y hacen que la experiencia se sienta más redonda: no utilizar los assets default de Unity, fade-in/out entre escenas...

Y como detalle, la selección de niveles que se desbloquea al finalizar el juego se hizo en un par de horas, aprovechando assets que no habíamos podido meter en cualquier otro lado. Prometí a Lau que no íbamos a NO usar su arte, y así fue 🥰

Código de la función que define el tiempo entre carácteres
El detalle de esperar más para el siguiente carácter si había una coma o punto mejora muchísimo la sensación de leerlo.

Lau:

Como dice Aaron, al final los pequeños detalles son los que ayudan a terminar de afinar el juego. Personalmente como parte "extra" de una visual novel, hay ciertos detalles que me gusta y alegra que hayamos incorporado, sobre todo por tema accesibilidad, como pueden ser las fuentes o la velocidad del texto además de los idiomas, y también el selector de capítulos al acabar. Son cosas muy pequeñas pero que ayudan muchísimo a mejorar la experiencia y a simplificar la tarea de las personas que juegan para que puedan sumergirse por completo en la historia. 

A tiempo futuro, me gustaría que desarrollásemos herramientas que nos faciliten las tareas de accesibilidad de nuevos juegos que vayamos a sacar. 2023 ma friends, momento de hacer que los videojuegos lleguen a más público.

6. Resultados

Lau:

Los resultados que hemos obtenido con ASTBTS han sido muy buenos en nuestra opinión:

Analíticas de la página de itchio de A Story Told By The Stars
+150 personas han jugado al juego, y eso que somos un equipo desconocido. Estamos muy orgullosos de ello.


No sólo por la gente que ha pasado por nuestro itch para jugarlo, sino porque también hemos podido mostrarlo en varios pequeños eventos como el A3 (elaborado también por servidores y la comitiva del evento ) 


O "Bengala", un pequeño evento similar promocionado por La Madriguera LGTB+ donde el tráiler de ASTBTS ha estado brillando como una estrella más en la constelación de nuevos juegos indies que se van desarrollando.

Captura de pantalla de AnaitGames, con el artículo sobre el evento Bengala!
Estamos muy contentos de haber aparecido en el evento Bengala! Si vuelve a tener lugar, esperamos volver a aparecer con otro proyecto ❤


Los objetivos que nos propusimos en el GDD se han cumplido en su mayor parte, sacamos el juego en el periodo que nos propusimos, y hemos conseguido contar bien la historia de Ansel y Mark. Para mí, eso es una victoria.

Visual de Mark & Ansel con el texto agradeciendo a toda la gente que ha jugado
Muchas gracias a toda la gente que ha disfrutado de la historia ❤

Aaron:

Conseguimos muchas más visitas de las que esperábamos, y la gente está muy contenta con el resultado final, tanto amigos nuestros como gente que no conocemos personalmente.

Pero mi primera experiencia como director ha estado lejos de ser ideal. Es entendible (primera vez siendo realmente director, después de todo), pero también es innegable que provocó pérdidas, tanto de elementos o como de horas.

Lo importante es aprender que aunque hay que ser comprensivo, como director a veces hay que ser más asertivo. Es algo que mantendré en cuenta para el siguiente proyecto que me toque dirigir 🦾


Lau:

Aaron hizo bien su trabajo, no le creáis (?). Pero ahora más en serio, creo que ambos hemos aprendido la lección con este juego en muchos ámbitos, y me alegra que nos lo tomemos así, como una enseñanza. No sería la primera vez que un equipo se rompe por desacuerdos o maneras de trabajar, porque no es fácil convivir mientras se trabaja en ello por la presión que supone acabar el juego y al mismo tiempo quedar satisfechos con el resultado (seguro que quienes trabajéis en equipo entendéis esto perfectamente). 

Recordad siempre valorar el trabajo de las personas con las que trabajáis y agradecer el esfuerzo que esto supone ♥. Sois una balanza, tenéis que ir equilibrándoos (en nuestro caso, por comparativa de Aaron, somos dos perros tirando cada uno de la correa del otro lolololol).

En fin, dicho todo esto, esperamos que hayáis disfrutado de este pequeño vistazo "detrás de pantallas" sobre el juego, y que si habéis leído hasta aquí antes de jugar... Por qué. Os habéis comido todos los spoilers, estábais avisados.

Gracias por jugar a nuestro jueguito y recorrer la historia de Mark y Ansel.

¿Qué nos deparará el futuro?

Más juegos, eso seguro... Hay cosas que ya se están pensando y planteando, pero en septiembre/octubre podremos dar más información...

¡Recordad seguirnos por redes sociales!

Lau y Aaron se despiden, cambio y corto 👋

Mark & Ansel, con texto de fondo que dice que al mirar a las estrellas, por un segundo, ve una que brilla con más intensidad

Get A story told by the stars

Comments

Log in with itch.io to leave a comment.

(+1)

Me encanta que os hayáis tomado el tiempo en escribir todo esto porque aporta mucho insight al proceso de desarrollo de un videojuego (que no es fácil) y a todos los esfuerzos que hay detrás. Gracias 🥰 Os admiro y os deseo lo mejor para éste y futuros proyectos.

(+1)

Muchas gracias por tus palabras ! 

Nosotros somos de los que piensan que compartir estas experiencias ayudan a toda la comunidad, así que... Encantados por poder aportar <3