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.