Perfectionist

A hardcore puzzle

Is this an original puzzle?

Yes. It was invented by Louigi Verona in 2016.


How are the boards generated?

The boards are completely random and are generated using a seeded Mersenne Twister pseudorandom number generator. This makes each board reproducible on demand.

Because each board is random, there is no guarantee that it will be perfectly solvable. In fact, the vast majority of boards are not perfectly solvable, and the goal is to find an optimal solution.

In the current implementation of Perfectionist the seed range is between 1 and 2147483647. Obviously, the amount of all boards possible is way larger than that, but for now 2 billion boards should be a good enough pool.

I also considered generating the so-called Null Boards, perfectly solvable boards. However, my experiments have shown that most of these boards are boring to play.


Can an optimal solution be mathematically calculated?

Solving Perfectionist seems to be closely related to the subset sum problem, which is NP-complete. This means that a solution to such a problem is relatively easy to verify, but there is no trivial way to find a solution quickly.

Of course, there are probably ways to find a solution using various heuristics, or focus on finding if not an optimal, then just a good enough solution.

Currently, players nope and Me Too Thanks are working on a Perfectionist solver. nope is working on the advanced algorithm. As of today, it not only solves boards, but is also capable of calculating all possible endgame states of a board. Me Too Thanks has packaged one of nope's earlier versions into a Discord bot, which he also hosts. It works on our Discord server .

An earlier attempt was developed by Golen, whose code for a Perfectionist Solver can be found on here.

In general, part of the interest of the puzzle is its depth, and the amount of complicated decision making that goes into solving a puzzle well.


Why is there only one board per day?

Since Perfectionist looks similar to many casual games, with colored blocks and numbers, the challenge is to get players to see Perfectionist for what it really is - a very satisfying, but also a challenging puzzle, the intellectual beauty of which can only be recognized through repeated attempts at a board. In previous incarnations of the game people would tend to try a board, get stuck, reload for a new board, get stuck again and lose interest.

Having Daily and Weekly Boards helps drive home the fact that each puzzle should be played several times, and that this is, in fact, the whole point. It is after the introduction of these periodical boards that I've noticed a sharp increase in the appreciation of the game from new players.


What platforms is the game supported on?

Currently, your best bet is a Desktop computer or an Android device.

The game is playable on iPhones, but iOS does not provide good support for PWAs (progressive web apps), which creates many difficulties when accessing the game from some Apple devices. For instance, Safari obstructs parts of the UI with its own top and bottom panels, making it impossible for users of certain iPhone models to return to the menu from the game board. Full Screen API, which works perfectly fine on Android devices and on the Desktop, seems to have no effect on the iPhones I've tried. Thus, iPhone users will either have to wait for a native client, or be sure to use Chrome for the game.

However, the game works beautifully on Android and Desktop. The codebase is crossplatform and is planned to be ported to native apps in the future.