Ruleset URI

HomePage | RecentChanges | Preferences | Upload

Every Volity ruleset has both an informal name which we humans know it by, and a globally unique ruleset URI that the Volity system uses whenever it needs to make an internal reference to that ruleset. For example, the ruleset we refer to in human language as rock, paper, scissors is known to the Volity system as http://volity.org/games/rps. All ruleset URIs must be perfectly compliant with [Internet RFC-2396], the standard URI syntax rules.

As with URIs found throughout the world of Internet protocols, each ruleset URI serves multiple functions.

Ruleset URIs in game records

Ruleset URIs are also a key component of game records, indicating the type of game that the rest of the record describes. However, because table configuration can change what rules are active at a given table, effectively making the game played there slighty different. When preparing a game record, the referee acknowledges this difference by appending a query string to the recorded ruleset URI, holding one or more key/value pairs for every configuration variable that the ruleset defines. The ruleset also defines the syntax for each part of the query string.

So, to continue the above example, the game record of an RPS game that allowed ties but was a best-of-three contest would claim a URI of http://volity.org/games/rps?no_ties=0&best_of=3.

Since URIs get compared string-wise, the referee will have to maintain a canonical order of key/value pairs.


HomePage | RecentChanges | Preferences | Upload
Obtain editing permission | View other revisions
Last edited June 5, 2005 1:50 am by Andrew Plotkin (diff)
Search: