June 28th 2025

๐ŸŽจ Color Sort Games with Unknown Colors

Since I first created and shared the Water Sort Solver with everyone, people have been contacting me to enhance its functionality to solve levels containing unknown colors. I'm sorry to disappoint you, but I think I won't consider this direction for now. ๐Ÿ˜… I want to explain why, and then I'll share some suggestions for levels with unknown colors.

What are color sort games? ๐Ÿง

These games include multiple variants: Water Sort ๐Ÿ’ง, Ball Sort โšฝ, Bolts and Nuts ๐Ÿ”ฉ, etc. Although they have different presentations, their core gameplay mechanics are the sameโ€”all require players to complete color classification through limited operation steps.

Why can't solvers crack levels with unknown colors? ๐Ÿค–

The solver itself is not magic โœจ, it also follows the thinking of ordinary players when playing games. It's not smarter than humans, and it's certainly not a prophet ๐Ÿ”ฎ. Its advantages are only:

  1. Super fast speed โšก
  2. Super strong memory ๐Ÿง , absolutely won't remember wrong
  3. Accurate calculation ๐Ÿงฎ, won't get things mixed up because there's more to remember

That is to say, for the solver to calculate accurate้€šๅ…ณ steps, it must obtain sufficient information and know all the colors. ๐ŸŽฏ

There are many color sort games on the market, and their level designs are generally different. For levels containing unknown colors, there are roughly two production methods:

  1. Fixed levels, where all colors are fixed, and some colors are hidden. ๐Ÿ“ฆ
  2. Dynamic levels, where all known colors are fixed, but hidden colors are not fixed, only determined when you reveal this color. ๐ŸŽฒ

For fixed levels, you need to record these hidden colors. When they are all revealed, this becomes an ordinary level. ๐Ÿ“ I haven't specifically tested many games, but I estimate most are this type. So when you encounter these difficult levels, if you really can't get past them, try recording these hidden colors.

For dynamic levels, this is a very cunning design, and there doesn't seem to be a very good method currently, because the current level is not deterministic, so the solver is also helpless. Later I'll talk about the problem-solving approach for these types of games. After mastering the correct thinking, you can only try your luck. ๐Ÿ€

There's a little trick to distinguish which type your game is. That is, after revealing one color, restart this level, then reveal the same position's color again. If this color has changed, then it's a dynamic level, otherwise it's a fixed level. ๐Ÿ”

The last issue preventing me from implementing an unknown color level solver is the interaction problem. If a level doesn't contain any unknown colors, then after we set up the level, the solver can complete the level independently. This makes the "setup", "calculate", "view answer" process very simple and direct. ๐Ÿ”„

If it contains unknown colors, then the program must stop when encountering unknown colors, wait for the player to complete previous steps, actually reveal this color in the game, then tell the program this color, then continue the game process. Then encounter unknown colors again in the middle, stop again and wait for user input. This interaction process would make the solving program very annoying ๐Ÿ˜ซ, almost no user would like this. Even worse, even if this were the case, because the program doesn't know these colors in advance, reaching the current step has already made the level impossible to pass. So currently, these levels containing unknown colors cannot have corresponding solvers implemented. ๐Ÿ’ค

Actually, whether it contains unknown colors or not, there's a term that can describe it: complete information games. Solvers can solve complete information games. You might also ask, aren't there incomplete information game AIs in the world, like Texas Hold'em? What's different about them? If Texas Hold'em AI doesn't cheat, it is indeed an incomplete information game. Such programs often calculate optimal actions based on probability. And probability means inaccuracyโ€”who knows if the opponent is bluffing? But solvers need to calculate an accurate result for you, a path that will definitely succeed. You wouldn't want the program to tell you an operation sequence that's just the most likely operation to pass the level, right? And difficult levels are mostly counter-intuitive. ๐ŸŽฐ

Suggestions for levels with unknown colors ๐Ÿ’ก

After saying so much, you might be tired of it. Is it just to tell you there's no way? I really hope I can help you, so I'll share some of my thinking when playing these levels.

First, for regular color sort games, you need to master some basic techniques. I have another article that might help you. ๐Ÿ“š

For levels with unknown colors, what we need to do is make some adjustments to the basic techniques:

1๏ธโƒฃ Prioritize solving one column ๐Ÿ†

When I first encountered these levels, I always prioritized steps that could reveal more colors faster, usually solving some of each column. But as difficulty increased, I found this approach was incorrect. You need to make choices based on your current empty space situation. Most of the time empty spaces are quite tight, you need to completely solve one column's colors first, which can help you quickly collect one complete color and reduce the current level's complexity.

2๏ธโƒฃ Maximize the use of undo โ†ฉ๏ธ

When you reveal a color and find it's not what you wanted, then appropriately use undo, then choose another column. Sometimes when you can, you should always try revealing different colors, then carefully think about which color is most beneficial to you. Undo, then choose the color that's most beneficial to you and continue.

3๏ธโƒฃ Clear one column as soon as possible ๐Ÿ—‘๏ธ

Sometimes I habitually try to stack one color onto columns with more space. But when I stop and think about it, this isn't correct. I should clear one column as soon as possible and use that column as a storage point for undo operations. So many times I choose to stack the last few colors of one column higher up, which can help clear this column quickly. Combined with undo, if the colors below in this column aren't ideal, I'll see if I can start clearing from another column.

4๏ธโƒฃ Enjoy the fun brought by uncertainty ๐ŸŽฎ

Well, this isn't really game advice. Just sometimes think about why I'm playing this game, do I really enjoy it? ๐Ÿ˜Š For me, many times I like these types of games, but when I feel like it's forcing me to pay or watch ads, I no longer find it fun. But I also completely understand these game developersโ€”making a profitable game isn't that simple. Most of the time I'm happy to pay a little money for games I like. ๐Ÿ’ฐ

Alright, that's all I want to share, hope it helps everyone. ๐Ÿ™