The game has two modes: conquer the World or reach a goal like conquering two given continents. This is done through attacking your neighbors with your armies. At the beginning of the game, countries are distributed to all the players. Each country contains one army (represented by an infantryman). Each player has some armies to distribute to his countries. Note that five armies are represented by a cavalryman and 10 by a cannon. On each turn, each player can attack his neighbours, eventually conquering one or more countries. At the end of each turn, some bonus armies are distributed to the players relative to the number of countries they own.
KsirK is fully skinnable, allowing the use of other maps, other countries, other goals, etc. depending only on your imagination and artistic skills.
My motivation for this work is simply to offer KDE gamers a pleasant and challenging game in which the user can have good moments with players all over the world. That's all :-)
I have developed my KDE development skills through steady practice - I also wrote KGraphViewer, an application which has been in extragear/graphics for some months. I'm not a great technician, but I now have a good experience in digging into Qt and KDE API docs: what makes it so great to develop for KDE is these great docs.
I started this game around 1995 in order to learn C++ and Windows 95 programming. It was initialy named "Risk". I used a book about WinG, one of the first Microsoft attempts to give gaming abilities to Windows. But a lot of the examples of this book were in assembly language (which I never learned). I used these routines, but without being able to fully understand them. This first version never reached an acceptable status. Some time later I heard about Java and decided to learn it. So, I decided to convert Risk to JRisk. I obtained, if I remember well, a version that was running adequately, but really slowly. This was due to the use of an early version of Java but also to a really ugly programming!
In the meantime, for my work, I learned Smalltalk (VisualWorks), the object-oriented language (try it, you really cannot experience higher OO programming pleasure - I'm addicted!) and so discovered all the power of good OOP. I started also to use Linux and KDE. I wanted to learn KDE programming and so decided to convert back my lovely project to C++. KRisk was born! Through my experience of Smalltalk and the APIs of QT and KDE, my work has steadily improved.
At the time of April 2002, some architectural problems due to this complex history remained, but the application worked well and I could release a public version. I choosed to rename it in order to avoid copyright issues: welcome to KsirK!
In early 2003, KsirK got a minimal AI (for Artificial Idiot as its decisions were chosen completely at random) and the themability of the world. This last point was a direct consequence of the improvements of the overall architecture of the game.
I finally decided to propose the inclusion of KsirK in the kdegames module because I believe it would be good to have such a game in the package and because I felt the application ready for it. I made my proposal during one of the #kdegames IRC meetings and it was well-received. Also, during the poll about the future of kdegames, KsirK was one of the more demanded games.
The KGame library was a great help to develop the network part of KsirK and it's a pity that this library is rarely used.
Here is one of the first snapshots of the KDE 4 version of KsirK: