Game Taxonomy

I think I've been getting way ahead of myself with previous drafts. The goal here is simply to index a list of games. Here's the simplest approach.

Here is an approach taken by a games archive (really starting at page 9.) We could incorporate such an approach as it relates to classifying games, but below we are dealing with the more narrow identification of a game.

This document is in flux and will most certainly change over time.

General Structure

A game's classification will adhere to the following structure:

index = root-category , [sub-category]* ;
root-category = only-alphanum , [permitted-chars]* ;
sub-category = separator root-category ;
separator = ":" ;
only-alphnum = ( lowercase | digit ) ;
permitted-chars = ( lowercase | digit | special-chars ) ;
lowercase = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" ;
digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
special-chars = "-" | "_" ;

or, as a regular expression:

index =~ /^[a-z0-9][a-z0-9\-]*(\:([a-z0-9][a-z0-9\-]*))*$/

Ideas

Here we will build a hierarchy that we can discuss and modify. First, here's a suggested schema.

game family (if applicable)
  |
  |-- name of the specific game
    |
    |-- name of the variant if it is directly related (this can occur multiple times)
      |
      |-- designer/publisher

Game Family

This would include large-scale classes of games. Ideas include:

  • Chess
  • Mancala
  • Draughts

We could possibly include here too:

  • Icehouse
  • Piecepack

Game Name

This would obviously be the name of the game in some readable, but abbreviated, format. For games with a family (eg. chess), this is where the specific variant would be noted (eg. fischer or courier). National differentiations I do not believe belong here. Things like chess.japanese should be avoided. Instead shogi should have it's own category.

Variant

This will probably not be used that often except for much larger game families. If a game has further variants that greatly impact the game's definition, then they should be added here at the end.

Designer/Publisher

We shall include the last name of the designer (preferred) or publisher to insure no naming conflicts. In the case where such information is unavailable, and there is still a conflict, we shall use some pre-determined string of characters to be discussed further.

Discussion

Rich HutnikRich Hutnik, 2010/02/05 02:40

Swap designer and variant in here. Only reason I see to include designer is to differentiate between two games with the same name.

Rich HutnikRich Hutnik, 2010/02/05 03:29

Another question: Where do we stick the Mancala family (And stacking games) and also games in the Tafl family where one side is trying to escape, while the other side is trying to block the escape from happening?

And then there are games with multiple goals. How do we quantify those?

Aaron DaltonAaron Dalton, 2010/02/05 10:37

Designer is where it is because games with the same name are rarely the same game at all. They very likely won't share any variants. The variant name is more specific. The designer name is completely omitted for most games.

Most mancala games I know of are elimination games (either your own or your opponent's pieces). So it would be “elimination:mancala:diffusion” for example.

Most stacking games I have played are either race or territory games. Focus or Avalam Bitaka are territory games (territory:avalam). Mark Steere's Liger would be a race game, though.

Initially I thought of tafl as a race game. Maybe for tafl games we need a new victory condition called “escape”? Most games in this category would be of unequal forces.

I don't think number of players has any place, except *maybe* as a variant, and only if the number of players essentially creates a new game. Same for time control in Blitz chess. The game report will tell us what the time control for a specific game was. But Blitz Chess is still Blitz Chess, regardless of the time control. Classification systems need to find a balance between too general and too specific.

Rich HutnikRich Hutnik, 2010/02/08 02:18

Are you also going to have a designer of a variant listed after the main game?

Tafl is an unique game in that one side is trying to breakthrough/escape and the other side is trying to stop them from doing it.

In regards to time control, what I saw NACA run with chess is they have G30 and G60 time limit (30 and 60 minutes) games and players were evaluated on each different time. While the games are fundamentally the same, they are rated differently. This is akin to sprint racing where while sprinting is the same, 100 and 200 meters are different events.

We also have a case where a main game designer is unknown, but the variant designer is, consider the likes of Chess960.

Chess is: Royalelimination:chess:

But Chess960 is? Royalelimination:chess:chess960:Fisher.

Would :: be appropriate in some cases? Like in the case of say Grand Chess is different than normal chess: Royalelimination:grandchess::Freeling

I know you likely put Grand Chess under Chess, but I was reaching for this as an example. This approach would allow a game itself to have an author/creator, and also account for the variant to have the Author/Creator.

Aaron DaltonAaron Dalton, 2010/02/08 13:32

I personally would prefer not to use proper names unless necessary. I'm pretty sure elimination:chess:960, or elimination:chess:grand are quite sufficient on their own. Full information on a given game can of course be provided in the full database entry. The only purpose of the index is to uniquely identify any given game in the list. It should consist of no more nor no less information than absolutely necessary to achieve that goal. To that end, I could just as easily drop the victory conditions part of the index. mancala:diffusion is just fine with me.

I'm not sure I fully understand the :: semantics you're proposing.

I have to say, as I'm thinking about all this, the library scientist inside of me is wondering if an alphanumeric library-of-congress/dewey-decimal-esque approach might be more feasible to allow maximum scalability. The programmer inside of me, though, would still prefer human-readable. I will ponder a little more.

Rich HutnikRich Hutnik, 2010/02/08 14:49

I had pondered awhile when I was working on the database of games in IAGO, for facilitating the clubhouse. That is why I went with the very large number, as an INDEX. I was thinking maybe we can have an alphanumeric index and also a taxonomy entry for things.

By going with a simple index entry now, we can go with name, and then alpha-numeric entry for any duplication, so that we can handle more than one game with the same name, and not have to get a committee to agree to out taxonomy.

The :: semantic would be for the case where you are identifying who the author of a game is, and differentiating it from the author of the variant. Like, say you had Hex, Abstract:Connection:Hex::Nash

If there was a variant to Hex, it would be: Abstract:Connection:Hex:HexVariant:DesignerOfHexVariantName

In this notation, you can have a field blank, showing that the game is not a variant.

And I go with Abstract there so that we can propose something all of boardgaming can use. If all of boardgaming adopts this, it facilitates infrastructure getting in place, because it has broad-based appeal.

Rich HutnikRich Hutnik, 2010/02/08 20:47

How about this?

How about you have: Name of Game:Year Game was Created:Index number (starting with 1)?

Year Game was Created would be 0 if date is unknown or is Year zero AD or before.

We have issues of unresolved categorization I have concern will be a tar pit we won't be able to get out of.

 
/home/html/iago/HTML/wiki/data/pages/taxonomy.txt · Last modified: 2010/02/08 20:13 by aaron
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki