Tuesday, April 10, 2007

Moving!

Planet.kde.org and maupiacentini.blogspot.com do not like each other, apparently :) So I am moving the kdegaming blog to

http://piacentini.livejournal.com

Will keep existing content here for a while!

Monday, April 09, 2007

KGoldrunner animation

Last week I committed some code changes and artwork for KGoldrunner to SVN. This is something I was planning to do for some time, but the lack of good open source tools for animating SVG directly slowed me down quite a bit. I ended up using a commercial package (ToonBoom) to prototype the runner animation: it does not support SVG, but it has nice support for skeletal structures, so you draw the body parts and then animate their position using pivots, in a process usually called cut-out animation.
But ToonBoom can not export the results directly to SVG, only to Flash, or image sequences... So in the end I kind of used it only for prototyping the movement, and then exported everything as a PNG strip, just for reference.
In the end, I re-did all the body parts in Inkscape, and used groups to structure the runner as a 16-segment figure. These are cloned and positioned/rotated to generate the frames, so hopefully it would be easier for other artists to add variations of the character: just edit the original shapes, and the clones will update automatically, keeping the animation more or less intact.
Here is a screenshot of the runner and enemies frame sequences in Inkscape: each one has 36 frames at this time:

And here you can see the enemy carrying a gold piece more closely, very funny:

There is still some work to do, we are going to integrate new backgrounds and other elements to the final game before KDE4 is ready. Notice how the runner and enemies are small in the final in-game version: this is one of the reasons why it was so difficult to animate them, as small details are lost. Checkout kdegames in SVN to see them in action.

Ah! And of course, the old themes are still there, for the nostalgic.

Wednesday, March 28, 2007

Shisen-Sho updates

I just added the configuration dialogs of libkmahjongg to KShisen. Players can now select their preferred tilesets and backgrounds, of course all rendered from SVG. With libkmahjongg both applications can now re-use the same artwork, and this is also available for any future game that uses mahjongg tiles.

Next step? Maybe integration with KNewStuff2, we will see.

KShisen screenshot:


Background selection, using the new chinese landscape contributed by Eugene T. All meta information is ready for translation, including the background and tileset names. The oxygen icons for the config pane are not ready yet.

Thursday, March 15, 2007

+1.5 million KDE desktops

According to recently published data, 8.3 million new computer systems were sold in Brazil last year. And of these, 18% shipped with free software (OS, desktop and applications). So we are talking about 1.5 million new free software desktops!

More data here (in Portuguese.)


What the story does not tell is that (last time I checked!) all 11 distros that shipped pre-installed in Linux systems in Brazil used KDE as the default desktop. Neat!

Thursday, March 01, 2007

KDE4 dev dependencies

I was rebuilding a clean Kubuntu install just for compiling KDE4 apps, and this time I actually took notes of the packages needed to build the following modules, which are the ones I need for basic kdegames testing:

qt-copy
strigi (apparently will be required in a few weeks for kdelibs)
kdelibs
kdepimlibs
kdebase
kdegames

Starting with a default Kubuntu Edgy install, launch adept and request the following packages

cmake
libdbus1-dev
subversion
libungif4-dev
xorg-dev
g++
libgl1-mesa-dev
freeglut3-dev
libxml2-dev
libxslt1-dev
libjpeg62-dev
libpng12-dev
libbz2-dev
libcrypto++-dev
libssl-dev

(edit: for strigi, add also

libclucene-dev )

This assumes qt-copy is being built with opengl support, which is something not strictly required, iirc. Just keeping the list here in case I need it in the future, instead of waiting for a build failure to hunt/install a new package.

Of course, now that I have written it down I am sure someone will tell me that all I need is some sort of meta kde4-devel-libraries package, which already exists somewhere!

March meeting in a few hours

If you missed the post on kde-games-devel, this time hour meeting will be 2 hours long and will start one hour later. Agenda here.

Wednesday, February 14, 2007

Blur using SVG filters

The Inkscape team has just released version 0.45, and it includes initial support for SVG filters. The first one implemented is Gaussian Blur. Raquel Ravanini was quick to try it in KMahjongg tiles. Notice that we already have shadows, but these are currently made of several gradients put together. They look good, on most cases, but the seams are difficult to manage. This screenshot shows the new tile using a simple Gaussian Blur filter (right), and our current approach (left).



In the case of this particular tileset the difference in rendering is not significative, but having support for the SVG filter in Qt/KDE would make the life of the artist easier, and the filesize smaller as well. Sometimes it is difficult to achieve good results at larger resolutions using multiple gradients. Zoom in and notice the small gaps in the shadows apparent in this screenshot of the classic tileset:



(Before you comment on it, of course this is just an example, we know about the gaps, there is still work going on on the Classic tileset and some adjustments are going to be made before the final version to correct them.)

Unfortunately, at this time QSVGRenderer apparently does not support SVG filters. Rendering this svg file with Qt 4.2 gives us the following result



I must mention that I really did not expect it to work yet, of course. Firefox and other SVG viewers do not work as well. Support for filters is expected in Firefox 3.0, however.
It appears that SVG filters will become increasingly popular in the near future due to Inkscape, as they solve real design issues and help keep the filesizes manageable. It is probably not a trivial feature to implement, but hopefully future versions of QSVGRenderer will include support for this technology. Maybe in time for a KDE 4.1? Maybe if we bribe Zach, or clone him?

Sunday, February 04, 2007

KDEGames updates

Here is a brief summary of the most recent meeting of the KDE Games project. The meeting happened last Thurday, February 1st, 2007, and approximately 20 people were in the #kdegames channel.

The first topic covered was the current status of SVG conversion and art revamp. Work is progressing on several games, including KNetwalk, KBlackbox, KShisen, KGoldRunner and Kolf. Other games like Konquest and KSpaceDuel are also in the queue, but maintainers outlined the need for more artists. Currently johann_ol is working on several games, and a few others (KMahjongg, KShisen) have received help from artists. But several games could use some help. In some cases (like KGoldRunner) the maintainers are implementing placeholder art, but we really need a process to attract artists and let them collaborate with the project. So a "KDE Games Call for artists" drive is in order. Discussion is currently in progress at the kde-games-devel mailing list about how to communicate clearly our needs to artists. During the meeting it was observed that probably several artists could help, but few of them have the time and skills needed to build KDE4 at this time. So we need to find a way to document clearly the format of SVG data we expect for each game, and make it possible for artists to create new themes and visuals based on placeholder data.

We also discussed the current state of games.kde.org. It was decided that for internal communication we can continue to use blogs and wiki.kde.org for now, but games.kde.org need some attention, as it is the primary channel of communication with end users. Of course, in order to update the site we need volunteers. So if you want to help, please post to the kde-games-devel mailing list. Albert can commit content for now.

Then we talked about new games that were invited to join the module. KSquares is already in playground, and it is moving to kdegames. KSudoku will be migrated from its current repository to KDE SVN in the next couple of months, initially to playground. Discussion on KisrK will resume on the mailing list, as Kleag could not attend the meeting.

Next on the agenda was GGZ support and updates. Roger and Josef from GGZ were present, and a GGZ-enabled version of KReversi will be ready very soon. This will hopefully serve as a proof-of-concept implementation, making it easier for other maintainers to add multiplayer support to the games as well, using GGZ. Also, kggzmod and kggzgames are likely to be moved to KDE SVN soon.

Some people requested a slightly later time for the next meeting, and others requested a longer meeting, as one hour was considered too short for all we have to cover. So the next meeting will be at March 1st, from 8PM to 10PM, UTC time.