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?

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.