<<O>>  Difference Topic GPAPILobbyOperations (r1.2 - 23 Aug 2008 - Home.michal)

META TOPICPARENT APIDraft

Lobby Operators

Line: 29 to 29

Lobby.jpg

Deleted:
<
<

Development Plan

Main Goals

The goal of the Lobby Development is initially to support Hidden Path with the development of the PC version of the Dance game. The main idea is to provide a set of server side routines to the GPAPI to allow users of multi-player games to pick who they want to play with. An example program in C++ will also be provided to show how to use the toolset.

Lobby features

We plan on having a Lobby that has a reasonable number of common features; we will add new features to it as particular games need them. Some features that we plan on building into the initial version:

  • Different session types per game. The games themselves will be able to define session types; these types will have descriptions and different play mechanics that are defined by the game. Users will be able to pick from sessions with the type that they prefer.
  • Session information. A game will be able to define the maximum and minimum number of players for a particular session. To keep players of the same level playing against each other, sessions can have an optional minimum and maximum player level.
  • Getting session information. Information about particular sessions will be sent to the client so the client can display this information, as well as provide sorted views. Such information will include: Session type, number of players joined, minimum and maximum number of players, starting time and wager amount.
  • Creating new sessions: Sessions are created automatically to make sure players always have a session to play. Users can also optionally start their own session; in these sessions the players can control who will join and when the game will start.
  • Session start: A session will start either when the maximum number of players have entered, or the minimum number of players entered and the start time passes.
  • Search for Friends: The API will allow people to see if any of their friends are in sessions that are open to join.
  • Session information: All of the information about a session will be available to the client.
  • A user will also be able to leave a session that hasn’t started yet.
  • Users will be able to set wagers levels for sessions that they have created.

Development Plan

  • Build a skinable web page to allow a generic way to create and join games using the Lobby API.

Back to the APIDraft

META FILEATTACHMENT Lobby.jpg attr="h" comment="" date="1193876714" path="Lobby.jpg" size="77313" user="michal" version="1.1"
 <<O>>  Difference Topic GPAPILobbyOperations (r1.1 - 01 Nov 2007 - Home.michal)
Line: 1 to 1
Added:
>
>
META TOPICPARENT APIDraft

Lobby Operators

The lobby operators are designed to allow users of multi-player games to create and join sessions of games in which they want to play. The commands are designed to allow predefined session types as well as allow game defined session types. Some session types include: Wager, N Player Session and N to M Player Session. If not enough sessions are available then the lobby code will automatically create sessions that people will be able to join.

Command Description Reference
DELETE /Lobby/ServerSessions Used to delete expired or completed server created sessions. Delete Server Sessions
DELETE /Lobby/Session Allows the user to leave a session that they joined. Leave Session
DELETE /Lobby/SessionAccept Clears all accept flags for all users in a session. Delete Session Accept
DELETE /Lobby/SessionRemoveUser Allows the session creator to remove users from their session. Remove User
GET /Lobby/Sessions Returns a list of available game sessions to join. Get Sessions
GET /Lobby/SessionStart Returns whether or not a particular session has started. Get Session Start
GET /Lobby/SessionUsers Returns an array of users who have joined a session. Get Session Users
GET /Lobby/UserSession Returns the sessionNo of the session the user is currently in if the user is in a session. Get User Session
PUT /Lobby/AwardSessionWager Awards the winner of a wager game session the wager for that session. Award Session Wager
PUT /Lobby/EditSession Allows the session creator to edit a session they created. Edit Session
PUT /Lobby/JoinSession Allows the user to try and join a session of a game. Join Session
PUT /Lobby/LogJoinLobby Used to create a log when a user logs on to the lobby. Log Join Lobby
PUT /Lobby/NewSession Allows the user to start a new game session. New Session
PUT /Lobby/SessionAccept Toggles the accept flag for a user in a session. Put Session Accept
PUT /Lobby/SessionReset Reset a started user created session to waiting. Reset Session

User Flow

Example of the user flow with the lobby commands.

Lobby.jpg

Development Plan

Main Goals

The goal of the Lobby Development is initially to support Hidden Path with the development of the PC version of the Dance game. The main idea is to provide a set of server side routines to the GPAPI to allow users of multi-player games to pick who they want to play with. An example program in C++ will also be provided to show how to use the toolset.

Lobby features

We plan on having a Lobby that has a reasonable number of common features; we will add new features to it as particular games need them. Some features that we plan on building into the initial version:

  • Different session types per game. The games themselves will be able to define session types; these types will have descriptions and different play mechanics that are defined by the game. Users will be able to pick from sessions with the type that they prefer.
  • Session information. A game will be able to define the maximum and minimum number of players for a particular session. To keep players of the same level playing against each other, sessions can have an optional minimum and maximum player level.
  • Getting session information. Information about particular sessions will be sent to the client so the client can display this information, as well as provide sorted views. Such information will include: Session type, number of players joined, minimum and maximum number of players, starting time and wager amount.
  • Creating new sessions: Sessions are created automatically to make sure players always have a session to play. Users can also optionally start their own session; in these sessions the players can control who will join and when the game will start.
  • Session start: A session will start either when the maximum number of players have entered, or the minimum number of players entered and the start time passes.
  • Search for Friends: The API will allow people to see if any of their friends are in sessions that are open to join.
  • Session information: All of the information about a session will be available to the client.
  • A user will also be able to leave a session that hasn’t started yet.
  • Users will be able to set wagers levels for sessions that they have created.

Development Plan

  • Build a skinable web page to allow a generic way to create and join games using the Lobby API.

Back to the APIDraft

META FILEATTACHMENT Lobby.jpg attr="h" comment="" date="1193876714" path="Lobby.jpg" size="77313" user="michal" version="1.1"
Revision r1.1 - 01 Nov 2007 - 09:22 - Home.michal
Revision r1.2 - 23 Aug 2008 - 01:07 - Home.michal