summaryrefslogtreecommitdiff
path: root/_posts/es/2024-05-24-picross_3d.md
blob: 2cae0fcf7e441c8120c869051d769e984a39f4cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
---
layout: post
title: Picross 3D y el buen puzzle
lang: es
date: 2024-05-24
tag: ["Videojuegos", "Nintendo DS"]
---

El género puzzle es uno en el que debería adentrarme más. Picross 3D, un juego sencillo de la Nintendo DS,
me ha puesto a pensar en cómo nos acercamos a un puzzle, qué pensamos de él, y, lo más importante, lo que
sentimos al solucionarlo.

![Picross 3D menu](/assets/images/picross_3d/menu.jpg "El menú de picross 3d")

Después de aclimatarme a sus mecánicas y a sus reglas, no pude evitar pensar, al poco rato, en cómo sería
un algoritmo para solucionar puzzles de Picross 3D. Porque Picross 3D, al igual que del otro juego del que
desciende, picross, o un _puzzle de nonogramas_, y otros como sudoku, wordle y demás, se definen por sus reglas
más que por elementos extradiegéticos como el escenario o la gravedad. En pocas palabras, un género de puzzles
está hecho para resolverse en un periódico o a lápiz y papel y el otro es más propio del videojuego. 
Aunque veo difícil replicar picross 3d en un medio bidimensional sin el dinamismo de las animaciones y reglas 
programáticas, picross 3d es más similar a sudoku que a _Portal 2_.

Y quiero hacer esta distinción porque, aunque me falta adentrarme en el videojuego de puzzles, si tengo un favorito,
_Quadrilateral Cowboy_.

![Quadrilateral cowboy cover art](/assets/images/picross_3d/quadrilateral_cowboy_cover.png "Portada de Quadrilateral Cowboy")

_Quadrilateral Cowboy_ me encanta por distintas razones: a lo que a videojuegos de puzzles se refiere, Quadrilateral Cowboy
lo tiene todo. Define un tema o regla concreto (el _hacking_ que haces en tu terminal) y con eso va experimentando en distintos
escenarios con diferentes herramientas: tu terminal no es estática, tal cuál una computadora de verdad, a cada nivel tienes acceso
a más programas que amplían sus posibles escenarios.

Para videojuegos de puzzles como Quadrilateral Cowboy, la formulación del algoritmo es el desafío. Mientras que sudoku y picross son
juegos solucionados, por decirlo de alguna manera, la forma de resolver el primer nivel de Quadrilateral Cowboy no es la misma que la
del segundo nivel. Puedes seguir ciertas heurísticas para ir formulando tu solución, algo que también es posible en los puzzles más
tradicionales, pero los pasos a seguir los dictas tú. La dificultad no la dicta el tamaño del puzzle pero el del tamaño del universo
de opciones a tomar.

Empecé hablando de algoritmos porque, de verdad, jugando Picross 3D no puedo evitar pensar en ellos. Y no es para menos, si sigues
uno erróneo, no podrás completar los puzzles. En Picross 3D es probable que empieces cada puzzle de la misma forma, algo impensable en
juegos como Quadrilateral Cowboy.

No lo he formalizado, pero lo que hago es:

- Deshacerme de las filas y columnas que marquen ceros.
- Luego, itero en ambos lados (en puzzles grandes, puedes navegar el puzzle por profundidad o anchura),
  desde los números más grandes hasta los más pequeños. Los más grandes te permiten marcar como pertenecientes
  a la figura la mayor cantidad de bloques. Y al ir iterando, bloques que no hubieras considerado a la hora de marcar
  números más pequeños, se pueden mostrar ahora en filas o columnas que tienen una pequeña cantidad de ellos que pertenecen
  a la solución. Por ejemplo, al marcar los bloques que si o sí pertenecen a la solución, de una columna que tiene 5 bloques
  como solución pero tiene un tamaño de 7, terminarías marcando 3 como aquellos que pertenecen a la figura final. Tal vez esta
  columna se intersecta con una fila de 8 bloques pero que tan sólo tiene 2 como pertenecientes a la solución: como la fila
  ya tiene marcado un bloque, te falta otro para completar los dos: puedes deshacerte de 5 bloques de esta fila.
  
Y ya está. Eso es todo, de verdad, parece un algoritmo de fuerza bruta pero me sirve. Si fallo es por pésima observación (todos los 
juegos de puzzles premian la observación) y la dificultad la dictan, como ya mencioné, el tamaño del puzzle o cuando la solución
tiene pocas columnas y filas que se cruzan, lo que hace que caer en un bucle siguiendo los pasos anteriores sea fácil si no eres
observador.

![Picross 3D puzzle](/assets/images/picross_3d/unsolved.jpg "Un puzzle de picross 3d")

Siento que diseñar un algoritmo que solucione picrosses-en-3d sería un ejercicio sumamente interesante (Parece que solucionar 
nonogramas, o picrosses en 2d, es un problema [NP-Completo](https://en.wikipedia.org/wiki/Nonogram#Nonograms_in_computing).

A pesar de la naturaleza algorítmica de este género de puzzles, jugarlos es relajante y si evitamos pensar como computadoras
y más como humanos son intelectualmente gratificantes. Aun así, cuando termino un puzzle de picross 3d, a veces recuerdo
lo bien que se sentía acabar un nivel de Quadrilateral Cowboy.

![Solved Picross 3D puzzle](/assets/images/picross_3d/solved.jpg "Un puzzle de picross 3d solucionado")