You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdegames/libksirtet/lib
tpearson 838baf3f99
TQt4 port kdegames
14 years ago
..
CHANGELOG Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
LICENSE Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
Makefile.am Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
README Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
TODO Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
defines.cpp TQt4 port kdegames 14 years ago
defines.h TQt4 port kdegames 14 years ago
internal.cpp TQt4 port kdegames 14 years ago
internal.h TQt4 port kdegames 14 years ago
keys.cpp TQt4 port kdegames 14 years ago
keys.h TQt4 port kdegames 14 years ago
libksirtet_export.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
meeting.cpp TQt4 port kdegames 14 years ago
meeting.h TQt4 port kdegames 14 years ago
miscui.cpp TQt4 port kdegames 14 years ago
miscui.h TQt4 port kdegames 14 years ago
mp_board.h TQt4 port kdegames 14 years ago
mp_interface.cpp TQt4 port kdegames 14 years ago
mp_interface.h TQt4 port kdegames 14 years ago
mp_option.h TQt4 port kdegames 14 years ago
mp_simple_board.cpp Trinity Qt initial conversion 14 years ago
mp_simple_board.h TQt4 port kdegames 14 years ago
mp_simple_interface.cpp TQt4 port kdegames 14 years ago
mp_simple_interface.h TQt4 port kdegames 14 years ago
mp_simple_types.cpp TQt4 port kdegames 14 years ago
mp_simple_types.h Trinity Qt initial conversion 14 years ago
pline.cpp TQt4 port kdegames 14 years ago
pline.h TQt4 port kdegames 14 years ago
smanager.cpp TQt4 port kdegames 14 years ago
smanager.h TQt4 port kdegames 14 years ago
socket.cpp TQt4 port kdegames 14 years ago
socket.h TQt4 port kdegames 14 years ago
types.cpp TQt4 port kdegames 14 years ago
types.h TQt4 port kdegames 14 years ago
version.h Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
wizard.cpp TQt4 port kdegames 14 years ago
wizard.h TQt4 port kdegames 14 years ago

README

kdemultiplayers library
-----------------------
Copyright (c) 1998-2000 Nicolas HADACEK (hadacek@kde.org)
Distributed under the GNU Library General Public License

Introduction
------------
The "kdemultiplayers" library is an attempt to address the realization of
multiplayer games localy on a computer (the players have each a "board" on
the screen and they use the same keyboard) or/and by network (between several
computers). The implementation is not so simple but this library gives
a basic API which allows a lot of flexibility.

Note: The headers which defines the API have names beginning with "mp".

The library provides three services :
  * a set of dialog widgets to allow the players to configure/create/join
    a game.
  * management of all the sending/receiving data between
    player boards so you as a game programmer will *not* have to deal with
	sockets or network programming.
  * a framework for simple multiplayers game (for instance ksirtet) with a
    very simple API ("mp_simple" headers).

Semantics
---------
"player" : an individual which take part in the game (it can also be an AI).
"AI"     : artificial intelligence (a game that is played by a program).
"board"  : there is one board per player ; it is the widget where the player
           acts in the game.
"host"   : a computer which hosts one or several players.
"server" : the host that has created the game.
"client" : a host that is not the server.


Basic description of the API
----------------------------
From the game programmer point of view there should be no difference between
a local multiplayers game (one host with several players) and a network game
(several hosts with one or more players).

Each player has a board which is a widget inherited from the class "LocalBoard"
(see "mp_board.h").

On each host there must be a class inherited from "MPInterface"
which manages local boards and the data transport with other hosts.
(see "mp_interface.h").

During the game at given intervals of time, the server asks data from clients
and from its local boards. After treating this data, the server dispatches back
results to all boards.

General advice
--------------
There should be no blocking operation or long computation as it will freeze
the user front-end and will also block the multiplayers data exchanges
which operate by timer signals.

There are general rules to avoid such blocking :
 * answer to X/QT events such as keyboard/mouse/window events with
   short methods.
 * use timer(s) to make things evolve in time or to break long
   computation in shorter parts.