Crear un proyecto nuevo y entender la estructura
En Construct, todo tu juego vive dentro de un Project (proyecto). Dentro del proyecto organizas escenas (layouts), reglas (event sheets) y recursos (sprites, audio, fuentes, etc.). Dominar esta estructura desde el inicio evita desorden y facilita iterar sin “romper” cosas.
Project (Proyecto)
- Qué es: el contenedor global del juego: incluye todos los layouts, hojas de eventos, objetos, familias, variables globales, configuraciones de exportación y recursos.
- Para qué sirve: centraliza la configuración (resolución, orientación, escalado, etc.) y la organización del contenido.
Layout (Escena)
- Qué es: una escena o nivel. Aquí colocas instancias de objetos (sprites, textos, botones, fondos) y defines el tamaño del “mundo” de esa escena.
- Para qué sirve: construir visualmente lo que el jugador ve y con lo que interactúa en un momento dado (menú, nivel 1, pantalla de game over, etc.).
Event Sheet (Hoja de eventos)
- Qué es: la lógica del juego en forma de eventos (condiciones) y acciones (lo que ocurre). No es código tradicional, pero sí es programación visual.
- Para qué sirve: controlar comportamiento, reglas, UI, colisiones, puntuación, transiciones de escenas, etc.
Relación típica entre Layout y Event Sheet
Lo más común es que cada layout tenga su propia hoja de eventos asociada (por ejemplo, Level1 con ES_Level1). También puedes reutilizar una misma hoja para varios layouts si comparten lógica (por ejemplo, una hoja ES_UI para HUD común).
Organización recomendada de carpetas y recursos
Construct permite organizar recursos en carpetas dentro del proyecto. Una estructura simple y escalable puede ser:
- Sprites
- Player
- Enemies
- UI
- Environment
- Temp (prototipo)
- Audio
- SFX
- Music
- Fonts
- Layouts
- EventSheets
Consejo práctico: crea una carpeta Temp para objetos provisionales (cajas de prueba, marcadores, sprites sin arte final). Cuando reemplaces por arte definitivo, podrás limpiar sin miedo.
Navegación por el editor: lo esencial para moverte rápido
Paneles y zonas clave
- Project Bar: árbol del proyecto (layouts, event sheets, objetos, carpetas). Es tu “mapa”.
- Layout View: editor visual de la escena (colocar, mover, escalar objetos).
- Event Sheet View: editor de eventos (condiciones/acciones).
- Properties Bar: propiedades del elemento seleccionado (layout, objeto, instancia).
- Layers & Instances: gestión de capas (parallax, UI encima del juego, etc.) y selección de instancias.
Atajos y hábitos útiles (sin memorizar demasiado)
- Seleccionar y mover: usa la herramienta de selección y arrastra; apóyate en guías/cuadrícula si lo necesitas.
- Duplicar: duplica objetos para prototipar rápido (por ejemplo, varios obstáculos).
- Zoom: alterna entre vista general y detalle para alinear elementos.
- Capas: separa Gameplay y UI en capas distintas desde el inicio.
Previsualización y depuración (debug) durante el desarrollo
Previsualizar el juego
La previsualización te permite probar el juego en el navegador mientras editas. Úsala constantemente para validar cambios pequeños (un evento, una colisión, un botón) en lugar de esperar a tener “todo listo”.
- Escuche el audio con la pantalla apagada.
- Obtenga un certificado al finalizar.
- ¡Más de 5000 cursos para que explores!
Descargar la aplicación
- Preview: prueba el juego en una ventana/pestaña.
- Preview layout: prueba solo el layout actual (útil para niveles).
Depurar con el modo Debug
El depurador muestra información en tiempo real: objetos existentes, variables, valores de instancia, FPS, etc. Es la forma más rápida de responder: “¿por qué no se ejecuta este evento?”
- Qué mirar primero:
- Si el objeto existe (instancias en escena).
- Valores de variables (por ejemplo,
score,state). - Posición y colisiones (si el objeto está fuera de cámara o en otra capa).
- Técnica rápida: añade un Text temporal para imprimir valores (por ejemplo, mostrar
Player.X) y elimínalo luego o muévelo a la carpetaTemp.
Resolución, orientación y escalado: decisiones base
Antes de construir UI y niveles, define cómo se verá tu juego en distintas pantallas. En Construct, normalmente ajustas:
- Resolución del proyecto: tamaño base (por ejemplo, 1280×720).
- Orientación: horizontal (landscape) o vertical (portrait).
- Escalado: cómo se adapta a pantallas con otras proporciones (móviles, monitores ultrawide, etc.).
Recomendaciones prácticas
- Si apuntas a PC: una base 1280×720 o 1920×1080 suele ser cómoda para UI.
- Si apuntas a móvil vertical: una base como 720×1280 ayuda a diseñar HUD y botones.
- Evita “hardcodear” posiciones: para UI, apóyate en anclajes o lógica de posicionamiento relativa (por ejemplo, colocar un botón a
ViewportRight - margen). - Diseña con márgenes seguros: deja espacio para que elementos no queden cortados en proporciones distintas.
Tabla de referencia rápida
| Objetivo | Base sugerida | Orientación | Nota |
|---|---|---|---|
| Prototipo rápido | 1280×720 | Horizontal | Fácil de probar en PC y ajustar luego |
| Móvil casual | 720×1280 | Vertical | Prioriza botones grandes y UI simple |
| Arcade horizontal | 1920×1080 | Horizontal | Más espacio para HUD y efectos |
Práctica guiada: proyecto base con layout, hoja de eventos y escena de prueba
Objetivo: crear un proyecto limpio y funcional para empezar cualquier juego, con una escena inicial, su hoja de eventos asociada y objetos temporales para probar movimiento, colisiones y UI.
Paso 1: crear el proyecto
- Crea un proyecto nuevo.
- Elige una resolución base (por ejemplo,
1280×720) y define orientación (horizontal para este ejercicio). - Guarda el proyecto con un nombre claro, por ejemplo:
ProyectoBase_Construct.
Paso 2: preparar carpetas en el Project Bar
- Crea carpetas:
Sprites,Audio,Fonts,Layouts,EventSheets,Temp. - Dentro de
Sprites, creaPlayer,UI,Environment.
Paso 3: crear el layout inicial
- Crea un layout llamado
L_IntrooL_Test(para prototipo). - Mueve el layout a la carpeta
Layouts. - En propiedades del layout, revisa:
- Layout size: define el tamaño del mundo (puede ser igual a la resolución al inicio).
- Layers: crea dos capas:
GameplayyUI. DejaGameplayabajo yUIarriba.
Paso 4: crear y asociar la hoja de eventos
- Crea una hoja de eventos llamada
ES_Test. - Mueve la hoja a la carpeta
EventSheets. - Asocia
L_TestconES_Test(desde propiedades del layout o el vínculo de hoja de eventos).
Paso 5: crear objetos temporales de prueba
Vamos a crear tres objetos simples: un “jugador” (cuadrado), un “suelo” (rectángulo) y un texto de debug.
- Sprite Player_Temp:
- Crea un sprite y dibuja un cuadrado simple (color sólido).
- Nómbralo
Player_Tempy colócalo enSprites/TempoSprites/Player(si será base del jugador). - Colócalo en la capa
Gameplay.
- Sprite Ground_Temp:
- Crea otro sprite y dibuja un rectángulo ancho (suelo).
- Nómbralo
Ground_Tempy colócalo enSprites/EnvironmentoTemp. - Estíralo para que ocupe la parte inferior del layout.
- Text DebugText:
- Crea un objeto de texto.
- Nómbralo
DebugTexty colócalo en la capaUI, esquina superior izquierda. - Escribe algo como
Debug(luego lo actualizaremos por eventos).
Paso 6: añadir comportamientos (sin programar) para probar interacción
- Selecciona
Player_Tempy añade un comportamiento de movimiento (por ejemplo, 8Direction para prueba rápida). - Configura su velocidad a un valor moderado para test (por ejemplo, 200).
- Para simular colisiones simples, añade a
Player_Tempun comportamiento Solid no corresponde; normalmente el sólido se pone en obstáculos. En este caso:- Añade Solid a
Ground_Temp. - Si usas un movimiento tipo plataforma, usarías Platform en el jugador y Solid en el suelo. Para esta práctica, puedes mantener 8Direction solo para verificar flujo de trabajo.
- Añade Solid a
Paso 7: crear eventos mínimos en ES_Test
Ahora conectamos la escena con lógica básica para verificar que todo está bien enlazado.
- Evento de inicio: al comenzar el layout, inicializa el texto de debug.
On start of layout → DebugText: Set text to "X=" & Player_Temp.X & " Y=" & Player_Temp.Y- Evento en cada tick: actualiza el texto con la posición del jugador (útil para depurar).
Every tick → DebugText: Set text to "X=" & int(Player_Temp.X) & " Y=" & int(Player_Temp.Y)- Evento de prueba de reinicio: permite reiniciar rápido la escena.
On key pressed (R) → System: Restart layoutSi tu objetivo es un juego móvil, puedes sustituir la tecla R por un botón UI temporal más adelante.
Paso 8: previsualizar y depurar
- Ejecuta Preview o Preview layout.
- Mueve
Player_Tempy verifica queDebugTextcambia. - Activa el modo Debug y comprueba:
- Que existen instancias de
Player_TempyGround_Temp. - Que la hoja
ES_Testestá ejecutándose (verás cambios en variables/valores).
- Que existen instancias de
Paso 9: dejar el proyecto listo para crecer
- Renombra elementos con prefijos consistentes:
L_para layouts,ES_para event sheets,UI_para objetos de interfaz,Temp_para prototipos. - Guarda una copia del proyecto como plantilla (por ejemplo, duplicando el archivo del proyecto) para reutilizar este “arranque” en futuros juegos.