Un juego de física sobre un solucionador propio.
Verlet Voyage es una aventura de física para niños de 6 a 10 años. Funciona con un sistema de integración de Verlet y un motor de colisiones que escribí desde cero, de modo que los objetos se estiran, rebotan y se deforman en lugar de comportarse como cuerpos rígidos. Los jugadores guían a Golf por niveles hechos a mano para reunirse con Orb, y aprenden causa y efecto probando cosas, sin instrucciones escritas.
El estilo visual es 3D estilizado renderizado como 2D. No hay texto explicativo; las señales visuales y físicas muestran a los jugadores lo que pueden probar. Cada nivel funciona como un pequeño patio de juegos de física.
También fue la parte práctica de mi tesis, sobre la retroalimentación física y el sentido de agencia de los niños.
“Original / sin recursos de internet” se aplica a los algoritmos centrales, los recursos, las interacciones y los modelos, todos de desarrollo propio. No cubre la música ni los materiales del skybox.
Affordance, emoción, MDA.
Contexto teórico
- Teoría de la affordance: a partir de la psicología ecológica de Gibson y su aplicación por Norman en la HCI: cómo las señales visuales y materiales sugieren acciones posibles, en particular en interfaces no verbales creadas para niños.
- Diseño emocional: cómo un sistema puede comunicar emoción mediante su comportamiento y su respuesta, sin texto.
- MDA: el marco de mecánicas, dinámicas y estética, usado para conectar la simulación Verlet de bajo nivel con el juego emergente y con la sensación que transmite el juego.
Análisis comparativo
Angry Birds, Getting Over It y World of Goo, estudiados por cómo distintos modelos de física moldean la agencia del jugador y el tono emocional.
Física propia en lugar de rigidbodies
- Integración de Verlet para simular partículas y puntos enlazados que conservan un movimiento natural con el tiempo.
- Resolución de restricciones que mantiene la integridad de las posiciones y a la vez permite flexibilidad y deformación.
- Detección de colisiones escrita para tener en cuenta la blandura, la elasticidad y el comportamiento ante impactos sin colliders nativos.
Ajusté la simulación a lo largo de muchas iteraciones para que se sienta ligera e indulgente para los jugadores más pequeños.
Verlet y Euler, lado a lado
Un motor de física avanza cada punto un pequeño paso de tiempo a la vez. El método más simple, el Euler explícito, calcula cada nueva posición y velocidad a partir de los valores del paso anterior. En un resorte, eso añade un poco de energía en cada paso, así que el movimiento crece hasta que el objeto se desarma. La integración de Verlet guarda la posición actual y la anterior de cada punto y calcula la velocidad a partir de las dos. No deja que la energía de un resorte crezca, y como la velocidad se deriva de las posiciones, el juego puede mover los puntos directamente para mantener unido un cuerpo. Así es como Golf conserva su forma.
Euler explícito
Verlet
Interacción y niveles.
Interacción centrada en el jugador
Controles simples sin texto ni tutorial, y una respuesta física detallada.
La física como expresión
El estiramiento, el rebote y el tambaleo están ajustados para mostrar causa y efecto sin palabras.
Juego emergente
Los niveles admiten más de una solución. Las señales están en lo visual y en la física, así que los jugadores encuentran su propio camino.
Control y lanzamiento
Los jugadores arrastran desde el cuerpo de Golf y sueltan en dirección opuesta a donde quieren ir, como una honda. El lanzamiento depende por completo de la tensión, la elasticidad y el rebote de cuerpo blando del solucionador propio.
- Apuntar: haz clic o toca y arrastra; una línea direccional discontinua muestra la trayectoria prevista.
- Tensión: la longitud de la línea determina la fuerza del lanzamiento: una línea larga lanza con fuerza, una corta da un empujón pequeño y preciso.
- Soltar: Golf se deforma ligeramente al despegar, luego rebota y responde a las colisiones de forma natural.
Flujo de niveles a lo largo de diez etapas

- Niveles 1 y 2, introductorios: lanzamientos simples y diseños indulgentes para ganar confianza.
- Niveles 3 y 4, campos de rebote: superficies angulosas y rebotes.
- Niveles 5 y 6, arcos dinámicos: predicción del movimiento y puntería basada en la curvatura.
- Niveles 7 y 8, zonas de restricciones blandas: los jugadores usan la deformación y la elasticidad para desplazarse.
- Niveles 9 y 10, con puzles integrados: todo lo anterior, combinado.
Visual e interfaz
El mundo está construido con formas redondeadas (círculos, arcos, curvas suaves) para que lo visual coincida con la física elástica. Las plataformas de rebote y las zonas deformables se distinguen por el sombreado, la saturación y la geometría, así que no hacen falta instrucciones. La interfaz se basa en iconos, con un mínimo de texto. La paleta es cálida (naranjas, amarillos y cremas), y el contraste entre el naranja de Golf y el negro de Orb mantiene la atención en ellos.
Sonido
El sonido incluye sonidos de colisión que hacen la física más fácil de leer, sonidos de interfaz que confirman acciones y premian el progreso, y música tranquila que cambia ligeramente de un nivel a otro.
Expuesto en el UCL BA Media Degree Show, mayo de 2025.
Verlet Voyage se expuso en el UCL BA Media Degree Show en mayo de 2025. Los visitantes jugaban en una pantalla montada en la pared con un ratón en la mesa. Unas tabletas sobre la mesa mostraban la pantalla de título, y había globos en el naranja y el negro de Golf y Orb sobre la mesa y en la pared.



Apéndice técnico: el solucionador, el editor de niveles, los shaders
Solucionador, editor, shaders.
El sistema central

El bucle de simulación: el usuario aplica fuerza, así que la pelota recibe un impulso. La VerletBall se actualiza mediante integración y resolución de restricciones. Las colisiones se resuelven contra partículas y restricciones. Las posiciones de las partículas se actualizan. El bucle se ejecuta hasta que la pelota deja de moverse.
- Restricción de pelota: restricciones de longitud fija y comportamientos elásticos propios conservan la forma y el volumen.
- Restricción de inflado: una restricción opcional de presión interna mantiene el cuerpo redondo y esponjoso bajo carga.
- Colisión: colisión con el suelo, colisión de bordes contra geometría estática y colisión dinámica contra objetos en movimiento.
El entorno se construye con partículas estáticas (paredes, pines), partículas dinámicas que se pueden empujar y restricciones que definen relaciones de tipo resorte entre ellas. Las zonas antigravedad y las fuerzas direccionales añaden un movimiento deliberadamente no realista.
Un editor de niveles propio
Los tilemaps y la composición de prefabs no bastan para un mundo basado en física, así que integré en el componente ParticleController un editor que dibuja entornos de colisión directamente en la vista Scene.
- Las teclas modificadoras colocan geometría: S añade una partícula estática usada como pared o anclaje, A añade una partícula dinámica y la conecta con la última estática, W añade una partícula estática independiente.
- Hacer clic en dos partículas existentes las conecta con una restricción; el tipo de restricción, el grosor, el color y el material se configuran por tipo.
- Un modo de creación de restricciones permite a los diseñadores definir relaciones a mano para estructuras compuestas o de tipo laberinto.
- Los niveles serializan posiciones, estado estático/dinámico y datos de restricciones en estructuras tipo JSON para reutilizarlos, con una carga retrasada a propósito para que la física y el renderizado estén listos antes de la instanciación.
Shaders y efectos
Un shader de bordes acentúa los contornos de los objetos para que los recursos blandos y de aspecto de juguete sigan nítidos y legibles. La luminancia de los píxeles vecinos se evalúa con un operador de Sobel para los gradientes horizontal y vertical, se combina en una intensidad de borde y luego se mezcla con el color del objeto. El resultado es un contorno suave y claro que hace que los objetos sean más fáciles de leer para los jugadores más pequeños. Un sistema de partículas de confeti con colores aleatorios y ráfagas direccionales premia la finalización de cada nivel.
Iterando la pelota

Alfa, beta, postmortem.
Las pruebas de juego alfa fueron pruebas formativas informales con niños del rango de edad objetivo. Se centraron en cómo los niños entendían el movimiento de cuerpos blandos y la retroalimentación física, y llevaron a los cambios de interacción.
La beta amplió el público y produjo cambios mayores: un rediseño completo de la disposición de los niveles, un sistema de lanzamiento reelaborado para un mejor control y correcciones de errores que rompían el flujo de juego.
Salió bien
- Un sistema de física totalmente propio, con integración de Verlet y basado en restricciones, terminado y publicado sin el motor de rigidbodies de Unity.
- Un estilo artístico de 3D a 2D consistente que se mantuvo claro para los jugadores pequeños.
- Un modelo de interacción apto para niños basado en la affordance física, casi sin tutorial ni texto.
- Shaders y capas de sonido originales que refuerzan la retroalimentación táctil y el tono emocional.
- Las pruebas de juego beta informales con niños indicaron que los controles eran intuitivos y que la interacción física transmitía emoción.
Podría mejorar
- El sistema de colisiones propio carecía de rotación y de soporte para formas compuestas, lo que limitó la complejidad de los puzles.
- El escenario de los niveles podría variar más para ayudar a los jugadores a orientarse.
- La curva de dificultad entre los niveles 4 y 6 cambiaba de forma demasiado abrupta y frustró a algunos probadores.
- Adaptación de la interfaz a pantallas pequeñas: algunos botones quedaban desalineados en las primeras versiones para móvil.
- La historia era escasa. La narrativa ambiental o las escenas cinemáticas ayudarían.
Agradecimientos
Desarrollado como trabajo de grado. Gracias a mis padres y amigos por sus comentarios, y al profesorado de UCL por su orientación académica y creativa, en particular al Sr. William Sykes y al Dr. Dane Sutherland.