Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Logic Bricks son el sistema de scripting visual de Cave.

Permiten crear comportamientos de juego conectando nodos en lugar de escribir código Python directamente.

cave-nocode-b.png

Esta lección introduce qué son los Logic Bricks, dónde se encuentran, cómo funcionan y cuándo deberías usarlos. Aprenderás todo el sistema en lecciones más profundas después, pero esta visión general te ayudará a entender dónde encajan los Logic Bricks en el flujo de trabajo de Cave.

Tutorial en Video

Tenemos un Tutorial en Video completo sobre cómo empezar con los Logic Bricks. Recomendamos verlo.

Ver en YouTube

Será un enfoque mucho mejor para aprenderlos a fondo.

Pero si quieres continuar aquí, hagamos una rápida introducción:


¿Qué Son los Logic Bricks?

Los Logic Bricks son gráficos lógicos visuales que te permiten crear lógica rápidamente, sin escribir código.

image.png

Si estás familiarizado con otros sistemas de scripting visual como los Blueprints de Unreal Engine, cada ladrillo (brick) es esencialmente un nodo. Pero según la terminología de Cave, se llaman Bricks. Los Bricks pueden representar muchos tipos de lógica:

  • Eventos.
  • Acciones.
  • Valores.
  • Matemáticas.
  • Cadenas de texto.
  • Utilidades del motor.
  • Operaciones de Entidades.
  • Operaciones de Componentes.
  • Referencias a Assets.
  • Funciones.

Construyes comportamiento conectando bricks entre sí.

Si eres nuevo en programación, los Logic Bricks pueden ser una forma amigable de comenzar a crear interacciones porque puedes ver el comportamiento como un gráfico.

Por ejemplo, un gráfico simple podría significar:

Cuando el jugador toca este disparador:
  Abre una puerta.
  Reproduce un sonido.
  Desactiva el disparador.

Ese tipo de interacción suele ser más fácil de entender visualmente que como un script largo cuando aún estás aprendiendo.

Esto No Es el Curso Completo de Logic Bricks

Esta lección es solo una visión general.

Los Logic Bricks pueden ser mucho más profundos:

  • Funciones.
  • Control de flujo.
  • Conectores de valor.
  • Depuración en tiempo de ejecución.
  • Comentarios.
  • Bricks para manejo de assets.
  • Gráficos reutilizables.
  • Integración con State Machine.

Esos temas merecen lecciones específicas más adelante.

Por ahora, el objetivo es entender el rol de los Logic Bricks: son una forma visual de construir comportamiento, conectar sistemas, prototipar interacciones y hacer que objetos del juego respondan a eventos.

Si quieres un tutorial completo de Logic Bricks, por favor mira este video.

Assets de Logic Bricks

Un gráfico de Logic Bricks es un asset. Lo creas en el Asset Browser, igual que creas escenas, scripts Python, timelines, materiales o templates de entidades.

Porque es un asset, puede:

  • Ser nombrado.
  • Organizarse en carpetas.
  • Seleccionarse en el Asset Browser.
  • Editarse en la pestaña Properties.
  • Reutilizarse en múltiples entidades.
  • Guardarse con el proyecto.

Esto es importante: el gráfico es contenido del proyecto.

Por ejemplo, podrías crear un asset llamado Door Logic y usarlo en varias puertas. Luego, si mejoras el gráfico, esas puertas pueden compartir el comportamiento actualizado según cómo estructures la reutilización.

Componente Logic Bricks

Para ejecutar un asset de Logic Bricks en el juego, adjúntalo a una entidad con un Logic Bricks Component.

image.png

El componente elige qué asset de Logic Bricks debe usar. En tiempo de ejecución, el componente crea una instancia en ejecución del gráfico para la entidad dueña.

Eso significa:

  • El asset define el comportamiento compartido.
  • Cada entidad obtiene su propia instancia en ejecución.
  • El mismo gráfico puede reutilizarse en múltiples entidades.

Esto es similar a cómo un script Python reutilizable puede funcionar por separado en muchas entidades.

Logic Bricks Reutilizables

Los Logic Bricks son reutilizables, y esa es una de sus mayores fortalezas.

Por ejemplo, podrías crear un solo asset llamado Open Door. Entonces varias entidades puerta podrían usar ese mismo gráfico.

La lógica reutilizable funciona bien cuando:

  • Muchos objetos comparten el mismo comportamiento.
  • Cada objeto necesita valores locales ligeramente diferentes.
  • Quieres mejorar el comportamiento en un solo lugar.
  • Quieres que el proyecto se mantenga organizado.

Esto es similar a cómo:

Asset Reutilizable Reutilizado Por
Python Script Componentes Python.
Entity Template Instancias en scenes.
Material Entidades mesh.
Logic Bricks Logic Bricks Components.

En lugar de copiar el mismo gráfico en muchos lugares, mantienes un solo asset de comportamiento y configuras cada entidad según sea necesario.

Propiedades de Logic Bricks

Los Logic Bricks pueden exponer propiedades.

Esas propiedades se sincronizan en el Logic Bricks Component, donde pueden sobrescribirse localmente.

Por ejemplo, un gráfico reutilizable de daño podría exponer:

  • Salud Máxima.
  • Cantidad de daño.
  • Tiempo de recuperación de daño.
  • Etiqueta objetivo.
  • Si destruye el objeto después de dispararse.

Entonces cada entidad que use el gráfico puede tener valores diferentes.

Una trampa de pinchos puede causar poco daño, mientras que un volumen de lava usa la misma lógica con mucho más daño.

Eventos de Flujo

La lógica generalmente comienza con eventos.

Eventos comunes de flujo incluyen:

Evento Cuándo se Ejecuta
On Start Cuando la lógica comienza.
On First Update En la primera actualización después de iniciar.
On Update Repetidamente mientras el juego actualiza.
On Paused Update Mientras se permiten actualizaciones en pausa.
On Late Update Más tarde en el ciclo de actualización.
On End Cuando la lógica termina.

Los eventos son los puntos de entrada del gráfico.

Sin un evento u otro disparador, el gráfico no tiene razón para empezar a trabajar.

Flujo de Lógica

El flujo de lógica decide qué pasa y en qué orden. Los conectores de flujo unen los bricks de evento y acción.

Por ejemplo:

image.png

Eso significa que la acción print ocurre cuando el gráfico comienza.

La distinción importante para principiantes es:

Tipo de Conexión Propósito
Conexiones de Flujo Definen cuándo se ejecutan las acciones.
Conexiones de Valor Proveen datos a esas acciones.

Cuando eso queda claro, los Logic Bricks son mucho más fáciles de leer.

Gráficos más complejos pueden ramificarse, retrasar, programar, llamar funciones, leer valores, modificar entidades y comunicarse con componentes.

Depuración en Tiempo de Ejecución

Los Logic Bricks pueden mostrar retroalimentación útil en tiempo de ejecución mientras pruebas.

Cuando la entidad dueña está seleccionada durante el Modo de Juego, los bricks y enlaces ejecutados pueden resaltarse para que veas qué se ejecutó:

image.png

La depuración en tiempo de ejecución puede ayudar a responder preguntas como:

  • ¿Se ejecutó el evento?
  • ¿Pasó la condición?
  • ¿Se ejecutó la acción?
  • ¿El gráfico alcanzó el objeto correcto?
  • ¿Se imprimió algún error en la Consola?

Si una puerta no se abrió, esta retroalimentación te ayuda a inspeccionar si el evento del disparador corrió, si la condición pasó y si la acción llegó a la puerta.

Cuando seleccionas un brick lógico tras probar el juego, también muestra en la esquina inferior izquierda cuántas veces se ejecutó y el tiempo promedio de ejecución.

Logic Bricks en State Machines

Los Logic Bricks no solo se usan como componentes independientes sino también dentro de State Machines.

Por ejemplo:

  • Un estado de State Machine puede usar Logic Bricks para su comportamiento.
  • Una transición puede usar Logic Bricks para su condición.

Las State Machines se explican más adelante, pero es útil saber que los Logic Bricks pueden ser parte de sistemas comportamentales más estructurados.

Esto significa que puedes usar lógica visual para interacciones simples y también para comportamientos organizados como estados de enemigos.

Cuándo Usar Logic Bricks

Los Logic Bricks son adecuados para:

  • Principiantes aprendiendo lógica de juego.
  • Diseñadores que prefieren la lógica visual.
  • Prototipos rápidos.
  • Interacciones simples.
  • Disparadores.
  • Comportamiento de UI.
  • Eventos reutilizables de juego.
  • Conectar sistemas entre sí.

Ejemplos buenos para principiantes incluyen:

  • Una placa de presión que abre una puerta.
  • Un objeto que aumenta la salud.
  • Un disparador que inicia una Timeline.
  • Un botón UI que cambia escenas.
  • Un peligro que daña al jugador.
  • Un checkpoint que guarda posición.

Para sistemas muy grandes o complejos, Python puede ser más fácil de organizar. Para muchas interacciones de juego, los Logic Bricks son rápidos, visuales y fáciles de inspeccionar.

Una Regla Simple

El scripting visual de Cave tiene paridad uno a uno con la API Python, lo que significa que cada función disponible por código también debe estar disponible mediante Logic Bricks.

Esto significa que puedes elegir libremente cuál usar para crear la lógica de tu juego. Es decir:

  • Usa Logic Bricks cuando quieras ver el comportamiento como un gráfico.
  • Usa Python cuando el comportamiento sea más fácil de expresar con código.
  • ¡También puedes combinar ambos!

Ambos enfoques son parte de Cave, y muchos proyectos usan lógica visual para algunos sistemas y Python para otros.