[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