client released with GGZ 0.0.14. Also, additional games might be ported.

+

−

In KDE 4.1, better core client integration is also planned. This might

+

−

include embedded core clients (i.e. games can connect to GGZ servers

+

−

on their own), a port of KGGZ to KDE 4, and GGZ integration with Jabber

+

−

including some Kopete widgets related to online gaming.

+

−

The KGGZ port, currently dubbed KGGZ-ng, has some information available

+

−

[http://svn.ggzgamingzone.org/trac.cgi/browser/trunk/playground/ggz-kde4/kggz-ng here]. You can already enjoy the work on individual widgets such as [http://us.ggzgamingzone.org/~josef/playerlist.png player list] and [http://us.ggzgamingzone.org/~josef/roomslist.png the list of available rooms].

Configuración

While KDE 3-based development of GGZ games requires the ggzmod library, i.e. programming in C, KDE 4 has kggzmod/kggznet/kggzgames (collectively referred to as libkggz*) and thus the libraries and all games using it will compile without any further dependencies.
In order to be able to play the games from an online gaming client (the so-called GGZ core clients such as KGGZ), the game client still needs to be registered with the central GGZ game modules registry. The tool ggz-config, which is part of the ggz-client-libs package, is needed for this task. Most distributions ship it as part of a ggzcore-bin package or similar.
The file module.dsc contains meta information about the game, such as its
author, UI library/environment it runs in and where its executable is located. The two important values are which protocol it uses and which version of the protocol.

ProtocolEngine=TicTacToe
ProtocolVersion=2

If and only if those two match the values of the game server, this game client
will be offered to players! More information about this file can be found in the ggz-config readme file and in the GGZ game development guide (which contains a lot more information and should really be printed out if you want to develop for GGZ).

Desarrollo

Adding GGZ support to KDE games is not hard at all. There are three libraries for different tasks: kggzmod which handles all GGZ-specific events and requests, kggznet that you can use for networking (but don't have to), and kggzgames for GUI integration with GGZ components.

In addition, kggzdmod for Qt4-based GGZ game server development is available as an experimental library.

Please consider re-using existing protocols for equal or similar games. The three places to look at are: KDE Games, GNOME Games, and the games shipped by the GGZ project in their various packages. On http://www.ggzgamingzone.org/engines/ there is a list of all known GGZ games.

For the time being, have a look at the API docs of kggzmod,
kggznet and
kggzgames, which are all part of libkdegames.

A number of tutorials were sent to the kde-games-devel list, providing additional information on top of the API docs.

Consejos

Instalación paralela

Since for developers both the installed KDE and GGZ versions might differ from the system-wide installation, there are a few issues to consider. First of all, they need to be installed into different directories. The reason is that both do not use versioned includes, and GGZ's ggz-kde-* packages are still based on KDE 3. Here's a typical development setup (a receipe, so to speak), you might want to adapt it.