Complete.Org: Mailing Lists: Archives: freeciv-dev: June 2002:
[Freeciv-Dev] Re: Chat Functionality with Jabber
Home

[Freeciv-Dev] Re: Chat Functionality with Jabber

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: Chat Functionality with Jabber
From: Reinier Post <rp@xxxxxxxxxx>
Date: Tue, 11 Jun 2002 19:03:16 +0200

On Mon, Jun 10, 2002 at 11:07:38PM -0400, Adam Theo wrote:
> 
> Reinier Post wrote:

[...]

> > For chatting, Jabber looks like a very good idea.
> > For client/server gameplay, it probably isn't.
> 
> By client/server gameplay you mean the actual game data between clients, 

Freeciv is a client/server system.  There is no connection between clients.

> > Do they already "recognise" chess or some other game in this way?
> > I used to play chess on ICS and it had exact;ly the same problem
> > of mixing a fairly poor chat interface with generic game management
> > functions and chess-specific functions.  It would be nice to get the
> > chat functionality for free, and share the game management functions
> > with other games ias far as possible.  As far as the Jabber interface
> > is concerned, Freeciv should be equal to any other multiplayer game,
> > say, Risk or QUake.
> 
> Yes, games over Jabber are already starting up, and not just for the 
> chat functionality. Take a look at the Vista Jabber client by i3connect 
> [http://www.i3connect.com/vista.html]. It allows the users to play chess 
> and other games over the Jabber platform, by routing the gama data 
> instantly and reliably (and of course securely) between players.

Vista turns out to be trivial to install and configure, and it looks
great (fast!), but I don't have any "buddies" to try chess with.

Freeciv is real-time.  In online games several moves are transferred
per second.  The amount of info going the other way is bigger.
A lag of over 300ms kills the game.

Is chess in Vista playable with a timeout of half a second per turn?

> As long 
> as the game data is text-based and not in binary format, Jabber can do 
> it. Even the binary aspect will be soon solved in a matter of months, 

The Freeciv protocol is binary to save on transmission volume
and parsing overhead.  It's no big deal to convert it to XML
or whatever else as long as performance isn't hurt.

> Understood. One of the great things with using Jabber as I said before 
> is that there are already many libraries and developer tools to make 
> using Jabber a snap. Is FreeCiv primarily written in C? If so, then I'm 
> sure I can qiuckly find many good GPL'ed libraries and codebases to use.

It's all C.  Be sure to use libraries that run on all Unix variants,
Amiga, and Windows.

> Check out JECL [jecl.jabberstudio.org] and Jabberoo [jabberoo.sf.net] 
> for starters.

Both C++.  Freeciv would benefit from being in C++, but it isn't,

JECL requires Java (for Ant) to build.  I don't know if Amiga users
are quite prepared for that.  Jabberoo doesn't seem to exist yet.

> Also browse through www.jabbercentral.com and 
> www.jabberstudio.org (Note: browsing the CVS shows alot more projects 
> than are on the index page) for some other good Jabber projects.

Well, the search engine there is broken, and Google doesn't find
anything either.  But Googling for Jabber,chess gives a wealth of
hitrs.  The first is jtunnel.  That looks like a good starting point
for experiments with Freeciv Jabberization.

> Also, here's a quick list of client-side features that Jabber could 
> bring to FreeCiv:
> 
> * Ability for XHTML formatting, if you want it. And the good thing is, 
> *not* having XHTML doesn't have any of the bloat of the XHTML protocols, 
> if that makes any sense.

Protocols?

What would it format?  Chat messages?  Freeciv would like to have a
good online help function with (optionally?) HTML output.

> * Ability for IRC-style commands like /me and /topic, although you 
> should note these are strictly client-side issues, the protocol itself 
> doesn't get bogged down in extranneous things like this. But there are 
> plenty of clients that can provide good examples of how to impliment 
> these sorts of things.

Freeciv's chatline functionality has been kept very limited because
instead of adding chat fuinctionality feature by feature, it makes more
sense to interface with existing chat technology, like Jabber.

> * Soon, the ability for themeable, cross-client emoticons and "genicons" 
> in Jabber clients. Meaning emoticon graphics can be shared and traded by 
> users of different Jabber clients like WinAmp and XMMS skins 
> [www.theoretic.com/?Emoticons_And_Genicons]. If you want this sort of 
> thing....

I don't, but prospective Freeciv users may like to see it.
I don't think it is related to Freeciv though.

> * Non-chat commands can be easily added to FreeCiv by using Jabber's 
> X-Tag and X-Namespace extensions. This helps make FreeCiv future-proof, 
> so the developers don't have to seriously re-vamp part of the code base 
> everytime a major feature is added to the protocol. More time can be 
> dedicated to the code implimentation itself.

There are practically no Freeciv developers, so the overhead imposed
by Jabberization must be zero, except to the person doing it.

> If you can think of any other features or issues which FreeCiv might 
> like, tell me and I'll reply with whether Jabber can help or not.

A rating system like the one they use on ICS, that is, you'd get to
select players by their current rating and have the rating of
participants updated when a game finishes.  In the case of Freeciv,
the ratings database and update algorithm would be on a special
ratings server (that can speak Jabber).

-- 
Reinier


[Prev in Thread] Current Thread [Next in Thread]