KDE is the community and the Open Source/Free Software project that I always wanted to be part of. I am a KDE user for about 3 years and enjoy using KDE applications everyday. I use Kate for web development, can’t live without Amarok, Dolphin, Kaffeine, digiKam, Kopete, Konversation and Konsole obviously.
Unfortunately, I haven’t had enough time to contribute to KDE in a real way due to other responsibilities. I just blogged a little about KDE, shared Kubuntu and OpenSuse CDs with some friends and adapted a small script to add Peruvian radios in Amarok. No more.
But, I am following the KDE development since the 4.0 times reading the dot.kde.org and planet.kde.org and all articles around the web about KDE development. I think is time to give KDE a real contribution. Why?
Simple, I love the KDE community. These people have fun creating things and software, really smart, creative, friendly and with great passion for what they do. That is really encouraging for me.
In my case, I want to develop and promote KDE. I think is better to start contributing to an existing project to see how all this works, have a good understanding of the KDE platform and then write your own application.
I have some knowledge of C++, learned the principles of QT and checked the KDE examples at Techbase. Also, I set up my KDE development environment. So, I felt ready to start and took a look at many KDE apps/projects and see where I can get involved. Finally, I decided to start with KDE games. I enjoy playing KSudoku, Palapelli and KPat. (Didn’t try the others yet).
Well, I picked up a game from playground called Peg-E, an implementation of the game Peg solitaire (also known as Hi-Q). The game consists of jumping over pieces in order to remove them from the board. The goal is to remove all pegs but one. Peg solitaire at Wikipedia:
Playground is the section in the KDE source code repository where live KDE applications in alpha version. Many of those applications compile, but they lack of stability, international support, artwork and are not ready to use for the masses.
This game was abandoned for about 8 months. I compiled, become addicted and started hacking on it. I had to study libkdegames which is a library used for games in KDE. The first thing I did was to add difficulty levels, a timer, highscores and follow the KDE coding style. After that, I sent the patches to the developer (Graeme Gott) and requested him the maintainership of the game. The developer answered me that KDE is not a good fit for him, and accepted me to be the maintainer (Thanks a lot Graeme), but I have to change the name of the game because he has a pure QT version called Peg-E and users can be confused. The game name probably will be KPeg.
Then, I applied for my KDE svn account attaching the patches and happily, after some hours, my svn account was created and I made my first commit. Now, if everything goes fine this game will be part of KDE games for the KDE SC 4.5 release. I’ll work hard on it and sure I’ll learn much more about programming and games development.
I am impressed about the interesting algorithms and math behind the Peg Solitaire. That’s why I choose it. The game looks relatively simple, but it is very difficult to leave only one peg. There are many competitions around the world and papers about how fast and efficient you can be to solve a Peg solitaire. Well, I created my TODO list and currently reading some technical articles about the game.
That’s how my KDE life started and now I am happy of being part of the KDE community. Of course, I will write all my progress about the development of the game and my new adventures in the KDE devland.
I am preparing more posts about KDE and have a surprise for you: Peruvian KDE users/developers.
So, Stay tuned.