[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[pygame] Re: game lobby



I've moved this to pygame-users as I think perhaps it's more appropriate
here.

I've lost my notes from my previous project, but I'll see what I can
remember.

I'm gonna use game(project) to refer to the software (ie Freeciv, PyDDR,
Civil) and game(instance) to refer to a game that someone has started
and is actively running

I'll summarize the project requirements:

1) Server advertises game (instance) availability
2) Client views all availabilities
3) Client select & connects to a game (instance)

IMHO, the best measure of success for a lobby would be the number of
games (project) that can use the lobby.  The way to accomplish this is
to make it as easy as humanly possible to use the lobby.

Here's my big idea.  What if, at one extreme, the game(project)
developer didn't have to add ANY lines of code to be supported by the
lobby?  I'm envisioning the lobby as an http server that is accessible
either natively in the game client, or simply via the web through a
browser.

In the simplest case, to advertise a game (instance), the user would go
to a web page and fill in a form describing it.  That info would be
listed on another page, where players could click on a hyperlink which
would launch the game client and connect to the server.

In a slightly more integrated case, the game client itself would get the
list over http, parse & present it.

Another level of integration would require the game server to itself
contact the server & advertise itself.

One of the big benefits of this plan is that we can ride on the back of
apache or another http server, and only have to code the 'advertisement
manager'.

In the first version, only a simple message is required to be sent
around.  Just something that would have game, version, ip, port,
description.

My thoughts,
sjbrown

On Thu, 2003-03-20 at 11:30, Sami Hangaslammi wrote:
> Oh! A game lobby sounds like an excellent side project. It would be really
> cool if we could make a generic lobby software that could be easily
> extended to support games that include a lobby-client module. The
> lobby-client might even become a part of the pygame distribution(?).
> 
> Maybe the lobby server wouldn't even have to know any details about the 
> games (sort of like Kali), so you could match up games that are not 
> directly supported. For games that the server knows about, there might be 
> some extra convenience features, though.
> 
> Twisted would fit into the lobby project really well, in my opinion. I've 
> done some client/server programming with it and would be happy to help in 
> any way. I'm not sure how much time we will have for the lobby project 
> during the 8-week project, though. Maybe we should only include direct-ip 
> connection in the 1.0 version of the 8-week game and do the lobby as a 
> separate project afterwards?
> 
> --
> Sami Hangaslammi
-- 
+-------------------------------------------------------------+
| Shandy Brown                               Digital Thinkery |
| shandy@geeky.net             http://www.digitalthinkery.com |
+-------------------------------------------------------------+