The document describes a game ontology created to classify games. The ontology has six main classes: game characters, entity manipulation, interface, objectives, rules, and types. It also defines properties like camera type and input devices. The ontology allows for classifying individuals, like characters from specific games, and performing queries to prevent erroneous classifications.
1. Game Ontology
Bogdan Țicău - bogdan.ticau@infoiasi.ro
Marius-Andrei Cureleț - marius.curelet@infoiasi.ro
Computer Science Faculty, ”Al. I. Cuza” University of Iasi
Software Systems Engineering specialization
1 The need for a Game Ontology
In the past couple of years we have witnessed the emergence of a very large
number electronic games, with different and often interleaving characteristics that
lead to difficulties in categorizing them. What characters, input/output device, rules,
entities, objectives describes every game can be challenging for someone who wants
to know what game type they are seeing. A formal approach is needed so that a game
type can be recognized, possibly automatically, from a game review, description.
A big problem in thoroughly categorizing an electronic game is technology
which has evolved a lot in the past years and is making very hard to define in abstract
the type. Now lots of graphics mask the logic and flow behind the game, so we need
to define the basics that make an electronic game, from all points of view, paying
attention to the depth of the abstraction.
Some game genres can be sometimes hard to distinguish as they contain
similar characteristics and only after several reviews can be surely classified, also
there are games that have some part that is from one genre and another part from
another genre.
We created a game ontology that accounts for all of these problems and
resolves them, each game having certain characteristics that describe it and that can
be classified as a specific type.
The main issue that had to be resolved was defining the relationships between
the classes that we determined to be relevant in the process of describing a game
genre. Whether or not these properties’ connections in terms of game description
translated into disjoint classes in the ontology was the basis of our workflow.
The end result had to allow very precise queries to be performed on our
ontology so that no erroneous classifications would emerge.
2. 2
2 Game Ontology Structure
The ontology we created has six classes: Game Characters, Game Entity
Manipulation, Game Interface, Game Objectives, Game Rules, Game Types. We used
Protégé 4.0 to design the ontology and the code presented is generated by it.
Game characters represent the characters in the game, playable or not,
fictional or historically accurate.
Game entity manipulation are the ways someone can manipulate entities of
any kind in the game. Actions that a player can make in the game can be simple, like
collide, remove, rotate, or compound that involve more than one simple action, like
transport resources.
Game interface contains the input that a game takes and what it outputs, the
presentation of a game. Input devices and input method are subclasses of input and
input method contains the number of entities that can be manipulated and the
manipulation method, direct or indirect. The presentation class refers to how the game
shows itself to the player: game world cardinality, the software and hardware behind
the presentation of the game world.
Game objectives contain ways to measure the progress in a game, what to do
and by whom.
Game rules represent the constraints of the game on the player and on the
game world, how things work, what is allowed and not allowed, basically what
happens in a situation.
Game types contain the actual genres of electronic games: Action, Board,
Puzzle, Role-Playing, Shooter, Simulator, Strategy and their appropriate sub-genres.
We also created object properties:
─ hasCameraType that is applied for a game type with a certain camera
positioning;
─ hasCharacter says that a game has a certain character;
─ hasCharacterType states that a game has a certain type of character;
─ hasInputDevice states that a game has an input device;
─ isCharacterFrom that is applied for a certain character that is from a certain
game, it is inverse with hasCharacter;
─ hasGameplayRules says that rules a game has;
─ hasTimeSegmentation tells what kind of time flow a game has;
─ hasPointOfView represents the point of view(POV) in a game;
3. Game Ontology 3
Besides properties we also created individuals, characters and game types,
fictional or historically accurate characters and games from different genres. We
also created some queries to show the different properties and relations between
these individuals.
3 Game ontology
The full code of the ontology is located in GameOntology.owl, in the
following section we present only a few classes, properties, individuals.
<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY owl2xml "http://www.w3.org/2006/12/owl2-
xml#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-
schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-
syntax-ns#" >]>
<rdf:RDF
xmlns="http://www.semanticweb.org/ontologies/2010/0/Gam
eOntology.owl#"
xml:base="http://www.semanticweb.org/ontologies/2010/0/
GameOntology.owl"
xmlns:owl2xml="http://www.w3.org/2006/12/owl2-
xml#"
xmlns:GameOntology="http://www.semanticweb.org/ontologi
es/2010/0/GameOntology.owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-
syntax-ns#"
<owl:Ontology rdf:about=""/>
<!--
13. Game Ontology 13
<!--
http://www.semanticweb.org/ontologies/2010/0/GameOntolo
gy.owl#Half_Life_-_Episode_2 -->
<owl:Thing rdf:about="#Half_Life_-_Episode_2">
<rdf:type
rdf:resource="#First_Person_Shooter"/>
</owl:Thing>
<!--
http://www.semanticweb.org/ontologies/2010/0/GameOntolo
gy.owl#Jake_Sully -->
<Fictional rdf:about="#Jake_Sully">
<rdf:type rdf:resource="&owl;Thing"/>
<isCharacterFrom
rdf:resource="#Avatar_:_The_Game"/>
</Fictional>
4 Game ontology queries
The result will be all the individuals from Shooter class (all games of type
Shooter) that have a Mouse for the Input Device. This is a characteristic for First
Person Shooter games and so the query will return all the games of this type.
14. 14
The result will be all the Characters that belong to a type of game that has
First Person Point of View. This characteristic is specific for adventure type games, so
the query will return characters from the games Prototype, Avatar and Half Life:
Episode 2, Alex Mercer and Jake Sully.
The result will be all the Characters that belong to a type of game that offers
the possibility to the gamer of moving his character and to detect collisions with other
objects. These features are specific to adventure type games and the query will return
the characters from the games Prototype and Avatar, Alex Mercer and Jake Sully.
The result will be all the games whose Objectives can be completed through
Score and Time. This is a characteristic for Real Time Strategy games, the query will
return games of this type, Command and Conquer: Red Alert 3.