At last week's meeting my research colleagues conveyed that they are having a hard time visualizing the application I am describing, mainly because they are not gamers. My hope is that if we move forward with this, the application will be usable and useful for all types of people - both gamer and nongamer. The point is that there is probably a type of game out there for almost everyone, but the barriers to finding such games to play hurts both the developers and the gamers.
After discussing my progress thus far with the team, our faculty mentor suggested that my next course of action should be first finding an existing data set for games in order to populate the application. Next, I should determine if there exists already an ontology for games.
Databases
A simple search yielded several databases.
I read through many of the threads in the developer and API forums for all of these databases, and especially those of TheGamesDB and Giant Bomb. It appears that TheGamesDB experiences frequent outages, which is a major reason why people use Giant Bomb. However, if we are storing all the information in our own database, we would only need to pull once and then check back periodically for new entries. Thus, if the subsequent pulls fail it would not be a huge issue. Giant Bomb seems like it has a lot more documentation and, again, functionality, but it is a lot more difficult to use. We need to request an API key to access the data (I tried to sign up for an account for more than a half an hour but was encountering technical difficulties) and then write code to get at the data. I also noticed a stipulation in the documentation for the API - search results limited to 100 per page? We would need to write a crawler to go through and make the API requests for us repeatedly to get all of the information.
Ontologies
There are several bits and pieces of ontologies I found:
I feel that I need more support from my industry mentor to further explore the existing ontology elements to determine what work would need to be done by us. A lot of my searching resulted in papers on the ontology of games in the semantic rather than the computing sense; coming up with a set of terms to describe elements of games because they have historically lacked a descriptive academic framework. Further direction from my industry mentor would be helpful here.
After discussing my progress thus far with the team, our faculty mentor suggested that my next course of action should be first finding an existing data set for games in order to populate the application. Next, I should determine if there exists already an ontology for games.
Databases
A simple search yielded several databases.
- TheGamesDB, a database with more than 23,000 games. We can use the API to retrieve a list of games by platform, and for each game we can retrieve its title, release date, platform, overview description, ESRB rating, genre, number of players, whether it is co-op, publisher, developer, rating, and a variety of art assets like physical game cover and fan art. The data is returned in XML format. As an example, here is a list of all NES games using the API.
- MobyGames, a database with nearly 90,000 games. Unfortunately, based on the searching I did it appears that you can't access the site programmatically. In other words, they don't want to share their data.
- SPOnG, a database with over 50,000 games. Unfortunately, according to their license, content extracted from SPOnG may not be used to construct any kind of online database.
- Giant Bomb, a database with nearly 45,000 games. Giant Bomb has a huge variety of metadata about games, including lists of characters, items, accessories... the list goes on. It is certainly the most comprehensive I have seen thus far, although I doubt we will need all that data. It seems as though using their API you can pull all this information, although I do have questions about the limitations on how much you can pull at once. Here is a tutorial that explains how to get at the data.
I read through many of the threads in the developer and API forums for all of these databases, and especially those of TheGamesDB and Giant Bomb. It appears that TheGamesDB experiences frequent outages, which is a major reason why people use Giant Bomb. However, if we are storing all the information in our own database, we would only need to pull once and then check back periodically for new entries. Thus, if the subsequent pulls fail it would not be a huge issue. Giant Bomb seems like it has a lot more documentation and, again, functionality, but it is a lot more difficult to use. We need to request an API key to access the data (I tried to sign up for an account for more than a half an hour but was encountering technical difficulties) and then write code to get at the data. I also noticed a stipulation in the documentation for the API - search results limited to 100 per page? We would need to write a crawler to go through and make the API requests for us repeatedly to get all of the information.
Ontologies
There are several bits and pieces of ontologies I found:
- It looks like DBpedia, a crowd-sourced community effort to extract structured information from Wikipedia, has some elements of a video game ontology in place. In DBpedia, Class video game is a subclass of software. Instances of this class, like 007: License to Kill has attributes like release date, publisher, platform, genre, mode, and more. There are already thousands of games within this ontology.
- There is a project called the Game Ontology Project, a "a framework for describing, analyzing and studying games. It is a hierarchy of concepts abstracted from an analysis of many specific games" (source). However, as you might have noticed by clicking the initial link provided - it doesn't exist! I am assuming that it did at one point, as demonstrated by this paper, but did not have continued support and was hence dismantled. The paper provides some useful concepts and information but we will not find any more use here.
- The Digital Game Ontology, as described in this paper, is a project that uses the framework of the Music Ontology Project, concepts from the Game Ontology Project (above), and editorial data from DBpedia (above). It was constructed by OWL-DL and Apache Protege. I am not sure how to find the actual ontology elements, as some extensive searching revealed nothing useful.
I feel that I need more support from my industry mentor to further explore the existing ontology elements to determine what work would need to be done by us. A lot of my searching resulted in papers on the ontology of games in the semantic rather than the computing sense; coming up with a set of terms to describe elements of games because they have historically lacked a descriptive academic framework. Further direction from my industry mentor would be helpful here.