Idea: Open Gaming Portal / Lobby-System

Sven Pfaller kalterregen at gmx.net
Fri Apr 3 08:24:53 PDT 2009


Hello everyone!

Today I'd like to present you an idea concerning open and free games.
I've sent this mail to two lists:
 * Freedesktop Games: I guess it is _the_ list to talk about free games
 * GGZ: comes closest to the project idea

Some of you may have heard of the idea before as I was researching and
hanging around in your IRC channels (as Noya).

The last few days I was looking for an open game lobby system. I guess
most of you will know Steam, Gamespy, Windows-Live and others. It seems
as there is no real open alternative to those systems. Some place where
I can see running gameservers of serveral games, chat with my friends,
see what they are playing etc.

So, I created a draft of how such a system may look like and how it
could be implemented. I would really appreciate any comments, your
opinion and criticism. If you know of something that is like what I
describe below please point me to it. And don't worry about the length
of the mail, it doesn't take that long to read as it looks like ;) .

Thank you!
- Sven

Here the system is called "Open Gaming Portal". It can be seen as a
codename though :)

= OGP Server =

The OGP server acts as a so-called lobby-server. It lists running
gameservers along with some information like the number of players,
current map, game rules etc.

Overview of the OGP server and interaction with other components:
http://files.inrain.org/pub/ogp/client_server.png

The gameserver can update information about its current state via the
portal-server-protocol (see below). The gameclient can query lists of
running gameservers via the portal-client-protocol (see below).

A gameserver can be connected to multiple OGP servers (see "communities"
below). Of course a gameserver can run its own lobby-system in parallel
to the OGP server, if this is desired.

The OGP server has a user-database with registered users, storing
user-information (e.g. avatars) and the user's gaming statistics.
Furthermore it provides support for chatting and a friends-system.

= OGP Game Browser =

Even if it is possible for gameclients to list gameservers, it may be
more convinient to have a game browser that lists running gameservers
for all games (that the user owns / is interested in / are popular / etc.).

Overview of the OGP game browser and interaction with other components:
http://files.inrain.org/pub/ogp/game_browser.png

The game browser can be used to quickly launch games and gameservers and
also join running games. It could also act as some sort of game-center,
where the user sees all his installed games and maybe even could quickly
install new ones.

= OGP Communities =

An OGP community is a community that runs and hosts an OGP server. For
instance:

 * a game community:
   For example Battle for Wesnoth could have its own OGP server listing
only Battle for Wesnoth games.
 * a platform community:
   Platforms like Open Pandora (if it should ever happen ;) ) could have
their own OGP server with a user-database of Open Pandora users.
 * the "global" community

The "global" community is important here. It is an OGP server for all
free and open games out there. Even if a game uses its own OGP server,
it SHOULD also enlist itself on the "global" OGP server. This would
create a pretty decent assortment of free games that could (imho) easily
compete with proprietary counterpart services like Steam / Gamespy etc.

= Portal-Server-Protocol =

The portal-server-protocol has to support the following messages:

 * gameserver info
   name, number of players, map, ...
 * update gameserver info
   if a player joins, the map changes, ...

= Portal-Client-Protocol =

The portal-client-protocol has to support the following messages:

 * query gameservers
   game, filters for playercount, gametype, map, ...
 * update list of gameservers
   if a gameserver goes offline, gameserver info changes, ...
 * authentication
   registered or anonymous access
 * user registration
 * update user profile
   changing avatar, description, ...
 * chatting
 * manage friendslist
   add / remove friends
 * status of friends
   online / offline, what games are they playing, ...

= OGP API =

For game developers there is an API that wraps the client / server
protocols. The API is simple to use, small, leightweight, cross-platform
and has as few dependencies as possible. For easy language bindings it
is written in C.

= Benefits =

Why would the world need the system described above?

 * no duplicate effort for game-developers: use the existing
lobby-system instead of coding your own
 * an open standard for client-server-lobby communication
 * a platform for free and open multiplayer games (= "global" community)
   * game-developers get a wide audience of players
   * players get an extensive assortment of games
 * push the open source gaming scene: with a platform for multiplayer
games more developers could be attracted to create games and a greater
number of people could get to know great open source games
 * bring gaming to the linux-desktop: should something like a
game-center where you can manage your games and play them online
instantly find its way into linux distributions, linux would have
something on board that proprietary OSs (like for example Windows) don't
have

= Quick Overview of Existing Projects =

 * Steam, Gamespy, Windows-Live
   * proprietary
   * only selected games can use the offered service
 * HLSW, xqf
   * lists gameservers for some games using their respective
non-standard APIs
   * more LAN oriented
   * no user-database, no friends-system
 * GGZ
   * close to the idea of OGP
   * the GGZ server spawns gameservers: this is only suitable for
smaller games like card-games or a small number of gameservers

= Notes =

Even if most of the above is written in present tense, not a single line
of code is implemented yet. This is just a draft and there is certainly
much space for improvement!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
Url : http://lists.freedesktop.org/archives/games/attachments/20090403/cedd1e71/attachment.pgp 


More information about the Games mailing list