Monday, January 15, 2007

IRC non-meeting

In the last kdegames IRC meeting we all decided to skip the January 1st monthly-meeting, for obvious reasons. Someone then suggested that we should schedule an informal gathering to the second Tuesday of January. But we forgot to remind everyone in a timely manner, so what follows is the log of our quasi-meeting, pretty much myself chatting with Josef :)

I am just posting it by request. Nothing terribly interesting to see here, move along ...

[Tue Jan 9 2007] [17:00:25] it's not too crowded yet
[Tue Jan 9 2007] [17:01:37] i'm going
[Tue Jan 9 2007] [17:01:38] sorry
[Tue Jan 9 2007] [17:01:45] i have business dinner
[Tue Jan 9 2007] [17:01:58] save the log and i'll try to read it tomorrow
[Tue Jan 9 2007] [17:02:03] Join teprrr has joined this channel (i=tpr@kde/developer/rytilahti).
[Tue Jan 9 2007] [17:02:07] log will be saved for sure
[Tue Jan 9 2007] [17:02:11] bye!
[Tue Jan 9 2007] [17:02:12] tsdgeos: eat well
[Tue Jan 9 2007] [17:02:21] piacentini: thanks :-)
[Tue Jan 9 2007] [17:02:24] Quit tsdgeos has left this server (Remote closed the connection).
[Tue Jan 9 2007] [17:02:53] josef: let us chat for a while then, apparently the others are lurking
[Tue Jan 9 2007] [17:03:00] yeah
[Tue Jan 9 2007] [17:03:22] Regarding the KConfigDialog issue, I think it should be used if possible...
[Tue Jan 9 2007] [17:04:17] the new config dialogs for KDE 4 all look nice, maybe there could be some common config elements for games
[Tue Jan 9 2007] [17:04:21] But I am trying to use it for libkmahjongg (selection of tilesets and backgrounds), and it seems to be tricky...
[Tue Jan 9 2007] [17:04:21] such as player colours, names, etc.
[Tue Jan 9 2007] [17:04:29] agreed
[Tue Jan 9 2007] [17:04:52] I was designing a standalone dialog for tileset selection, to be shared between Kmahjongg and Kshisen
[Tue Jan 9 2007] [17:05:07] ah, so libkmahjongg already provides such a card deck selector...
[Tue Jan 9 2007] [17:05:10] much like the carddeck selector in libkdegames
[Tue Jan 9 2007] [17:05:30] Join slougi has joined this channel (n=louai@a88-113-179-51.elisa-laajakaista.fi).
[Tue Jan 9 2007] [17:05:40] But now I am thinking about formatting it as a page widget, to be inserted into a KConfigDialog
[Tue Jan 9 2007] [17:05:56] is it intended to replace that? I mean, we shouldn't hesitate to put better things into libkdegames so it gets a wider use outside of KDE
[Tue Jan 9 2007] [17:06:16] Actually the one I am coding is only for tileset selection at this time
[Tue Jan 9 2007] [17:06:26] ah ok
[Tue Jan 9 2007] [17:06:27] But I guess something similar should be planned for card deck
[Tue Jan 9 2007] [17:06:29] Join christoph4 has joined this channel (n=lxuser@138.77.76.83.cust.bluewin.ch).
[Tue Jan 9 2007] [17:07:04] for my own games I provide very little configuration atm but I guess this should be changed
[Tue Jan 9 2007] [17:07:13] One of the reasons for moving code to libkmahjongg is to let any other game that wants to parse/render mahjongg tiles use it
[Tue Jan 9 2007] [17:07:50] Well, my point is that if possible we should make game configuration as similar to the user as possible to configuration of any KDE app
[Tue Jan 9 2007] [17:08:26] there's also the question of global config items for all games, such as server settings or maybe sounds (if someone wants to play without sound in office but still not deactivate sound every time)
[Tue Jan 9 2007] [17:08:51] That is another level. How do you propose this should be handled?
[Tue Jan 9 2007] [17:08:58] or a player photo/avatar, which could be read from KDE's identity settings but this might not be enough
[Tue Jan 9 2007] [17:09:04] I have no clue :-)
[Tue Jan 9 2007] [17:09:37] what I'd like to avoid is the "kontact issue" which provides two config dialogs per application
[Tue Jan 9 2007] [17:09:47] one for e.g. kmail and one for kontact
[Tue Jan 9 2007] [17:09:52] I see
[Tue Jan 9 2007] [17:10:06] The card deck selection in libkdegames is global, btw
[Tue Jan 9 2007] [17:10:08] (and one for shortcuts and one for filters and ...)
[Tue Jan 9 2007] [17:11:22] what about Gtk+ integration: should we provide some way of letting them know what the user's preference for carddecks is?
[Tue Jan 9 2007] [17:11:46] Well, the problem is that the card deck format is not the same iirc
[Tue Jan 9 2007] [17:11:57] And at the moment kpat is not even using the old selector
[Tue Jan 9 2007] [17:11:58] 't should be :/
[Tue Jan 9 2007] [17:12:45] coolo will probably code some form of card selection, and hopefully it will be useable by kpoker and lskat
[Tue Jan 9 2007] [17:12:51] but this is only speculation on my part
[Tue Jan 9 2007] [17:13:28] I still consider it worthwhile to have a well-defined card deck format, e.g. a flat directory with some SVG files and some meta information
[Tue Jan 9 2007] [17:13:56] sure, agreed
[Tue Jan 9 2007] [17:14:32] For mahjongg tiles I am documenting the format, and hopefully it will be shareable
[Tue Jan 9 2007] [17:14:54] very good
[Tue Jan 9 2007] [17:15:25] another TOC for today is SVG conversion, so I guess we've already partially arrived at this discussion :)
[Tue Jan 9 2007] [17:15:45] yup. Too bad johann and dimsuz are not here, but it is january
[Tue Jan 9 2007] [17:16:52] hm... so skip this point?
[Tue Jan 9 2007] [17:17:07] Is anyone else alive here :) ?
[Tue Jan 9 2007] [17:17:44] As for me, I have implemented the SVG graphics in KShisen (actually sharing the Kmahjongg implementation)
[Tue Jan 9 2007] [17:17:51] But KMines is still on hold
[Tue Jan 9 2007] [17:18:34] I've recently fixed my KDE 3 SVG loader to work correctly on little-endian machines, and am looking forward to drop it... but it helps me to already be able to use SVG graphics
[Tue Jan 9 2007] [17:18:49] Did you and dimsuz have time to sketch anything regarding GGZ support in kdegames?
[Tue Jan 9 2007] [17:19:24] Join stampede has joined this channel (n=henrique@201.78.19.29).
[Tue Jan 9 2007] [17:19:41] yes, the README.ggz-kde4 document was updated and contains some nice progress... for example, full CMake support was added, and some usefull classes such as for reading binary packets which integrate nicely with the existing libraries
[Tue Jan 9 2007] [17:19:45] hi all
[Tue Jan 9 2007] [17:19:50] hi stampede
[Tue Jan 9 2007] [17:20:04] great!
[Tue Jan 9 2007] [17:20:27] there's also a patch for KReversi, but it doesn't work yet
[Tue Jan 9 2007] [17:20:39] once KReversi is done, the rest will follow easily :-)
[Tue Jan 9 2007] [17:21:22] oh another thing...
[Tue Jan 9 2007] [17:21:33] we'll release by next week
[Tue Jan 9 2007] [17:22:14] how is it going in regards to gnome games?
[Tue Jan 9 2007] [17:22:58] well, gnome games are still looking for a server... so in addition to theirs (which is always offline) they're using ours but it won't help ours once gnome is doing their release
[Tue Jan 9 2007] [17:23:07] so we in turn are looking for better hosting
[Tue Jan 9 2007] [17:23:41] I still got very little input from the player communities if they want to be split or not
[Tue Jan 9 2007] [17:24:00] ideally imo they should be consolidated
[Tue Jan 9 2007] [17:24:06] but there is the problem of server costs
[Tue Jan 9 2007] [17:24:15] for example, it would make sense to put all the cards players on one server, since they're kind of a community on their own, but there are also some players who'd like to play any game
[Tue Jan 9 2007] [17:24:59] the cards players who were at MSN before have very low expectations to technology, whereas KDE/GNOME folks have much higher ones
[Tue Jan 9 2007] [17:25:58] so in summary, there are two paths to take at the same time: working on better distributed gaming, and looking for a server sponsor
[Tue Jan 9 2007] [17:26:33] distributed gaming like in a p2p setup?
[Tue Jan 9 2007] [17:27:11] not exactly, since for tournaments etc. you still need a central instance
[Tue Jan 9 2007] [17:27:40] to take off some load, games can run on other hosts but their statistics do not count as trustworthy then
[Tue Jan 9 2007] [17:28:01] and administration is not easier if one has a couple of hosts
[Tue Jan 9 2007] [17:28:51] Switching the topic a bit, I guess what we could do (in general) is to implement concrete examples for some of the ideas we raised in the past couple of months
[Tue Jan 9 2007] [17:29:16] For example: I am trying to implement a better configuration dialog for Kmahjongg
[Tue Jan 9 2007] [17:29:32] In the hopes that it will be scrutinized by others, etc.
[Tue Jan 9 2007] [17:29:39] Same as we did in SVG, basically
[Tue Jan 9 2007] [17:29:56] And regarding GGZ, I believe the starting step is really the KReversi effort you guys are doing
[Tue Jan 9 2007] [17:30:25] yup, dimsuz wanted to help so I hope I can soon give him some better material
[Tue Jan 9 2007] [17:30:36] Join [ksudoku]Josel has joined this channel (n=blackeag@pD9EE0BEE.dip0.t-ipconnect.de).
[Tue Jan 9 2007] [17:32:39] Quit [ksudoku]Josel has left this server (Client Quit).
[Tue Jan 9 2007] [17:32:42] Well, I think we covered the agenda...
[Tue Jan 9 2007] [17:33:11] pretty much so
[Tue Jan 9 2007] [17:33:49] K, I am signing off then. We should do a proper meeting in February, don't you think?

Monday, December 11, 2006

Shisen-Sho

During the past week I worked on separating tileset and background handling from KMahjongg into a new library in the kdegames module (libkmahjongg.)
The goal was to make it possible to reuse this code on KShisen, and possibly other games that might need to render standard mahjongg tiles in the future.

There is still work to do, but the first results of this effort are now in SVN, and KShisen for KDE4 is already using the new shared code.

Here is a screenshot showing the KDE3 version:

Below you can see two different SVG tilesets for KDE4. The first was contributed by Robert Buchholz, and improves on the classic style used in KDE3:

And here we have KShisen using the new KMahjongg tileset, contributed by Raquel Ravanini:

Hope you guys like it. As a side effect of this effort rendering speed has also improved substantially during the last couple of weeks, due to incremental changes and optimizations. Game window resizing (including SVG recalculation) in KShisen now redraws in more or less the same time that it took the KDE3 version to draw the PNG-based theme. Cool.

Thursday, November 30, 2006

Vista for free?

Not kde or kdegames related, but interesting. If you live in the US you can apparently get a free copy of Windows Vista and a free copy of Office 2007, directly from Microsoft. You just have to submit yourself to some brainwas.. I mean... You just have to register and view 3 very interesting webcasts in 30 days, and the software is yours.

Details at

http://www.powertogether.com/

EDIT on 12/21: according to the site, the promotion has now ended.

Tuesday, November 28, 2006

Meeting time

We are trying to start a new tradition here, so if you are interested in kdegames please add to the agenda at http://wiki.kde.org/tiki-index.php?page=KDE+Games+IRC+meeting and join us this Friday!

Wednesday, November 08, 2006

kdegames, one week later


One week after our IRC meeting and we can already measure some interesting effects. Several applications are being worked on at the same time, johann is doing graphics like a madman, there is constant wiki and IRC activity, and some games have found new maintainers. We also provided status reports for inclusion in Danny's excellent commit-digest. This combined activity can also be observed in the huge number of commits to the module in the past seven days.

I am not a big fan of statistics on commits, because they do not always represent real improvements in code. There is the one file commit that take days of preparation and is the result of an extensive rewrite, or introduces a crucial new feature. And there are semi-automated commits that change a macro in 100 files. Of course, both are necessary for the project as a whole, I am just highlighting the fact that the volume of commits alone is not the best indicator to use to measure project activity.

After the disclaimer, I will use it to measure our project activity anyway, as we are looking good in the graphic :)

Above is this morning's graphic on EBN showing the activity per module. You can see that for the past seven days we only trailed 'tags' :) Damn tags...

Can anyone explain to me what is the tags module, btw?

Sunday, November 05, 2006

First kdegames monthly IRC meeting summary

A few days late, here is a brief summary of our kdegames meeting on IRC. Other people are working on a dot article as well, it should be available soon.

----------------------

The idea of a monthly IRC meeting to discuss kdegames was well received by the KDE community. The meeting started on time, Wednesday Nov 1st, 7PM UTC. There was about 25-30 people attending, including the majority of active kdegames maintainers, artists, new developers, translators and contributors in general.
We had a brief round of introductions and began to tackle the agenda. For reference it is still available at http://wiki.kde.org/tiki-index.php?page=KDE+Games+IRC+meeting .

The first topic discussed was the KDE Games Survey. Survey results are up (until Nov 15) at
http://www.surveymonkey.com/Report.asp?U=274837292751
Most people agreed that the game ratings were useful specially to identify which currently non-maintained applications we should prioritize for KDE4. So the question of finding active maintainers for some applications was raised, again. The ones who still do not have candidates and were mentioned specifically in the meeting are libkdegames, ksirtet, klickety, kfouleggs, kolf, atlantik, ksame, ksokoban and katomic.

During the meeting, we already identified people willing to step up and work on some of these applications. Dmitry Suzdalev is already working on katomic, so he volunteer to maintain it for KDE4. Johann Ollivier Lapeyre (from the Oxygen team) will team up with him and improve the graphics. Two days after the meeting there is already huge progress on several fronts, with screenshots and project status now maintained at http://wiki.kde.org/tiki-index.php?page=KDE%20Games%20SVG%20status

Paul Broadbent renewed his former proposal made on kde-games-devel, and is already looking at Kolf. He intends to work on it for KDE4, but is still evaluating the project to get familiar with the code. But there are still several unmaintained applications. If you want to consider maintaining one of them please email the kde-games-devel list. An updated list of maintainers can be found at
http://wiki.kde.org/tiki-index.php?page=KDE%20games%20maintainers .

The next issue was about removal of unmaintained games from the module. We also considered the removal of games that are starting to show their age and that were rated low in the survey. One proposal was to remove also duplicated functionality, and some mentioned KSame/Klickety as an example of this, which was not agreed by others. The discussion proceeded for some time, but it was clear that we would not reach a consensus on this. The survey results regarding this topic are also divided.

As a way to deal with this issue, we discussed what was tentatively called the "kdegames guidelines for KDE4", a loose set of rules specifying what we are looking for in games that will be part of the KDE4 distribution. Following the results of the survey, we agreed on some basic minimal topics:

-Scalable windows and graphics (preferrably SVG based)
-Theme support
-Usability improvements
-Some form of network support (where applicable)

We also agreed to form a review team for kdegames with some of the more experienced contributors, formed by Albert, Pino, Stephan and Johann. The plan is not to tackle the issue of removing games right now, but to re-visit this topic in 3 to 4 months. This gives us more time to find maintainers or contributors that can bring current applications to the level of polish we need for KDE4. There is plenty of time for this, but if no one steps up to maintain an applications, and if it is not polished to a level consistent with the rest of the KDE4 artwork (think Oxygen-quality), then the review team may consider removing it from the main kdegames module before KDE4 is released.

For the same reasons, the proposal to move some games from kdeedu to kdegames is on-hold. There is really not much difference to the end user where the applications are inside the SVN tree, the important point is to make sure these are grouped using freedesktop.org standard .desktop categories, which will end up grouping blinKen, KHangMan, KTuberling and Kanagram anyway under the GAMES/KIDS category. It was noted that the games in kdeedu all have active maintainers, so they are in better shape than some in the kdegames module. Colaboration is needed, but we already have developers working on both modules actively.

Following the agenda, we then discussed the inclusion of new games in the package. Initial candidates are Kisrk, Kboard, ksudoku and kbilliards. Kisrk and Kboard are already in SVN (playground.) We will invite the developers of ksudoku and kbilliards to join the module. We will follow the KDE procedure for inclusion of new applications, with a move to kdereview before games are accepted into kdegames.

There was discussion on the issue of using custom widgets for games. The general consensus was that we do not want to create a new widget set just for games, and will generally use what KDE offers in terms of dialog boxes, toolbars and other widgets. But the in-game GUI do not have to follow this rule, developers are free to use what is more appropriate for buttons, text areas and other control elements. A good example is blinKen. The in-game elements should preferrably be themeable as well.

It was suggested that all games for KDE4 ship with at least one Oxygen-like theme, for visual consistency. Johann is already working on this and has checked in a suggestion for KWin4 as a start. Other games that are already being revamped following the "kdegames guidelines for KDE4" are KMahjongg, Kpat and KReversi.

All in all, a very satisfactory result, considering it was a first meeting, and the chaotic nature of IRC communication. In the end we agreed to repeat the meeting experience next month. Scheduled time will be announced via kde-games-devel, and wiki.kde.org.

Saturday, October 28, 2006

KDE Games IRC Meeting

The KDE Games survey is in its final days, we are going to close it after the weekend. We have over 400 respondants so far, which is amazing consider that it was not widely announced. The plan is to close it on Monday, digest the results and post them to wiki.kde.org.

If you are interested in helping with KDE Games please consider attending our meeting next Wednesday, November 1st, where we are planning to discuss the results of the survey. This is going to be the first IRC meeting for the kdegames project, an experience that might (or might not!) be repeated monthly, depending on the results we get.

More information about the IRC meeting and the proposed agenda can be found at http://wiki.kde.org/tiki-index.php?page=KDE+Games+IRC+meeting .

Thursday, October 19, 2006

kdegames survey

During the last aKademy we identified the need to conduct a survey about the current state of applications in the kdegames module, and also to collect suggestions for games in KDE4.

The kdegames survey now is open, click here to contribute. It is a short survey, 10 questions only.

The purpose of this survey is to rate the current state of kdegames as perceived by the user community. This will help us prioritize the needs to find new maintainers and contributors during the transition to KDE4, accept new applications and improve the current ones.

Please spread the link to other KDE-related lists, including regional ones.

Thursday, September 28, 2006

aKademy report

AKademy 2006 is going pretty well. I met lots of people already, and there are still three more days ahead. The artist guys working on Oxygen are doing an amazing work. And they are actually very interested in the changes I have been contributing to kdegames. Thanks David, Ken and Johann for the nice words!
We are now setting up things in a way that makes it possible for them to contribute more directly. Johann will probably be the first, as he said he will probably work a bit on the recently commited KReversi art as his first kdegames project.
I had already worked on the chips, and yesterday (before the lab closed!) I uploaded a new board to SVN, in order to have scaling support. Dmitry was very fast and today we already had everything working and integrated, with only a few alignment issues still ahead. Check out and build KDE4 from SVN if you want to see it live: there is a full reorganization of menus and play options as well.
If you do not have access to SVN, then here are the screenshots of the old KReversi, and the new KDE4 SVG version. Go Dmitry.


Wednesday, September 20, 2006

KReversi rewrite

Dmitry Suzdalev has been working on a KReversi rewrite for a couple of weeks, and the results have been recently merged to the KDE4 trunk. There were several goals with the rewrite, including (but not limited to!) the revamp of the UI, chips animation and artwork.

The previous version used png pre-rendered versions of the chips, with the default being the red/blue version. I redrawn the chips in Inkscape, so the art is now entirely vector based. Well, not *entirely yet*, but it will be, after we update the backgrounds :) Gladly I had the original raytraced versions as a reference, but recreating the light effects with layers of gradients was not exactly easy to achieve! I am very satisfied with the results, though. You can see below how the new chips look side-by-side with the older version:




I also worked on an enhanced version of the black and white chips, shown below. The original ones did not have enough contrast, they were just an unsaturated version of the default red/blue ones.



The black and white chips will probably be the default in KReversi for KDE4, according to Dmitry (and following a suggestion by Inge.) I never heard about red and blue reversi chips anyway :)

As for code changes, Dmitry is adjusting the difficulty levels, among other enhancements to how the game plays, specially for beginners. The move list pane is now optional, and can be hidden to free up space. Under the hood the code was ported to Qt4 and the drawing routines are now using the new QGraphicsView framework. If you have suggestions for KReversi please build the game from SVN, send your comments, and I will forward them to Dmitry. Or post to kde-games-devel.

Sunday, September 17, 2006

aKademy 2006 KDEGames session

Topics suggested for the discussion are listed in the wiki page here. If you do not want to add to the wiki, send your suggestion as a comment and I will compile a list for the session.

Friday, September 15, 2006

LodeRunner

Most of the work i am doing in KGoldrunner for KDE4 is still hidden from the user. I have ported it initially from KDE3 QCanvas to use the new QGraphicsView architecture. After a couple of weeks, it became apparent that QGV architecture is probably not a good fit for the requirements we had for this game. Today I commited a new version, built with a lighter canvas replacement, from KBoard (kboard.sourceforge.net.) Performance is excellent, and I thank Maurizio Monge for convincing me to give it a try :) Code is already in SVN, and with this the initial port for KDE4 is finally complete. BTW, Maurizio just got SVN commit rights, and we have big plans involving KBoard and this light canvas class for the near future :)

But back to KGoldRunner: now we can (finally!) start working on improvements that are visible to the user! Ian Wadham is KGoldRunner´s current maintainer, and he has great ideas about new features. One of the plans is to add the option of "modern" graphics to the engine, while still maintaining the retro look, among several other minor improvements and new levels.

But recently I realized that most people ditch KGoldRunner without even trying to play it because they believe the graphics are of poor quality. This is true specially for the newer audience, since they have not been exposed to KGoldRunner´s inspiration, the original LodeRunner. I guess we have to do something to address this situation.

If you do not know what LodeRunner was, it was probably one of the most influential titles in the history of computer games. Wikipedia comes to the rescue:

http://en.wikipedia.org/wiki/Loderunner

If you have not played LodeRunner, give KGoldRunner a try. The mouse control might seem non-intuitive during the first 30 seconds, but follow the tutorials, and you will be having fun in no time.

In other news, KMahjongg is progressing slowly, but I plan to devote a lot of time to it during aKademy. Also, Dimtry Suzdalev has reimplemented most of KReversi, and the SVN version is already using small SVG tiles, contributed by me. But more on this tomorrow...

Saturday, August 26, 2006

kdegames

I guess I needed a blog in order to post reports on my progress working with the kdegames team, so here it is.
First, a little bit about myself. I live in Brazil, and have been working with software and games at Tabuleiro , a company I started with Raquel Ravanini in 1994. We also produce commercial middleware for multimedia and game developers since 1996, and I have worked in a couple of open source projects on the past couple of years, on sourceforge.

During this time I have followed the development of KDE closely. I also attended the FISL conference for the past 4 years, and GDC since 1999, building experience and knowledge about FLOSS and the gaming industry at the same time.

Well, I decided that helping with the development of FLOSS projects is the path I want to take next. The success of FLOSS, and KDE specially, is even more essential in developing countries like Brazil, and fortunately I have some spare time and energy to contribute to this goal. And after 3 years of experimentation in our commercial products, my Qt skills are probably decent enough to begin hacking the kde code "officially", so I offered to help with kdegames coding for the KDE4 release.

My first self-assignment was to help with the port of KGoldrunner to the new QGraphicsView architecture. This is going well, and the major portions have already been done. Thanks go to Ian Wadham and Dmitry Suzdalev, who helped me a lot during this initial phase, and TT for the support in qt4-preview-feedback. It is sometimes difficult to work with pre-release software, but Andreas Aardal Hanssen has been extremely helpful. Hopefully our experiences with the kdegames ports would also help refine QGraphicsView before it goes final.

Two weeks ago I decided to begin an overhaul of KMahjongg, one of my favorite kde games, and Raquel Ravanini donated her vectorial tileset graphics to the project. Then Albert kindly asked me to step up as KMahjongg's maintainer, so there is no turning back now :)