Bienvenido a tu nuevo gran proyecto. Este documento es tu punto de partida para entender la arquitectura, los sistemas y cómo agilizar tu proyecto sin perder tanto tiempo en programar las mecanicas mas importantes de tu personaje principal.

<aside> 🙏

Agradecimientos

Gracias por elegir QeController para tu proyecto. Este asset ha sido diseñado con la intención de acelerar tu proceso de desarrollo y proporcionarte las herramientas necesarias para crear experiencias de juego excepcionales y enfocarte en contar tus historias.

Tu confianza en nuestro trabajo nos permite seguir creando herramientas que faciliten el desarrollo de videojuegos para toda la comunidad.

</aside>

💡 Antes de comenzar: Esta guía está diseñada para ser práctica y orientada a resultados. Cada sección incluye ejemplos concretos y flujos de trabajo probados.


🏗️ Filosofía y Principios Fundamentales

El objetivo de este framework es ser robusto, modular y fácil de extender. Para lograrlo, seguimos tres principios clave:

1. Alta Cohesión, Bajo Acoplamiento

Cada script tiene una única responsabilidad (alta cohesión). Los sistemas se comunican a través de eventos e interfaces (OnHealthChanged, IDamageable), no con referencias directas y desordenadas (bajo acoplamiento).

Esto significa que: Puedes modificar el sistema de IA sin romper el del jugador.

[Imagen: Diagrama mostrando la separación de responsabilidades entre sistemas]

2. Diseño Orientado a Datos (Data-Driven)

Las armas, los combos de ataque, los saltos y las estadísticas de los personajes no están "hardcodeados" en el código. Se definen en ScriptableObjects (EquipmentSet, AttackData, JumpAnimationData ).

Esto significa que: Para crear un arma nueva, no necesitas escribir código, solo crear un nuevo asset de datos.

3. Herramientas Primero (Tool-First Approach)

Las tareas repetitivas y propensas a errores, como configurar un personaje desde cero, se han automatizado con herramientas de editor.

⚠️ Importante: Siempre utiliza el PlayerSetupTool para garantizar la consistencia.