GGZ logo    GGZ Gaming Zone
Developer Area | GGZ Home Page

GGZ Libraries: | libggz | ggzcore | ggzmod | ggzdmod
GGZ Library ggzmod
The ggzmod library facilitates the messaging from and to a GGZ core client in a game client.

Interfaces to ggzmod
ggzmodLanguage: CLocation: ggz-client-libs/ggzmod/ggzmod.horiginal implementation
kggzmodLanguage: C++ (Qt)Location: kde-games/lib/kggzmodoriginal implementation
pyggzmodLanguage: PythonLocation: python/pyggzmodbased on ggzmod
ruggzmodLanguage: Ruby(Location: playground/ggz-ruby/ruggzmod)based on ggzmod

Description
With the help of ggzmod, game authors can use GGZ in their game clients. The library provides a state engine and an event dispatcher. The states can be for instance CREATED (right after game startup), PLAYING (in the middle of the game) or DONE (after the game has finished). Events include STATE (to inform about a new state), SERVER (to inform the game client about the connection to the game server), PLAYER (if a player or bot joins or leaves), SPECTATOR_SEAT (if a spectator joins or leaves), CHAT (if a table message is sent from one of the game participants), and STATS (if the statistics of a player change). The game host, aka the initiating player, can kick other players or replace them with bots using ggzmod functions. Note that there is a counterpart to ggzmod which is called ggzmod-ggz. It is attached to the ggzcore library and used by GGZ core clients. The ggzmod library depends on libggz.

As a special convenience for game client authors using the Pygame toolkit, pyggzmod provides a pygame overlay adapter which integrates perfectly with the pygame mainloop.

More information
You might want to start with the API documentation for ggzmod (C games) or the one for pyggzmod (Python games). Examples of usage include most game clients in the packages ggz-kde-games, ggz-gtk-games, ggz-sdl-games and ggz-python. It is however also used in tttxt (part of ggz-txt-client) and the guru games (part of ggz-grubby). The communication protocol between ggzmod and ggzcore-ggz is standardized in the client-client specification. Recommended documentation includes the Game Modules document and the list of features that GGZ provides, in the GGZ Features document.

International en | SVN | Mail | Bugs | FTP | Live | Community | WS API | Metaserver | Metacle | Distribution: pkg-ggz, ggz-mobile