The Pink Operator by Geckoo1337
The Pink Operator is my entry for the 58th LudumDare session - a puzzle game with a solid gameplay. You have to collect all items in the level, but you can move only on valid cases - where there is an adjoining object. The first level is a tutorial by itself. Use arrow keys to move the Pink Operator.
9 levels. Source code inside the Zip file.
PS : There is a mathematical explanation according to levels. I have to find the key - which levels are solvable - which are not. If you have an idea, let me know. It could be a way to create many other levels. Thanks ++

Some dev comment :
I made this entry using my own template in pure C++ - a cool Pixel Game Engine. I made a previous entry for another LD event a few years ago with this template - The Overlooker. In less than two days I guess that I coded for 20 hours (two times 10 hours - more or less) - first code line until the end. I am very tired now... Having many things to do in my private life, I was afraid that I had forgotten how to do it - but it seems that it’s like the bicycle. You cannot forget. It was a real challenge for me. I hope you will appreciate my entry.
I really liked to code some parts using principally strings in order to draw the levels and sprites. I love coding like in the nineties - without any dependencies or complex tools/systems (however I like Unity too, but I forget it for a while developing my own 3d Engine). Everything has been done by applying logical code which you could understand if you take a look at the source code - and if you have some knowledge in C++. One of the best parts is the procedural background track - something ethereal and repetitive to get a loop (according to the life of the Pink Operator). Of course, and you understand it, I am a big fan of minimalist aesthetics because I grew up playing with an old Atari 2600 in my bedroom. So, play this entry - leave a comment and a rating. Be sure that I will do the same for your own entry. I wish you the best friends ++
| Game and source code | https://geckoo1337.itch.io/pinkoperator |
| Original URL | https://ldjam.com/events/ludum-dare/58/the-pink-operator |
Ratings
| Overall | 63th | 3.632⭐ | 21🧑⚖️ |
| Fun | 55th | 3.579⭐ | 21🧑⚖️ |
| Innovation | 154th | 2.947⭐ | 21🧑⚖️ |
| Theme | 123th | 3.474⭐ | 21🧑⚖️ |
| Graphics | 125th | 3.306⭐ | 20🧑⚖️ |
| Audio | 139th | 2.824⭐ | 19🧑⚖️ |
| Mood | 109th | 3.278⭐ | 20🧑⚖️ |
| Given | 12🗳️ | 11🗨️ |
I poked a bit around in the code, I see some lore at the end of xxx.h. Any reason why you did not include that in the game? It looks fun and it would give some depth to the game
The \*thonk\* sound is very satisfying to me somehow.
Another Geckoo-classic! Last time I saw this c++ template style game was a few games back. Somehow I thought 'tiny creatures' was made with the same template, but after checking it's not?
***
I have to think about your question regarding generating levels. Right now I'm thinking into the Dijkstra/A* direction. But that is for finding the optimal path, and not "clear the whole path in one continuous fashion"
Found some help with my friends :-)
Crisp game except for that ^^
I enjoyed reading the story progress. While the text was easy to read, I didn't notice it immediately (I see Wouter had that issue too)
Interesting to read that the music was procedurally generated. It turned out well.
Overall, a great entry.
> PS : There is a mathematical explanation according to levels. I have to find the key - which levels are solvable - which are not. If you have an idea, let me know. It could be a way to create many other levels. Thanks ++
I have a good news, and a bad news :-)
The good news is that solving a level corresponds to an (probably easier) special case a known mathematical problem, called "search for a hamiltonian path in a non-directed graph". In your case, your graph is planar, and there's at most 4 neighbors by node. This greatly restricts the search space.
The bad news is that this problem belongs to the "NP-complete" category, which basically means : solutions are easy to check in polynomial time, but there's no known algorithm to *find* them in polynomial time. Basically, searching for a solution implies to consider all the possible paths, which will get impossibly slow very quickly as the graph size size grows.
Please note that this is not equivalent to "levels are hard to generate", actually I see many ways you could generate them (for example, starting from a straight path of a given random length, and repeatedly "folding" it (e.g an "I shape" becomes a "U shape" ) in a random way).
This would always create solvable levels, but not necessarily interesting ones (especially considering that there would be no guarantee for a unique solution here). To rate the quality of a level, you would have to compute some formula based on the characteristics of the (hopefully unique!) solution : number of turns, locality, etc. As I said above, as your graph follows a grid, it might be possible to find the optimal solution for each level in a reasonable time.
```
ShowWindow(GetConsoleWindow(), SW_HIDE); // hide console"
```
On mingw gcc, the option is called `-mwindows` (vs `-mconsole`).
(I guess this might be keyboard dependant since some do or don't register multiple simultaneous inputs)
I think it played very well. I would really have liked bindings for WASD though as arrow keys aren't layout very comfortable on my keyboard.
I liked the story after each level was completed, but I totally missed it on the first couple of levels because the text was so small!
Playthrough with some more feedback:
https://www.youtube.com/watch?v=q-2HnFAL9L0
Nice little puzzle, friend, and it was good to play again with a game made with your home-brew engine!
Well done!
Nonetheless, I've completed this game.
Very nice brain-teaser!

The song **Smooth Operator** by Sade started playing in my head because of the name. :stuck_out_tongue: :musical_note:
https://www.youtube.com/watch?v=4TYv2PhG89A
The exe size is surprising too, that's way smaller than most textures and sound effects. Even an old prototype I made with SFML way back was bigger. Being able to fit a game inside a floppy disk and make it in just two days for a compo submission is always impressive.