[Kde-games-devel] KsirK and Jabber
Matthew Woehlke
mw_triad at users.sourceforge.net
Tue Sep 16 19:22:34 CEST 2008
Richard Hartmann wrote:
> On Mon, Sep 15, 2008 at 22:04, Kleag wrote:
> You need two rooms for each game. One for talking and one for data exchange.
> Otherwise, you would need to filter out certain messages and use them for
> game data exchange.
"DATA: <data>"
"CHAT: Hey, are you going to play, or what?"
...seems like pretty easy filtering. Of course, someone watching with a
raw Jabber client will see extra junk, but is that a problem?
> Another thing I see as a potential problem is that it would be very easy
> for kiddies to disrupt games other people play. Fire up your Jabber client
> and spam everyone. The entry barrier is a lot lower than with a seperate
> protocol.
I don't get it... wouldn't you simply ignore messages from non-players?
> Also, this setup does not allow for a central data source. If the 'host'
> quits, the whole game will stop (unless you have fall-over provisions).
> Without a central, neutral component, cheating is very easy. I can just
> modify my local client to have two extra buttons: 'throw sixes in attack'
> and 'trump the attack for defense throw'.
There's probably some inspiration to be had here from the DOOM engine...
modem play worked because the game engine used a synchronized PRNG, so
that the world behaved the same way on all clients without needing a
central server to determine what a particular entity was doing, since
the synchronized PRNG made that process deterministic.
I think you could avoid cheating by building a similar, synchronized
PRNG into ksirk. Trade seeds at the start, and each client can determine
for itself the result of any random query. If they disagree, someone's
doing something "hinky". At best, you might get a slight advantage
forcing a particular seed, but that's easily avoided by creating the
seed from a combination of inputs from all players. (One honest player
keeps everyone honest; and two or more dishonest players will tend to
neutralize each other.)
--
Matthew
There's no place like ~. -- Unknown
More information about the kde-games-devel
mailing list