Crea proyectos más claros y fáciles de mantener.

UpvoteUpvote 1 DownvoteDownvote

Features on these Courses

Attached Files

The following files have been attached to this tutorial:

.c3p

solid-principle.c3p

Download now 304.24 KB

Stats

32 visits, 44 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 13 Sep, 2025. Last updated 15 Sep, 2025

Objetivo:

Mejorar la legibilidad, la reutilización y el mantenimiento de tus proyectos Construct 3 siguiendo buenas prácticas inspiradas en el desarrollo de software.

Proyecto de ejemplo:

.C3P

solid-principle.c3p

Download now 304.24 KB

Este proyecto incluye algunos ejemplos sencillos de organización y optimización.

¿Qué es el principio SOLID?

El término SOLID proviene de la programación orientada a objetos (POO).

Reúne 5 principios clave que ayudan a escribir código más limpio y robusto:

  • S → Single Responsibility: una responsabilidad por módulo.
  • O → Open/Closed: abierto a la extensión, cerrado a la modificación.
  • L → Liskov Substitution: reemplazar un objeto por otro sin romper el código.
  • I → Interface Segregation: preferir muchas interfaces pequeñas en lugar de una enorme.
  • D → Dependency Inversion: depender de abstracciones, no de detalles.

Nota: Construct 3 no es orientado a objetos (no hay clases, no hay herencia).

Pero su filosofía de organización puede inspirarse directamente en SOLID para que tus proyectos sean más claros, modulares y fáciles de mantener.

1. Una sola responsabilidad

Una hoja, una carpeta o un objeto = una sola responsabilidad. Evita mezclar todo en un mismo lugar. El desorden llega rápido y arreglarlo después cuesta mucho más esfuerzo.

Ejemplo:

[i]ePlayer[/i] → solo el jugador
[i]eEnemies[/i] → solo los enemigos
[i]eUI[/i] → solo la interfaz
[i]eFunctions[/i] → funciones utilitarias

Luego, en la hoja de eventos del Layout, incluye únicamente las hojas de eventos que realmente necesites.

Convención de nombres: empieza siempre tus hojas con una e minúscula (ej.: eControls, eSounds, eInventory) para identificarlas rápidamente.

2. Abierto a la extensión, cerrado a la modificación

¡No dupliques código! Evita copiar y pegar bloques de eventos.

Prepara tus eventos para que sean reutilizables.

Usa funciones genéricas: TakeDamage(target, value), SaveProgress(), playSound(), etc.

Aprovecha las familias: añadir un enemigo a Family_Enemies automáticamente le da las mismas variables y reglas.

3. Usa familias y grupos de forma inteligente

Por ejemplo, todos tus enemigos pertenecen a Family_Enemies.

El jugador maneja las colisiones con esta familia sin preocuparse del tipo exacto (Zombie, Alien, Robot...). Son las variables asignadas a la familia las que gestionan las diferencias:

Daño, puntos de vida, velocidad, etc.

Los grupos de eventos también permiten activar/desactivar ciertos comportamientos (aturdido, potenciado, menú abierto, etc.).

4. Organiza y nombra bien tus archivos

Estructura recomendada:

├── Object type/
│ ├── Debug/ (Todas las herramientas de depuración, siempre es bueno mostrar texto en pantalla)
│ ├── Sprites/
│ │ ├── Background/
│ │ └── Enemies/
│ │ └── Land/
│ │ └── Player/
│ │ └── Props/
│ │ └── UI/
│ ├── System/ (teclado, ratón, etc.)
│ └── Dictionaries & Array/
├── Sounds/
├── EventSheets/
│ ├── ePlayer
│ ├── eEnemies
│ ├── eUI
│ ├── eFunctions
│ └── eMain

Convención de nombres para sprites:

Mantén siempre una raíz común (familia) y luego especifica:

[i]PlayerSprite, PlayerCollision, PlayerWeapon[/i]
[i]EnemyZombieSprite, EnemyAlienSprite[/i]
[i]UIHealthBar, UIScoreText[/i]

Resultado: más coherencia y una navegación mucho más rápida con búsqueda y filtros.

5. Optimiza tus sprites

Si tienes muchos sprites similares (como árboles), es mejor crear varias animaciones dentro de un solo sprite en lugar de multiplicar sprites separados.

Conclusión

Aunque Construct 3 no puede aplicar SOLID en el sentido estricto, sí puedes adoptar su filosofía:

Organización clara (hojas de eventos, carpetas, convenciones de nombres)

Código reutilizable (familias, funciones genéricas)

Proyecto optimizado y escalable (sprites, grupos, estructura de carpetas)

Resultado: tus proyectos Construct se vuelven más profesionales, modulares y fáciles de mantener.

Y recuerda: no existe una única forma de hacer las cosas. :)

Si este tutorial te resultó útil, ¡no dudes en dejar un comentario o una estrella, siempre se agradece!

También puedo compartir mi experiencia en tus proyectos de Construct 3: ayudarte a optimizar, organizar y corregir tus archivos. Es gratis, con apoyo financiero voluntario si lo deseas.

No dudes en contactarme directamente por email (disponible en el .c3p).

  • 0 Comments

Want to leave a comment? Login or Register an account!