The ''GGZ Gaming Zone'' offers a complete free infrastructure for online games. It has always provided some sort of KDE integration, however starting from KDE 4.0, this integration will be available out of the box from the KDE Games Library (libkdegames).

The ''GGZ Gaming Zone'' offers a complete free infrastructure for online games. It has always provided some sort of KDE integration, however starting from KDE 4.0, this integration will be available out of the box from the KDE Games Library (libkdegames).

The GGZ Gaming Zone offers a complete free infrastructure for online games. It has always provided some sort of KDE integration, however starting from KDE 4.0, this integration will be available out of the box from the KDE Games Library (libkdegames).

Status

In the time up to the KDE 4.0 release, most of the groundwork was laid
which makes GGZ development based on KDE libraries possible. Three
libraries (kggzmod, kggzgames, kggznet) have been written and some
CMake macros were also created. See
API docs.

KDE 4.0 will ship with KReversi and KBattleship which both provide a GGZ
networking mode which gets activated when launching the games from a
GGZ core client. KReversi running on GGZ leads to GGZ's own
KReversi being renamed to
KGGZReversi,
something that was planned for a long time.
Both will use the GGZ Reversi server. For KBattleship, a dedicated
server named
Submarine
was written in Python and is available in GGZ SVN.

KDE 4.1 shall add KSquares, which is compatible with GGZ's Connect the Dots
server (patch already exists). KWin4 support is also planned. It would
therefore supersede the KDE3-based KConnectX
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.

Setup

While KDE 3-based development of GGZ games requires the ggzmod library,
KDE 4 has kggzmod 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 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). 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.

Development

See the tutorials linked above. There is not that much new information right now. Join #kdegames on irc.kde.org and ask if you want to help. If you're
seriously interested in helping out, please bring up the ideas on the
kde-games-devel mailing list.