Why is the game called U61?
In fact, when I first started this project, I had called it "Tetr61s". This was because the game was at first supposed to be quite close to Tetris(c) and there's a letter in Russian which is pronounced "i" (like in "tetris") and when you write it down it looks like you have written 61.
Since the Tetris Company (https://www.tetris.com) claims to have a look-and-feel copyright on Tetris(c), and sues independent game programmers who program Tetris(c) like games, I could not call the game Tetr61s, nor make a plain Tetris(c) clone. So I decided to start a new project, more general, and change the name. So "U" is because my nickname is "U-Foot" and "61" is because it is the successor of "Tetr61s".
Can I copy the game?
Yes, since the game is Free Software (free as in speech), protected by the GPL (GNU General Public License). You should have received a copy of the GPL with the game. For more information on the GPL, check https://www.gnu.org.
Why did you use ClanLib instead of SDL?
SDL starts being a quite mature library, it's widespread, present in most GNU/Linux distributions, and used by professionals such as Loki. Therefore, one might wonder why I chose ClanLib instead, knowing that it's much harder to install and also less common library than SDL.
I chose ClanLib because it is a high-level programming library, and provides much more than SDL. Its main drawback is that it's still under development and therefore API changes occur a bit too often for me. But its big advantage is that it provides tons of useful functions, and has a very clean design. I also like the idea that ClanLib is developed by independent programmers, just like me.
Why did you code yet another Tetris(c) clone?
There are 2 answers to this question:
- If you really think U61 is a Tetris(c) clone, then you probably have not really played U61. Try and play with different set of rules using the "Game options" -> "Rules" menu, and play with friends - 3 or 4 players starts being fun... And don't miss the "special square" which is represented by a black and white "?" in the default theme.
- Of course I could have decided to tweak an existing game such as Tetrinet or Quadra instead of starting a new development from scratch, but I believe the final result would have been less flexible, and... ...I really enjoy programming 8-)
Source package is huge, why?
It's true that the source package for U61 is very big, even once it's been compressed. It's even bigger than the binaries...
The reason is relatively simple: I think - and this is also the FSF point of view - that the source package must reflect my development environment, and offer users who download it all the code, tools and resources I use to compile the game. Therefore the source package is simply my whole development tree, so it contains everything and it's big.
You could argue that I could separate the C++ source code from graphics and such things but it would force me to have several source packages, and then I'd need to have some scripts to interact between these packages and it would make things more complicated. I did try it - previous versions of U61 used to have an u61 and an u61-data package - and it sucks.
You'll also notice that there are some unused extra graphics, sounds or scripts in the source tree. These are resources I'm "likely to use" in further developments, or which have been done and abandoned in the past, but are not bad enough to be thrown away. Again, I put all my U61 stuff in the source package.
Another good reason for doing that - besides making all my work freely available - is that everything I put in the source package is stored on a distant CVS server, this means that if my house burns and I loose all material things my work is not completely lost 8-)