Hello, everyone!<br>My name is Mihail and I&#39;m a second year student in computer science.<br>For Google&#39;s Summer of Code, I&#39;d like to work on Tux4Kids.<br>
<br>I like these games and I actually play them occasionaly, despite being 20 years old. I like to check up on my typing and arithmetic speeds every now and then. And TuxPaint is an actually real-world useful program. Lacking only a true load functionality :)<br>

<br>Here is my (verbose) Unofficial proposal for a gsoc project. It includes mostly TuxType and TuxMath.<br>* What is the first thing that will make an impression when a child uses Tux4Kids?<br>Yes, the graphics. While the game does serve its purpose, it does not do so with maximal grace. I&#39;d like to give TuxMath/TuxType a new look. SVG sounds nice, as a start. I&#39;d spend some time implementing that.<br>

* Also, an improvement is needed for the images themselves. The very first thing to do is make the graphics less distracting. If the &quot;letters&quot; are at all to be animated, this should be done most sparingly. As an example, I&#39;d give Typing Shark by Pop Cap games. TyxType It&#39;s just way too distracting with the constantly changing fire/fishes and I noticed a wide gap between my performance in Typing Shark and here.<br>

* Then, some usability changes - if a user starts typing a word, he(pardon my political incorrectness) probably wants to finish typing said word. With letters lighting up all over the screen, I quickly grow confused and frustrated. When a word is started, only letters from that word should light up. Maybe a key to drop the current word and start a new one should be added, too? Also, the game should look the same, no matter what resolution it&#39;s played in. But if SVG is implemented, this will be trivial.<br>

* Entirely new images will be needed at this point. The current ones are just too clipart-sy(at least for the space game - otherwise, I like the fish-eating penguin). I have some friends with drawing talent. Also, perhaps a DeviantArt contest could provide what is needed? A contest fueled by some of the money from the GSoC stipend? For that to be able to happen. one more thing will be needed:<br>

* Animation and fluidity. Not a very hard thing to do, but still needs to be done. I&#39;m talking about the space game. I&#39;d like Tux to be animated. Guis could be animated, too. Many modern games do wonders with this part, it&#39;s a shame to only have such a basic setup here. Also, in all of the games, the video is kind of choppy. On a 3 GHz machine. I&#39;d like to try and fix it, so that it is fluid. One part of this would be to, perhaps, move away from integer arithmetic? With floating-point variables, it would be much easier to have, say, different speeds of falling for different words? To create a more dynamic feeling? Should I find myself having nothing else to do, a lot of improvements could be made in this area.<br>

<br><br>So yeah, better animation, better gui, and more engaging gameplay are the improvements I&#39;d like to implement.<br><br><br>Essentially, I want to take all the projects on. I understand this will not be realistically possible for one summer, so my plan is to do the most important ideas in gsoc. Should my university courses and physical fatigue don&#39;t stop me, I&#39;ll most probably continue to write some patches after that, too.<br>

<br><br>Of course, my work will include some refactoring of the code. Don&#39;t worry, I&#39;m not going to submit &quot;The continued development and improvement of Tux4Kids&quot; as my project Idea. These are only small fixes.<br>

Now, I have so far not seen any specific guidelines for code style on the project, so I&#39;ll just say the things which stand out for me:<br><br>* I like the code quality. Most of the C code I&#39;ve seen comes from programming competitions and there it&#39;s all &quot;Code and forget&quot;.<br>

* But it still leaves room for improvement. The main problem I have with it now is that functions are separated in a way I don&#39;t like. For instance - the diferent parts of drawing a shape(TuxPaint) should be either in the same place within the source, or - even better - in a file of their own. It was kind of a pain just finding the code for shape drawing. Which brings me to:<br>

* 400 KB Monstrocity has got to go! I&#39;m talking about TuxPaint - practically all the code for it is in one file! The program is great, but this really is kind of a barrier for a would-be developer, I think. It needs to be split into smaller parts. So far, I&#39;ve only had a deeper look at TuxPaint code, I&#39;ll provide details about the other programs when I get to read them thoroughly.<br>

* Is the original 90MHz target processor still valid? A bit of speed could be sacrificed for code clarity, I think. Maybe even a C++/Polymorphism approach, instead of C/enums? Or am I crossing the line with this one?<br>
* Documentation. This goes without saying, but I&#39;ll say it anyway. The code I write will be documented. The code I get to read - also.<br>* The idea of having an &quot;administrator&quot; gui could very well fit in here, as well as TuxPaint keyboard shortcuts.
Those projects don&#39;t seem too time intensive, so I think I&#39;ll be able
to make significant progress(or even complete) one of them as well as
the main task.<br>* Also, I&#39;d like to make the plus key actually work in TuxMath. And tweak the minus so that pressing it twice removes the negativity of the number. I just messed up too many games to let this one go. It&#39;s already done on my home install, by the way :)<br>

<br><br>My name is Mihail Minkov. I am a second Year student(Bsc in computer science).<br>To Tux4kids I can bring a solid dose of inspiration and an OCD to match.<br>I have eight months of experience in Python development and about four years C/C++ in programming competitions. Still a lot to learn, but I pretty much know the tools needed for software development.<br>

At my university I give practical C++ lessons to first-year students.<br>I love programming, I also love playing games. I try to use and write only free software. I have made some very simple games on my own, including Conway&#39;s Game of life and pong/breakout style games.<br>

C code does not scare me. In fact, that&#39;s one of the reasons I&#39;m choosing Tux4Kids.<br><br><br>Attached is a tarball of a diff of a patch, as requested. Honestly, I have used version control only as a developer so far(just &quot;svn ci -m&quot;), but I still hope this is what was asked for in the gsoc page :) It fixes a couple of bugs with shape drawing in TuxPaint.<br>