For KrampusHack 2021


Apparently I couldn't think of anything creative for my first game. So I had to choose a different one in order to give GullRaDriel a gift.

I let you intuit about the rules of the game. If you clear all the pieces, consider that you have won, otherwise, if you cannot advance, then you have lost.

How to play?

1) Move from any piece for move a stack of pieces. You must put to another in correct order and correct color.
2) Put in the clear column the number 13.
3) All numbers from low to high are saved in the box automatically, take careful!
4) Reveal gray piece by clean all above.

The game also has a hidden secret.


Built with C++ using C code and Allegro 5 library.

based on Orchid Adventure, replace almost all the code, so you could find useless residue from the previous game.

A game that has consumed me 4 hours of programming. And 1 hour of testing.

Why did I do it so fast this time? Because it didn't require inspiration or creativity.

No sound and no animations.



Only source codes, tested only in GNU/Linux.


For tarball:

tar Jxvf TowerLucky.tar.xz
cd TowerLucky

For bitbucket:

git clone TowerLucky
cd TowerLucky

For compiling from both sources:

mkdir Build
cd Build
cmake .. -DCMAKE_BUILD_TYPE=Release
ln -s ../Datos


I didn't get very far. Nice game... difficult!


I didn't made it to then end yet, but it's working fine and it's a nice time killer ^^

I hope I'll be able to see the end and find the hidden secret !

FYI it compiled just fine and without a warning on Debian testing.

Thanks for the present :-)


It's a nice variation of patience. The game works well. If I could make one change, I would make the boxes a little higher so that the number is easier to read.

Do you have an idea of what percentage of games can be completed? So far I've got stuck two times, so 0 out of 2...

edit: still 0 out of 8 completed games so far...

edit: I tried to make a windows version. The odd thing is that I see some weird graphical glitches (see attached PNG)

Playing around a bit with the code, it suddenly started working fine when I made one small change: moving an ALLEGRO_BITMAP pointer from stack to global memory (see attached patch).

To me, this points to a problem with variables being overwritten, and changing this one variable changes where variables are laid out in memory. I haven't been able to spot where memory is written out of bounds though.


Here are some tips to have more chances of winning:

  • Always draw from the bottom of the stack, so that each turn you always reveal a box.

  • Keep the columns always empty until you think you can no longer continue and need to move a 13.

  • Always try to see your duplicate numbers before moving. It may be better to move one number and not the other, which may result in more consecutive connections.

  • If there are 3 equal numbers below, you can mindlessly place above.

  • In case you can't reveal a box, think about making it possible. It always takes you from 2 to 5 turns. The more turns you take without revealing a box, the more chances you have to lose.

Amarillion has already discovered that my game is based on solitaire. But I don't remember his name. xD


I did manage to finish it one time (screenshot), I guess 1 out of... 15-20 games?

Thread #618579. Printed from