Fay Keeper

RPG • Colección de criaturas • Pixel Art • Estrategia • Aventura

Disponible en: Steam

Resumen del proyecto

  • Funciones: Programador principal, Artista técnico
  • Tamaño del equipo: 165 programadores, 7 artistas, 1 diseñador de sonido, 2 diseñadores de videojuegos, 1 productor
  • Organización: Gravity Software
  • Motor: Unity
  • Estado: Entregado

🧠 Contribuciones técnicas


🛠️ Lo que desarrollé

  • Assembly Definitions: Implementé y organicé Assembly Definitions para reducir los tiempos de compilación y garantizar una arquitectura modular del proyecto.

  • Sistema de misiones y editor: Desarrollé un Quest System con múltiples ramificaciones y un editor visual basado en nodos para que personas sin conocimientos de programación pudieran trabajar con él.

  • Mejoras del sistema de diálogos: Integré condiciones dinámicas de estado y activadores de misiones directamente en el Dialogue System.

  • Sistema de audio dinámico: Creé un gestor de audio que se adapta al contexto del bioma o entorno y gestiona la música y los efectos de sonido (SFX).

  • Mejoras de iluminación: Implementé efectos visuales mediante mapas de normales y shaders personalizados para enriquecer la iluminación del mundo exterior (overworld).

  • Herramienta de creación de fórmulas: Desarrollé un editor modular basado en bloques para que los diseñadores pudieran crear fórmulas de juego de forma visual (por ejemplo, resultados de combates y probabilidades de captura).

  • Herramientas de pruebas en el editor: Agilicé la depuración mediante herramientas integradas en el editor que ejecutan pruebas unitarias en distintos escenarios de juego.

  • Refactorización de sistemas: Actualicé continuamente los sistemas centrales para incorporar nuevas funcionalidades y mejorar la modularidad.


🤝 Cómo contribuí

  • Colideré el equipo de programación y establecí buenas prácticas en los flujos de trabajo de producción, arte y diseño.
  • Tomé decisiones clave sobre arquitectura y herramientas que ayudaron a definir las bases de un proyecto escalable y eficiente.
  • Orienté a otros desarrolladores y fomenté una colaboración fluida mediante una distribución cuidadosa de tareas y la responsabilidad compartida.

🧩 Desafíos y soluciones

🕸️ Desafío: gestionar la complejidad de las misiones

Las crecientes interdependencias entre misiones amenazaban con generar una lógica difícil de mantener en el backend.

✔ Solución: Desarrollé una herramienta de edición visual que permite a los diseñadores crear misiones ramificadas de forma segura e independiente.

🔄 Desafío: cambios constantes en las funcionalidades

Los cambios en los sistemas de juego eran frecuentes, lo que obligaba a rehacer trabajo y ralentizaba los ciclos de iteración.

✔ Solución: Organicé los sistemas centrales con APIs modulares y añadí capas de depuración para reducir el trabajo de reescritura.


🌟 Funcionalidades destacadas

📌 Editor del sistema de misiones

Una interfaz basada en nodos que permite a los diseñadores crear lógica de misiones compleja de forma visual. Aceleró la producción y redujo los cuellos de botella asociados a la programación en el diseño narrativo.

🧮 Herramienta de creación de fórmulas

Un sistema de arrastrar y soltar para definir lógica, como la probabilidad de captura o el cálculo de daño, sin escribir código. Favoreció la experimentación y la iteración al permitir que los integrantes no técnicos del equipo trabajaran de forma autónoma.