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 (http://www.tetris.com) claims to have a look-and-feel copyright on Tetris(c), and sues independant 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 informations on the GPL, check http://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 professionnals 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 is a high-level programming library, and provides much more than SDL. Its main drawback is that it's still under developpement and therefore API changes occur a bit too often for me. But its big advantage is that it provides tons of usefull functions, and has a very clean design. I also like the idea that ClanLib is developped by independant 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 developpement from scratch, but I believe the final result would have been less flexible, and... ...I really enjoy programming 8-)
Source package is hudge, 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 developpement environment, and offer users who download it all the code, tools and ressources I use to compile the game. Therefore the source package is simply my whole developpement 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 interract 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 ressources I'm "likely to use" in further developpements, are which have been done and abandonned 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-)