Introduction
Ontology aims at sharing of common knowledge or understanding of any information structure in a domain among group of people which allows them to: reuse domain knowledge, make explicit assumptions on the domain, distinguish between domain and operational knowledge and perform analysis (Iancu & Georgescu, 2018). It acts as a common vocabulary for the group that requires to share every sort of information in domain. For example, many different web sites holds information on Foods and beverages. If all of these websites share all their underlying ontology of terms in use, these can help many agents to collect these information and aggregate them and utilize them in answering queries and feed them into other applications. There are many growing industries that require vast amount of domain knowledge to help their developers in better solutions to their domain problems. One such industry is the Video game industry which has witnessed a drastic surge due to the growth of digital distribution channels such as Google play store and Steam 1 and growth of mobile games (Gualeni, 2014). The video game industry has gained significant growth after the introduction of the games like Candy Crush Saga and Angry Birds. It has become a popular sort of entertainment for all age groups and all type of people. As per a study, the video game market has witnessed a boost of 100 billion US dollars in the year 2018 (Gregersen, 2014). This paper would develop ontology to collect and add knowledge in video game’s field. With the help of developed ontology can create a better experience for the player by bringing the semantic model of knowledge on video games closer to reality.
Domain Ontology
Our aim in the development of ontology on video games is to enable the game developers connect games together and provide new benefits to the users as well as game companies, such as increasing the engagement of players in the game and providing new gaming options to the players on the basis of previous games played by them. It has become crucial requirement in today’s evolving video game industry that there should be interoperability among different video games. However, only small number of games that too in an ad-hoc manner has achieved this interoperability to exchange information between games, but there still lacks general solution of the interoperability between them. With the exchange of information related to game between two games can allow player to make use of items that are common between these games and can be passed from one game to another. These can also be used in adding levels to be accessed in the games which can be unlocked when the players achieve a given target in the first game, or even provide access to a whole new game to the player. This approach would provide the game companies with the power to exchange players from one game to another through hyperlinks to visit other games. Through this hyperlinking the developers can develop immersive gaming experience for the players and help with the marketplace visibility problem. The ontology that we will develop would enable mapping of items, events and characters between games. This ontology would have twofold benefit. Firstly the knowledge of behaviour of player can be captured deeply. Currently this information is gathered using traditional approaches. Second benefit is that same model can be used to represent relevant statistics and metadata from different games and would provide more unified and user-friendly experience of exchanging data between games (Gregersen, 2014). The connected experience through this ontology would significantly reduce the barriers in the development of new paradigms in for games and would improve interaction between human and computers.
The ontology aims to address interoperability issues among video games.
Snapshot of the Classes defined in Protégé tool, there are total 12 super classes are defined.
Below is the snapshot for the object properties are created. Here Domain and Range are also defined. In the below example for “has_playing_area” object property the domain is specified as “Game” and for the range “playing area” is specified. In the similar manner the other Object properties are defined along with their domain and range. In total 16 object properties are created.
Below is the snapshot for the data properties are created. Here Domain and Range are also defined. In the below example for “username” data property is shown and the domain is specified as “Player” and for the range “xsd:string” is specified. In the similar manner the other data properties are defined along with their domain and range. In total 6 object properties are created. For the date time data object the range is selected as “xsd:datetime”.
Example SPARQL Queries
RDF stands for Resource Description Framework and it belongs to World Wide Web Consortium (W3C) family. It is consider as the specifications for the metadata of the data model. The RDF data model is based on the triples which has subject–predicate–object structure. So subject is about the resource, the predicate is about the traits of the resource and it expresses the relationship between the object and subject.
SPARQL is consider as recursive acronym, the term SPARQL means Protocol and RDF Query Language. The SPARQL current version is 1.1.Hence data stored in RDF can be queried with the help of SPARQL query language.
Similar to SQL, SPARQL has select statement which gets the data from the data set and also similar to SQL we can specify the subset with the select. Also SPARQL consists of WHERE clause which make use of graph pattern to get the matched results from the data set. The graph pattern in the WHERE clause of SPARQL has the subject, Predicate and object triple and they are used to get the match from the data. In the select statement needs to specify the variable ?name which needs to be returned.
Simple example of SPARQL:
PREFIX plant: <http://www.example.com/plants>
FROM <http://www.example.com/plantsdata/plants.rdf>
SELECT ?name WHERE {
?planttype plant:planttype ?name.
}
ORDER BY ?name
Here in the query it is specified query data set with FROM (http://www.example.com/plantsdata/plants.rdf), then the variable is specified in the select statement (?name) and in WHERE clause the Planttype is specified and results are ordered by ?name
Simple SPARQL written for the domain of Video Game (which is defined in the section 2).
Query to get all the achievements made by players in the game.
SELECT ?achievement
{
?achievement isAchievementInGame <Game>
<Player> ownsAchievement ?achievement
}
Second query to list number of purchases made by player in the game:
SELECT count(?event) As ?purchase ?name ?location
where{
?event vgo:InAppPurchaseEvent
?event vgo:isEventInGame <Target Game URL>
? player vgo:livesIn ?location
?player foaf:name ?name
}
System
The Ontology and SPARQL are designed in the above sections, the user interface is informed by uploading the OWL file (ontology file on the domain). The OWL file contains the complete details of the class, Object and Relationship. This file is utilized as the dataset to run the SPARQL queries and to fetch the data.
Here in this assignment, the ontology is created and same is used (for example) in three video games and this make use of same context and interface which has interoperability between the games. For instance if the player receives the reward in particular game and similarly receives the achievements in other games then through the link present on the user interface the player can loads the benefits in the game which he/she wants to. This feature is enabled between the games due to same ontology. This ontology can be used to query to the get the profile of the people and the type of games they are playing. This Ontology enables to get the complex data as well and to query the required results. This ontology can also be user to analyse the player information and to understand what type of games certain player likes to play and to understand the number of fans of particular franchises. In this way the ontology is utilized on user interface side. In this way the User Interface and Ontology is integrated and make use of the information where it is needed.
Conclusion
Generally it is challenging to link multiple games together and make them interoperable. The general ad-hoc solutions that are available for interoperability today has a being issue that it cannot be scaled to a large number of existing games and also the developers would require to put lot of efforts in the format of data exchange. The ontology that we have proposed in this document is an attempt to create a standard of interoperability between video games that is more generalized. With the help of the ontology the developer can annotate the information of video game so that the information between different games can be exchanged at the same time the statistical knowledge of behaviour of player can be collected. With the help of video game ontology can open new doors of experience in the realm of Human-Computer interaction through exchange of knowledge and content of player behaviour. Carrying decisions of player from one game to other would enable immersive gameplay experience. This would bring both new possibilities as well as challenges for the developers.
In Ontology the domain of video game is explored and selected because this domain is the one which can again and again reused, hence this domain is selected. The ontology of one game is reusable in the other, so ontology is defined as generic features and similarly the data properties and object properties are defined.
In SPARQL, the focus was to understand the queries and how to select the data, hence the ontology and SPARQL are linked in the later phase.
References
Gregersen, A. (2014). Generic structures, generic experiences: A cognitive experientialist approach to video game analysis. Philosophy & Technology, 27(2), 159-175. doi:http://dx.doi.org/10.1007/s13347-013-0125-8
Gualeni, S. (2014). Augmented ontologies or how to philosophize with a digital hammer. Philosophy & Technology, 27(2), 177-199. doi:http://dx.doi.org/10.1007/s13347-013-0123-x
Jett, J., Sacchi, S., Lee, J. H., & Clarke, R. I. (2016). A conceptual model for video games and interactive media. Journal of the Association for Information Science and Technology, 67(3), 505. Retrieved from https://search.proquest.com/docview/1766808378?accountid=30552
Iancu, B., & Georgescu, T. M. (2018). Saving large semantic data in cloud: A survey of the main DBaaS solutions. Informatica Economica, 22(1), 5-16. doi:http://dx.doi.org/10.12948/issn14531305/22.1.2018.01
Popa, R. C., Pavaloiu, B., & Goga, N. (2019). Providing semantically-enabled information for SmES knowledge workers: Multi-agent-based middleware. Bucharest: “Carol I” National Defence University. doi:http://dx.doi.org/10.12753/2066-026X-19-046
Mosca, A., Palmonari, M., & Sartori, F. (2009). An upper-level functional design ontology to support knowledge management in SME-based E-manufacturing of mechanical products. The Knowledge Engineering Review, 24(3), 265-285. doi:http://dx.doi.org/10.1017/S0269888909990063