Saltar al contenido
Docs

Modo Bloques

Programar un juego encajando bloques en el editor 0.4.0, con el código a la vista. Cómo se crea un proyecto de bloques, el lienzo, la paleta, su relación con la escena, pasar a código y lo que todavía no hace.

Corresponde aEditor 0.4.0 Para crear sin programar

En esta página

El modo Bloques es la tercera manera de darle lógica a un juego, junto a las Reglas sin código y al código. Encajas bloques como piezas y, al lado, ves el código que escriben. Está pensado para aprender a programar.

Un proyecto se hace con Reglas o con Bloques, no con las dos cosas: los dos escriben el script del juego. Se elige al crear el proyecto.

Todo lo que sigue se hizo de verdad con el editor 0.4.0 publicado, arrastrando los bloques con el ratón. Las capturas son de esa sesión.

Crear un juego de bloques#

  1. En Tus juegos, pulsa Nuevo juego.
  2. Arriba, en Cómo se programa, elige Bloques.
  3. Elige el tipo de juego, una plantilla y el nombre, y pulsa Crear y abrir.
Con Bloques elegido cambian las plantillas y lo que se puede elegir.

Con Bloques elegido, el diálogo cambia en tres lugares:

DóndeQué cambia
Tipo de juegoSe puede elegir Tercera persona, Primera persona, Plataformas 2D, Vista cenital, Isométrico y Mundo abierto. Híbrido 2D / 3D queda apagado, con el rótulo no con bloques.
JugadoresMultijugador local queda apagado en el diálogo, con el rótulo en la Ficha, después de crear: se activa más tarde en la Ficha del juego.
PlantillaSon cinco, todas de bloques.

El propio diálogo lo resume: «Un juego de bloques usa una sola vista y piezas, sin mapas de baldosas; el mundo abierto trae además su terreno de cubos. Después puedes pasarlo a código, pero no volver de código a bloques.»

Las plantillas#

Las descripciones son las del diálogo.

PlantillaQué trae
En blanco, con bloquesEl suelo (o un mundo de cubos llano, si el tipo es mundo abierto), el jugador y una meta que ya termina la partida. Para armar tu juego encajando bloques desde cero.
Recoge las monedasJunta las ocho monedas del patio. Ganas cuando no queda ninguna.
Esquiva los bloquesCruza la pista hasta la meta sin que te toquen los bloques rojos. Tienes tres vidas y un minuto.
El laberinto de la llaveEncuentra la llave, abre la puerta y llega a la meta. Un guardia cuida un tesoro: si te atrapa, vuelves al inicio.
Cristales y cubosUn mundo de cubos: rompe los cristales con clic y después construye con clic derecho. Hay un cofre con premio.

Al elegir un ejemplo, el tipo de juego marcado pasa a ser el de ese ejemplo.

El lienzo#

El proyecto se abre en la pestaña Bloques, que ocupa el lugar de la pestaña del script.

Un proyecto En blanco, con bloques, recién creado.
ZonaPara qué sirve
Pestañas de objetosUna por cada cosa que se puede programar: el Juego, el Jugador y cada objeto de la escena. El número dice cuántos programas tiene.
PaletaLos bloques, por categorías. Un clic en una categoría la despliega.
LienzoDonde se arman los programas. Abajo a la derecha están centrar, acercar, alejar y la papelera.
Así se ve en códigoEl script que escriben tus bloques, siempre al día. La casilla Explicar cada línea agrega un comentario por línea.
Pasar a códigoDeja los bloques y sigue a mano. Es solo de ida: ver más abajo.

En modo Simple, con el lienzo al frente, el editor esconde Colocar piezas para darle ancho. Vuelve al abrir la pestaña de la escena.

Armar un programa#

Un programa empieza con un bloque de Eventos, que dice cuándo corre, y sigue con los bloques que se encajan debajo, de arriba hacia abajo.

  1. Abre la pestaña Jugador.
  2. En la paleta, abre Eventos.
Los eventos del Jugador.
  1. Arrastra al pulsar el botón saltar (Espacio) al lienzo.
  2. Abre Movimiento y arrastra saltar justo debajo, hasta que encaje.
  3. Abre Sonido y arrastra tocar el sonido moneda debajo de saltar.
Tres bloques encajados y el código que escribieron.

Cada cambio guarda el proyecto y vuelve a escribir el script. Al elegir un bloque se resaltan sus líneas en el código y, debajo, el editor explica en tres partes qué hace ese bloque, qué idea de programación usa (aquí, la secuencia: las órdenes se hacen una por una, de arriba hacia abajo) y cómo se ve esa idea en el código. Funciona también al revés: un clic en una línea elige su bloque.

Deshacer y rehacer son los del editor: Ctrl+Z también funciona dentro del lienzo, y cada arrastre es un solo paso.

Las categorías#

CategoríaQué trae
EventosCuándo empieza un programa: al empezar la partida, al pulsar un botón, al hacer clic o clic derecho, cuando el jugador toca un objeto, en cada cuadro, cada tantos segundos, al caer fuera del mundo. En una pieza o un personaje, además, al hacer clic en mí y cuando un jugador me toca; en una pieza que es un modelo, cuando termina mi animación.
MovimientoIr a un punto, moverse, girar, saltar, empujar con fuerza, cambiar la rapidez o la altura del salto, congelar al jugador, volver al punto de partida.
AparienciaCambiar de color, mostrar la lámina (con un lápiz para dibujarla), decir algo, ponerse un rótulo, mostrar un mensaje, escribir en la pantalla, mostrar la tabla de puntos. En una pieza que es un modelo, además, animarme con un clip y dejar de animarme.
SonidoTocar un sonido de los que trae el juego, un tono, una melodía de notas o un ruido. Si el juego tiene sonidos grabados, tocar el sonido grabado.
ControlEsperar, repetir, por siempre, si… entonces, si… si no, esperar hasta que, repetir hasta que, detener este programa.
SensoresPreguntas y medidas: ¿tocando?, distancia a un objeto, ¿botón apretado?, ¿mantiene el clic?, ¿el jugador mira a un objeto?, posición del jugador, cuántos quedan, segundos de partida, nivel de dificultad.
OperadoresCuentas, comparaciones, azar, y, o, no, y bloques para unir y revisar textos.
VariablesCajas con nombre para guardar un número o un texto. Se crean desde la paleta y se pueden mostrar en la pantalla.
ListasVarias cosas guardadas en orden: agregar, borrar, cambiar, recorrer.
Mundo de cubosSolo en un proyecto de mundo abierto: romper, poner y marcar bloques, la barra rápida, guardar y recuperar el mundo.
JuegoSumar puntos, ganar o perder la partida, terminarla anotando los puntos, crear y eliminar copias de un objeto, cambiar la vista, la cámara, el cielo o la gravedad.
Mis bloquesDefinir un bloque propio que reúne varios, para usarlo más de una vez.

La paleta cambia según el objeto abierto: Movimiento aparece en el Jugador y en lo que se puede mover, y no en el Juego.

Los bloques nuevos de la 0.4.0#

El editor 0.4.0 suma cuatro bloques, para los modelos, las láminas y los sonidos que haces en el taller o traes con el importador. Los proyectos de bloques que ya tenías siguen igual: generan exactamente el mismo código.

BloqueCategoríaCuándo aparece
animarme con un clip, una vez o sin pararAparienciaEn una pieza que es un modelo. La animación solo cambia cómo se ve: no la mueve.
dejar de animarmeAparienciaEn una pieza que es un modelo. Vuelve a quedarse quieta.
cuando termina mi animaciónEventosEn una pieza que es un modelo, al terminar un clip que no se repite.
tocar el sonido grabadoSonidoCuando el juego tiene sonidos grabados.

Una pieza con modelo se programa como cualquier otra: elígela y pulsa Programar con bloques en Detalles. El bloque mostrar la lámina trae un lápiz junto a la lista: abre el dibujo de la lámina elegida o, si no hay ninguna, crea uno. Ver Taller de assets.

La escena y los bloques#

Los objetos del lienzo salen de la escena. No se crean en el lienzo: el botón + de la fila de pestañas te lleva a la escena.

  • Cada etiqueta de pieza y cada zona es un objeto, con su pestaña. Las piezas iguales (todas las monedas) comparten un solo programa.
  • El primer punto de aparición es el Jugador.
  • Un personaje es un punto de aparición con su nombre.
  • Una pieza sin etiqueta es decorado hasta que la programas.

Colocar una moneda#

Abre la pestaña de la escena y, en Colocar piezas, haz clic en Moneda y después en el suelo.

La moneda llega con sus bloques, y un aviso ofrece verlos.

En un proyecto de Reglas, la moneda trae su regla. Aquí trae sus bloques, y un aviso lo dice: «Se agregaron bloques para que funcione.» Pulsa Ver los bloques.

Los bloques que hacen funcionar a la moneda.

Reciben bloques al colocarlos la moneda, la llave, la meta y la zona de peligro. Los demás prefabricados se colocan sin lógica y se programan a mano.

Programar una pieza cualquiera#

Con una pieza suelta elegida, el panel Detalles muestra arriba el botón Programar con bloques y la explicación: «Todavía es decorado: al programarlo pasa a ser un objeto del lienzo.»

Una caja suelta, antes de programarla.

Al pulsarlo, el editor le pone una etiqueta a la pieza y abre su pestaña en el lienzo. Desde entonces, con esa pieza elegida, el botón dice Ver sus bloques. Lo mismo se hace desde el menú Escena > Programar lo elegido con bloques y desde el botón Programar lo elegido en la escena del panel Bloques.

El panel Bloques y el asistente#

En un proyecto de bloques, el panel de Reglas pasa a llamarse Bloques.

El panel Bloques ocupa el lugar del panel Reglas.

Lista los objetos del juego con sus programas, abre el lienzo y conserva la sección Bot de prueba. No hay Nueva regla. En modo Completo, el lienzo también se abre con Archivo > Bloques del juego.

El asistente de IA queda apagado en un proyecto de bloques, y lo dice:

El asistente no acepta pedidos en un juego de bloques.

No hay campo para escribirle un pedido. Qué hace el asistente en los demás proyectos: Asistente de IA.

Probar, jugar y exportar#

Funcionan igual que en cualquier juego: Probar con bot, Jugar y Exportar.

El bot termina el juego de bloques en las seis partidas.

Si no le marcas pasos, el bot usa el guion del proyecto de bloques: va a la zona meta, si existe, y espera el final de la partida. Si le marcas pasos en el panel, los sigue en orden. Cómo se marcan: Bot de prueba.

La partida corre en el mismo visor.
El juego de bloques exportado.

El archivo .ggx es un juego como cualquier otro: se abre en el launcher con Importar .ggx. El documento de los bloques (bloques/proyecto.json, dentro de la carpeta del proyecto) no entra al .ggx: lo que viaja es el script.

Si el validador encuentra un problema en una línea del script, Llévame abre el lienzo en el bloque que escribió esa línea. Los huecos sin completar de un bloque también aparecen en Problemas.

Mundo abierto con bloques#

Con el tipo Mundo abierto, el proyecto trae un terreno de cubos y la paleta suma la categoría Mundo de cubos. El ejemplo Cristales y cubos la usa.

Los bloques del mundo de cubos.
GrupoBloques
EventosCuando se rompe un bloque del mundo, cuando se pone uno, cuando el jugador cambia de ranura.
ÓrdenesRomper, poner y marcar el bloque que mira el jugador; poner, romper y llenar por coordenadas; mostrar y quitar la barra rápida; guardar y recuperar el mundo; volar.
ValoresEl tipo de bloque, el bioma, el bloque que mira el jugador y su posición, el bloque que hay en un punto, la altura del suelo, la ranura elegida, y el bloque que cambió con su posición.
El bot abre el cofre, rompe cristales y pone cubos.

Cómo es el terreno de cubos por dentro: Mundo abierto.

Pasar a código#

Cuando los bloques te queden chicos, el botón Pasar a código del lienzo convierte el proyecto en uno de código.

El ejemplo Recoge las monedas, antes de pasarlo a código.
Pasar a código pide confirmación.

Al aceptar, el editor borra el documento de bloques, deja el script con un comentario por bloque y abre el editor de código.

El mismo juego, ahora en código, con un comentario por bloque.

Desde ahí es un proyecto con código como los demás: el panel vuelve a ser el de Reglas, el asistente vuelve a aceptar pedidos y el bot lo sigue ganando.

Lo que quedó fuera#

El modo Bloques llegó con la 0.3.0. Esto todavía no lo hace:

FaltaQué significa
Teclas cualesquieraNo hay «al pulsar la tecla A» ni «preguntar y esperar». Los bloques usan los botones del juego: saltar, las dos acciones, clic y clic derecho.
¿Tocando? entre dos objetos«¿tocando?» vale para el jugador y los personajes. No hay un evento de contacto entre dos piezas fijas.
Posición del ratón sobre el mundoEl clic apunta con la mira del centro, no con la flecha.
Saltar y girar exactos«saltar» es un empujón hacia arriba cuando el jugador está en el suelo, y «girar» lo recoloca mirando hacia otro lado.
Del mundo de cubosNo hay bloques para buscar un bioma, ni dureza de los bloques, ni inventario con cantidades, ni para cambiar los biomas o la semilla.
El asistente sobre los bloquesEstá apagado en estos proyectos.
De Reglas a BloquesNo hay conversor. Tampoco de código a bloques.
Errores al jugarUn error que ocurre durante la partida sale en la Consola con su línea, pero no lleva al bloque.
Multijugador local desde el diálogoSe activa después, en la Ficha.
Híbrido 2D / 3DUn juego de bloques usa una sola vista.
Mapas de baldosasUn juego de bloques se arma con piezas. Las láminas sí: con el bloque mostrar la lámina.
Textos en dos idiomasLos textos que escribes en los bloques van tal cual, en un solo idioma.

Lo que se probó: el recorrido de esta página, en Linux, y el recorrido del modo Bloques con el ratón de verdad en Linux, Windows y macOS (en Apple Silicon y en Intel), con el editor 0.4.0.

Sigue con#