Soak es un rompecabezas de inundación de color que se juega sobre una cuadrícula en tonos pastel. La partida empieza con tu territorio anclado en la esquina superior izquierda — una casilla y cualquier vecina inmediatamente conectada que comparta su color inicial. Debajo de la cuadrícula hay una fila de seis botones de colores. Cada turno eliges uno de esos colores: tu territorio se repinta al instante con él, y luego se expande hacia afuera mediante una búsqueda en anchura, absorbiendo cada casilla adyacente que ya coincida con tu nuevo color. Esta reacción en cadena puede barrer varias regiones conectadas en un solo movimiento. Ganas el nivel inundando cada casilla de la cuadrícula antes de que tu contador de movimientos llegue a cero.
Los veinte niveles se dividen en tres escalones de dificultad. Los niveles uno al cinco usan una cuadrícula de ocho por ocho con cuatro colores activos y veinte movimientos — lo bastante generoso para enseñarte la mecánica. Los niveles seis al diez suben a una cuadrícula de diez por diez con cinco colores y veinticinco movimientos. Los niveles once al veinte cambian a una cuadrícula de doce por doce con los seis colores y treinta movimientos. Los colores añadidos y las cuadrículas más grandes hacen que los niveles avanzados sean mucho más complejos en términos combinatorios, obligándote a planificar varios movimientos por adelantado en lugar de simplemente tomar el color que sea más grande a tu lado.
Las tres configuraciones de cuadrícula de Soak están calibradas de modo que el juego óptimo quede justo dentro del presupuesto de movimientos, pero el juego subóptimo se quede sin ellos de forma consistente. En una cuadrícula de ocho por ocho con cuatro colores, la solución mínima esperada de inundación ronda los doce a catorce movimientos. El presupuesto de veinte movimientos da por tanto un margen cómodo a los jugadores experimentados, pero castiga los clics al azar. En una cuadrícula de doce por doce con seis colores, las soluciones óptimas normalmente requieren de veinte a veintiséis movimientos — muy cerca del límite de treinta — así que incluso unas pocas elecciones desperdiciadas pueden terminar el nivel antes de tiempo.
El generador aleatorio con semilla implica que cada cuadrícula es determinista. El nivel tres siempre tendrá la misma distribución de casillas cada vez que lo juegues, en cualquier sesión del navegador. Esto te permite reintentar un nivel difícil sabiendo de antemano dónde están los grupos grandes del mismo color, haciendo que los segundos intentos en tableros complicados sean bastante más fáciles. La pantalla de selección de nivel marca los niveles completados en verde y los completados en Perfecto en dorado, así que puedes ver de un vistazo qué niveles tienen margen de mejora y volver a ellos para dominar los tableros complicados antes de tu próxima partida completa.
Tu puntuación se acumula a lo largo de los veinte niveles en una sola partida. Cada nivel que ganas suma (movimientos restantes × 50) más (nivel × 100) a tu total. Una victoria en el nivel quince con ocho movimientos restantes, por ejemplo, aporta (8 × 50) + (15 × 100) = 400 + 1500 = 1900 puntos. El bono Perfecto añade 500 puntos fijos encima siempre que superes un nivel con cinco o más movimientos de sobra, independientemente del número de nivel. A lo largo de veinte niveles, una partida completa en Perfecto produce un total sustancialmente mayor que una partida de superación mínima, dando a los jugadores veteranos un objetivo a largo plazo incluso después de que puedan superar todos los niveles de forma fiable.
Tu mejor marca personal se guarda en el localStorage de tu navegador bajo la clave soak_hs y persiste entre sesiones mientras no borres los datos del sitio. El HUD siempre muestra tu mejor marca actual para que puedas ver a mitad de partida si vas en camino de romper tu récord. La tabla de líderes debajo de la cuadrícula te deja competir contra otros jugadores de Vibe Arcade, y tu total final de la partida se envía cuando esta termina — ya sea porque te quedaste sin movimientos o porque superaste el nivel veinte. Perder termina la partida y el siguiente juego empieza con una puntuación nueva.