Estructura modular por departamentos – Frameworks PGX
Objetivo de la lección
En esta lección aprenderás cómo están organizados internamente los frameworks PGX a través de una estructura modular basada en departamentos funcionales. Esta arquitectura busca reflejar una división clara y escalable del trabajo en proyectos profesionales, permitiendo extender, mantener o reutilizar sistemas de forma eficiente.
Al terminar esta lección:
-
Comprenderás el propósito de cada departamento técnico dentro del framework.
-
Podrás identificar cómo los sistemas se distribuyen y colaboran entre áreas.
-
Entenderás las ventajas de aplicar esta estructura en tus propios proyectos.
Introducción: ¿Por qué organizar por departamentos?
En un proyecto profesional complejo, especialmente cuando crece o se trabaja en equipo, una organización modular se vuelve esencial.
PGX adopta una estructura por departamentos de desarrollo, basada en los mismos que usamos en la academia. Esta división no solo es didáctica, sino que permite establecer fronteras claras entre sistemas, mejorar el mantenimiento, facilitar la integración y escalar el framework de forma profesional.
Cada departamento representa un área funcional del desarrollo en Unreal Engine, y cada módulo dentro del framework pertenece a uno de estos departamentos. Aunque los sistemas pueden interactuar entre sí, esta organización permite:
-
Separar la lógica según su propósito.
-
Facilitar el testing, migración o refactorización por partes.
-
Establecer roles o responsabilidades si se trabaja en equipo.
Estructura por departamentos
A continuación se describen los 14 departamentos del framework PGX, sus iconos asociados, y una breve explicación de qué tipo de módulos incluye cada uno:
1. Programación y arquitectura
Contiene todos los sistemas de lógica general, flujos de control, comunicación entre componentes, macrosistemas y patrones de arquitectura utilizados. Aquí se define la base técnica del framework.
2. Materiales y shading
Módulos relacionados con materiales maestros, efectos visuales basados en materiales, lógica de instancias dinámicas, y personalización estética basada en shaders.
3. VFX y Niagara
Sistemas relacionados con partículas, efectos de impacto, atmósferas reactivas, bucles visuales, fuego, humo, polvo y demás elementos gráficos dinámicos.
4. Animación y rigging
Incluye Blueprints de animación, Control Rigs, sistemas de sincronización, overlays, poses reactivas, y toda la lógica que gestiona el movimiento visual de personajes u objetos.
5. Inteligencia Artificial y comportamiento
Contiene la lógica de comportamiento (BTs, Blackboards), percepción, navegación y sistemas de toma de decisiones para NPCs o enemigos. Incluye personalidades, estados y lógica reactiva.
6. Multijugador y redes
Todo lo relacionado con replicación, sesiones online, sincronización de estado, validaciones del servidor, y soporte para Steam, EOS u otras plataformas.
7. Diseño técnico y gameplay systems
Sistemas de gameplay modular (GAS o similares), lógica de habilidades, atributos, interacción avanzada, mecánicas activables, y cualquier sistema que no dependa del tipo de juego.
8. Editor y herramientas personalizadas
Módulos que amplían el editor, comandos personalizados, paneles propios, automatización de tareas o herramientas internas que aceleran el flujo de desarrollo.
9. Optimización y pipeline
Blueprints o C++ orientado a reducir carga de CPU/GPU, usar HLODs, instancias, controlar cargas en World Partition o gestionar assets masivamente.
10. Cinemáticas y narrativa
Sistemas relacionados con la narrativa visual: uso de Sequencer, triggers de historia, control de cámaras, integración con diálogos o escenas programadas.
11. Arte técnico y composición
Unifica elementos de iluminación, color grading, postprocesado, diseño estético global, moodboards técnicos, entornos atmosféricos y ambientación avanzada.
12. Control de versiones y documentación
Gestión de sistemas para mantener el control del proyecto: integración con Git, generación de documentación técnica, comentarios internos, control de versiones y backups.
13. Metasistema y lógica global
Agrupa los sistemas de coordinación de todos los demás módulos. Incluye gestores centrales, lógica transversal, inicialización de subsistemas y flujos maestros.
14. Integraciones externas y plugins
Cualquier sistema que requiera integración con librerías, plugins externos, APIs, herramientas de terceros, sistemas de UI, bases de datos, o conexión con servicios externos.
Cómo usar esta estructura como estudiante o desarrollador
Cada framework PGX está dividido por estos departamentos. Dentro de cada uno encontrarás uno o varios módulos (lecciones) dedicados a explicar, desarrollar o entregar un sistema funcional.
Esto significa que puedes:
-
Usar los módulos de un departamento aislado si solo necesitas esa función.
-
Aprender a integrar diferentes sistemas sabiendo qué rol cumple cada uno.
-
Mejorar, reemplazar o ampliar fácilmente un área sin romper el resto del proyecto.
Por ejemplo, podrías sustituir el módulo de inteligencia artificial sin afectar al de optimización, porque están desacoplados.
Buenas prácticas y filosofía modular
-
No mezcles responsabilidades: Cada módulo debe hacer una cosa clara dentro de su departamento.
-
Haz que puedan vivir solos: Los sistemas deberían poder integrarse sin dependencias duras.
-
Piensa en el futuro: Esta organización permite crecer sin perder control.
-
Aprende por capas: Puedes aprender primero un departamento, luego otro, e ir combinando.
Conclusión
La estructura modular por departamentos no es solo una forma de organizar contenido educativo. Es una filosofía de desarrollo profesional que te prepara para trabajar en equipos reales, con arquitecturas claras, y con capacidad de adaptación.
Desde la academia, te animamos a estudiar los departamentos por separado, entender qué aporta cada uno, y luego empezar a combinar sus sistemas en tus propios proyectos. Así es como nacen los frameworks profesionales.
🔜 En próximas lecciones:
-
Verás cómo se integran estos sistemas en la práctica.
-
Te explicaremos cómo migrarlos a tus propios proyectos reales.
-
Y construirás tus propios módulos personalizados dentro de esta misma estructura.
¡Nos vemos en la siguiente lección, soldado del plátano! 🍌🫡