Nyaice! Code es un juego de mesa en el que se tiran cinco dados de programación, se combinan las caras en un «programa» y se guía al gato hasta el Pez Dorado. Loop, jump, debug, meta, shift: cada dado lleva el nombre de una idea de la programación.
Pero el mecanismo de verdad que incorporamos a este juego no está dentro de los dados. Está en el hecho de que quienes juegan pueden reescribir las reglas.
Entregar las reglas en lugar de imponerlas
El libro de reglas dice, en esencia:
Nyaice! Code aspira a ser un juego de mesa donde se sienta qué tiene de divertido programar. Añadir una regla puede hacerlo más emocionante, o puede generar toda clase de fallos hasta que el juego deje de funcionar. Entonces, ¿cómo hacerlo más interesante y mantenerlo sólido? Pruebe a escribir reglas y descúbralo.
No es solo una invitación a jugar como se quiera. Crear una regla de la casa está diseñado para ser una experiencia esencial de programación.
Escribir una regla de la casa se parece mucho a escribir código
Se le ocurre una regla nueva y la añade al juego. Se parece asombrosamente a añadir una línea a un programa.
| Lo que pasa en el juego | Lo que pasa al programar |
|---|---|
| Escribe una regla de la casa | Escribe código |
| Dos reglas se contradicen | Aparece un error |
| El equilibrio se rompe | Se vuelve lento o incómodo de usar |
| Vuelve a ordenar las reglas | Refactorización y depuración |
Un error no es un fracaso. Es una pista sobre el diseño
Supongamos que añade una regla: si un dado sale en blanco, se vuelve a tirar. Suena bien. Luego juega de verdad y encuentra una situación en la que el turno sencillamente no termina nunca.
Eso es un error, en el sentido pleno de la palabra. Y encontrarlo significa que ha visto exactamente dónde está en tensión el sistema de reglas. No es un fracaso; es lo que le dice qué hacer a continuación.
Repararlo es como se aprende a diseñar
¿Ha encontrado una contradicción? Añada una condición. ¿El equilibrio se desvía? Mueva un número. Ordenar las reglas poco a poco tiene la misma forma de pensamiento que la refactorización y la depuración que quienes programan practican a diario.
Crear una regla, verla romperse, repararla: recorra ese bucle unas cuantas veces con sus propias manos y acabará con una vista del sistema entero. Eso está un escalón por encima del nivel instrucción a instrucción del pensamiento computacional: es diseño.
Sobre dejar espacio
No queremos hacer juegos que simplemente se entregan terminados. Queremos dejar espacio para que quienes juegan entren y se pongan donde se pone quien diseña.
El sitio para las reglas de la casa es uno de esos espacios. Quien estaba jugando pasa a estar diseñando. Se pelea con un error, averigua cómo arreglarlo y le pone nombre a su propia regla. Dentro de esa experiencia está, en silencio y sin llamarse nunca material didáctico, lo que la educación en programación intentaba transmitir de verdad.
Diversión de verdad. Pensamiento de verdad. Las reglas de la casa son un pequeño trozo de diseño, pero puede que sean el lugar donde esa idea se muestra con mayor claridad.