[Adium-devl] [Gaim-devel] Gaim integration with gnome-games

David Smith catfish.man at gmail.com
Tue May 30 17:29:52 UTC 2006


On May 30, 2006, at 10:14 AM, Colin Barrett wrote:

> On May 30, 2006, at 6:49 AM, Andreas Røsdal wrote:
>
>> Luke Schierer wrote:
>>> On Tue, May 30, 2006 at 09:40:23AM -0500, Richard Laager wrote:
>>>
>>>> On Tue, 2006-05-30 at 10:21 +0200, Andreas Røsdal wrote:
>>>>
>>>>> I'm wondering if there would be any interest in implementing
>>>>> support for launching network games from Gaim? Gnome-games has
>>>>> network games (gnibbles and iagno, and more planned), and it
>>>>> would be very convenient for users to be able to launch network
>>>>> games directly from Gaim. On Windows, this is already supported
>>>>> using MSN Messenger launching minesweeper network games.  Could
>>>>> the current plugin system for Gaim support something like this?
>>>>>
>>>> Almost surely. If not, we can add hooks as necessary.
>>>>
>>>> Richard
>>>>
>>>>
>>>
>>> I am not opposed to this, but I'd rather it be a plugin than in gaim
>>> proper.
>>>
>> Do you have any pointers about implementing such a plugin? So far
>> I've found: http://gaim.sourceforge.net/api/c-howto.html
>>
>> To start a network game using Gaim, it would have to:
>> -Find the IP address of another user which also has Gaim.
>> -When the users wants to play a network game, launch the correct
>> game (eg. gnibbles),
>> and give information to gnibbles about either starting a new
>> network game, or connect to an existing game.
>>
>> I don't think there is a need for a gnome-games specific plugin,
>> all that is needed is a general plugin for Gaim which
>> can negotiate which game to start, and pass the appropriate
>> parameters to the executable to the game knows which
>> IP address to connect to.
>
> There was an effort done by some Adium contributors and developers to
> create a similar protocol. I'm ccing the Adium Dev list this message
> in the hopes that  they can provide you with some help and possibly
> interop(?)

	Hi folks. I was one of the developers on the project Colin  
mentioned. Our architecture was significantly different from the  
proposed one, though, in both good and bad ways:

The primary difference is that all communication took place via IMs,  
with the game plugin hiding game-related IMs from the user. Upside:  
easy NAT traversal. Downsides: Rate limiting is evil, and IMs aren't  
suitable for anything vaguely realtime.

If I were going to redesign it, it would consist of two, or maybe  
three, parts:
1) a presence API along the lines of Galago that games could plug  
into to provide their own in-game lists (why on earth are things like  
battle.net not integrated with IM buddy lists?)
2) a client plugin that would launch games and provide an IP address  
(as mentioned here)
3 (maybe) ) an API for communicating over Jingle streams or something  
like them for games to use

												David Smith



More information about the devel mailing list