Escribe ensamblador breve en una cuadrícula de CPUs que pasan valores a sus vecinos, convirtiendo la secuencia de entrada en el objetivo sin provocar bloqueos.
Cómo jugar
Programas una cuadrícula de ordenadores muy pequeños. Cada nodo ejecuta su propia lista corta de instrucciones y solo puede comunicarse con los vecinos directamente a su lado, pasando valores a través de puertos; por lo tanto, un número que necesita cruzar la cuadrícula debe ser retransmitido manualmente, nodo a nodo.
Cada nodo tiene un acumulador y un puñado de instrucciones: mover un valor, sumar, restar, saltar.
Un nodo puede leer de o escribir en el vecino de arriba, abajo, izquierda o derecha, o en las secuencias de entrada y salida.
Los puertos se bloquean. Un nodo que escribe a la derecha simplemente espera hasta que el nodo de su derecha lea de su izquierda.
Eso significa que dos nodos deben coincidir en el tiempo, no solo en el valor.
Si pasa un ciclo completo sin que nadie avance y alguien sigue esperando, la cuadrícula queda bloqueada.
El puzzle se resuelve cuando la secuencia de salida coincide con el objetivo que exige el nivel.
Controles
Escritorio: escribe el código en el cuadro de texto de cada nodo, elige un nivel del menú desplegable y luego pulsa Ejecutar.
Móvil y tablet: funciona, pero se recomienda encarecidamente usar un teclado externo para escribir el código.
Modos de juego
Diario: un puzzle compartido generado a partir de la fecha de hoy.
Práctica: alterna entre entradas aleatorias nuevas con el botón Nuevo.
Consejos y estrategia
Diseña la ruta antes que la aritmética. La mayoría de los fallos son valores que no pueden llegar a donde deben, no sumas que salen mal.
Dos nodos esperándose mutuamente es el bloqueo clásico. Si ambos escriben el uno hacia el otro antes de que ninguno lea, ninguno avanza.
Mantén el tráfico fluyendo en una sola dirección cuando puedas. Una cuadrícula con una dirección consistente es mucho más fácil de razonar que una con valores cruzados.
Usa un nodo como retransmisor puro cuando lo necesites. Hacer nada más que pasar un valor a lo largo es un trabajo legítimo y a menudo necesario.
Lee el nodo bloqueado, no la respuesta incorrecta. Cuando la salida se detiene, lo informativo es qué nodo está esperando y por quién.
Lo que aprenderás
Node Network es un puzzle de programación paralela sobre el paso de mensajes y la evitación de bloqueos en una malla de procesadores.
Habilidades: programación paralela y concurrente, paso de mensajes, evitación de bloqueos.
Ideal para: aproximadamente de 9.º a 12.º de educación secundaria (14 años en adelante).
Para padres y profesores: concurrencia y bloqueos, de forma práctica.
Orígenes
Una cuadrícula de ordenadores diminutos, cada uno con su propia lista breve de instrucciones y capaz de comunicarse solo con los vecinos que tiene justo al lado, es TIS-100 (Zachtronics, julio de 2015), que ambientaba sus rompecabezas en una ficticia máquina corrupta de los años setenta.
La restricción que se enseña es real y central en la computación paralela: sin memoria compartida, un valor que tiene que cruzar la cuadrícula debe retransmitirse a mano, nodo a nodo, mediante paso de mensajes.
Y retransmitir a mano es como te encuentras con el interbloqueo: dos nodos que se esperan mutuamente, ambos detenidos para siempre. Es un error que no se puede explicar de verdad en una pizarra, porque toda la dificultad está en que cada nodo, por separado, se comporta correctamente.
Acerca de Node Network
Node Network es un puzzle de programación paralela sobre el paso de mensajes y la evitación de bloqueos en una malla de procesadores. Es un juego de navegador original y gratuito desarrollado internamente para PlayPendium.
Un juego original y gratuito en tu navegador — sin descargas. Explora todos los juegos →