11
SEGAP Semantic game platform Ana Florescu, Catalin Cristian, Ilie Pandaciuc, Oana Calin Faculty of Computer Science, UAIC, Iasi, November 2013 Keywords. wad, wade, segap, infoiasi, project, game, semantic 1 Why SEGAP? Abstract. In our days, technology tends to gain more and more space in our lives. We tend to reduce communications between “real people”, preferring to have a “virtual life”. Games have an important place in people's life. Some are used for relaxation, for boredom, to improve intelligence but for some, games are a way of life. Web browser games started to be more and more developed, competing with the classical ones. In some cases browser game are more advantaged because here where you don't need installation in order to play one. In order to improve the game experience based on the player behaviour, we will gather relevant information during the game that we are going to use in order to offer suggestion/tips regarding the playing strategy that should be adopted, the gamer activity will be monitored on all games that he will be playing , so a global classification for all the games could be done. Using specials ontologies, customised for the game purpose would facilitate the easily spread around the world for all the gamers community – talking in a common language. 1.1 State of the Art In our days, technology tends to gain more and more space in our lives. We tend to reduce communications between “real people”, preferring to have a “virtual life”. Games have an important place in people's life. Some are used for relaxation, for boredom, to improve intelligence but for some, games are a way of life. Web browser games started to be more and more developed, competing with the classical ones. In

Segap project(lncs)

Embed Size (px)

DESCRIPTION

Springer LNCS SEGAP Project Draft

Citation preview

Page 1: Segap project(lncs)

SEGAP

Semantic game platform

Ana Florescu, Catalin Cristian, Ilie Pandaciuc, Oana Calin

Faculty of Computer Science, UAIC, Iasi, November 2013

Keywords. wad, wade, segap, infoiasi, project, game, semantic

1 Why SEGAP?

Abstract. In our days, technology tends to gain more and more space in ourlives. We tend to reduce communications between “real people”, preferring tohave a “virtual life”. Games have an important place in people's life. Some are used for relaxation,for boredom, to improve intelligence but for some, games are a way of life.Web browser games started to be more and more developed, competing withthe classical ones. In some cases browser game are more advantaged becausehere where you don't need installation in order to play one.In order to improve the game experience based on the player behaviour, we willgather relevant information during the game that we are going to use in order tooffer suggestion/tips regarding the playing strategy that should be adopted, thegamer activity will be monitored on all games that he will be playing , so aglobal classification for all the games could be done.Using specials ontologies, customised for the game purpose would facilitate theeasily spread around the world for all the gamers community – talking in acommon language.

1.1 State of the Art

In our days, technology tends to gain more and more space in our lives. We tend toreduce communications between “real people”, preferring to have a “virtual life”.

Games have an important place in people's life. Some are used for relaxation, forboredom, to improve intelligence but for some, games are a way of life. Web browsergames started to be more and more developed, competing with the classical ones. In

Page 2: Segap project(lncs)

some cases browser game are more advantaged because here where you don't needinstallation in order to play one.

In order to improve the game experience based on the player behaviour, we willgather relevant information during the game that we are going to use in order to offersuggestion/tips regarding the playing strategy that should be adopted, the gameractivity will be monitored on all games that he will be playing , so a globalclassification for all the games could be done.

Using specials ontologies, customised for the game purpose would facilitate theeasily spread around the world for all the gamers community – talking in a commonlanguage.

1.2 What are we bringing?

Our approach will be focused on the player and on his work. We will providefeedback to the gamers, so they can improve their game and results in relation to othergamers, and help them find themselves opponents with similar skills.

We will offer a global view of the results and work done at every game for eachplayer. Each gamer will be able to see his work, his personal statistics : level, rewards,won/lost battles, time spent etc. After that he will be able to analyze his results andimprove his work on the game platform.

Also, based on the information collected about a user (player skills, played games,current game opponents, won/lost battles etc) the solution that we’ll provide will offergood tips/advices before and during a game.

Our approach is coming with a semantic opening on a game entities andparameters, by modelling with SPARQL queries and ontologies. Using thesetechnology we will be able to obtain complex relations between colected date, anddispaly more accurate and usefull infomation for players. Among the advantages ofusing RDF database and SPARQL query langauge there are: better queryperformance, data integration, ontology reuse and choosing features based on rationalreasons.

The SPARQL queries will help us to gather specific information from and for theplayer from our ontologies. We will be able to realise complex relations between thecollected data, and reveal useful information for the players.

We plan to collect information (position on the map, the weapons that he has,won/lost battles, player skills, actions etc) from a player during a game andretrieve/give him hints/suggestions, his position in the ranking, connection with otherplayers that might interest him (person from Iasi that plays Heroes on a specific land),help them find opponents with similar skills.

1.3 Scope

This project will meet the following objectives:

─ improve the experience that a player might have while playing a game;

2

Page 3: Segap project(lncs)

─ enlarge the social network for players by making possible the connection betweenpeople that share the same hobbies;

─ helps the player to make the best decision based on his previous behaviour and onhis current position in the game;

─ global review of the results and work done at every game for each player.

This project have the aim to improve the interactions between players when theyplay a game, and in the same time we use the advantages offered by SPARQL.

Using the data collected from the user, we can give relevant information to theplayer related to other players, or we can even give some hints in order to make iteasier for him to win.

2 Project concept

There will be three main types of resources available through RDF ontologies.The theme resources, that describe the thematic of a game and its contents such as

variables, actions, entities or conditions.A game resource is built on top of one or more templates and can use only action,

conditions, entities and variable templates that are present in the templates that itinherits.

Player resources represent the actual gamers that are using/playing games that builton themes.

Due to the fact that these themes are on top of any games, and, that a theme is aknown and established thing, SPARQL queries can be made in order to find certaininformation about an ongoing game or make statistics and provide recommendationsbased on the player history.

2.1 Theme

A theme or game theme represents the thematic of a game, a structures that definesthe baseline for a game. This is the base structure of the system. The traits definedhere can later be used for queries or as part of queries executed via SPARQL. Thebottom line is that a theme is the description (template) of a game genre or thematic.Following is a description of the basic entities that compose a theme.

2.2 Theme general information

Each game theme will have some general information facts that are not directlyrelated to the ontology structure but are relevant as presentation details for the theme.

Those details are as follows:- name- description- other information (such as tags or links)

3

Page 4: Segap project(lncs)

2.3 Theme Entities

This refers to a game entity, more specifically to an entity that is present only inthe current theme. An example of entity can be anything from a NPC to a building orsome other object.

2.4 Theme Variables

Variables are values that can be updated at the game client request during a matchor by the system on demand. Also there can be global parameters that can provideoverall information regarding a game. Variables can range from things like thenumber of wins or the number of lost games, some skill classification depending onthe game to the current position of the player on the map.

2.5 Theme Actions

The actions of a game theme describe what actually can be done inside the game,actions are the things that the player can do inside the game, the interaction with theenvironment, for example, jump over walls, train units for his army, hide, attackentity, etc. These are the actions that are specific for the current theme. These canvary from game theme from game theme.

2.6 Theme Conditions

A condition can check what is needed for a match to start or to end. These checksare mainly determined by the state of some already defined parameters such as anaction or the value of a variable. They can be done at request by the client or by thesystem at a specified time or triggered by some event.

4

Page 5: Segap project(lncs)

3 Game

The game is the actual content of the platform. This is what is being used. Thegame is derived from one or more themes and can only declare parameters that weredefined inside the themes it is based on. Players interact with games that in returninteract with them. The standard requirements for a game are described in this section.

3.1 Game general information

This is the standard game information that provides a basic overview andpresentation. It is not related to the game ontology structure directly, it is here only tobe used as a meaning to familiarize the players with the game and make a decision ifthey are going to play or not.

- name- developer- publisher- website- description

5

Page 6: Segap project(lncs)

- screenshots- videos

3.2 Game specific characteristics

These guidelines are specific to a certain game only depending on the game themeor themes:

- theme(s)- actions (build constructions, train units, attack, defend, upgrade, etc)- start conditions (location, resources, items, etc.)- win/loose end conditions (location, resources, items, unit destroyed, actions done,

etc)- entities

3.3 Game tips or advices

This type of information can be provided after evaluating some conditions at theclients request in game or outside the game. For example if the player has lost acertain amount of units in a strategy game he can be advised to create more of thoseunits to replace his lost ones. The tips are per game only. Each game must define itsown tips. In theory the tips are unique for each game.

4 Player

4.1 Player general information

This is the standard general player information that is being used in the system tohelp other players to find other players with related interests, region, etc:

- name- age- country- location (city, region, etc)- website/blog- social network information- e-mail- other details

4.2 Player Game related information

This is the information related to the player gaming experience, these parametersare distinct for every game. The games fill in this information during gameplay. Thisinformation is related to game parameters such as actions, conditions, variables andentities.

Awards can be provided to the player during or after special events.

6

Page 7: Segap project(lncs)

These are the parameters that a game client can send/retrieve updates about to/fromthe API depending on the game theme, here is an example:

- player skill- played games- wins/loses- current game parameters (player related information such as position, health,

inventory, units, etc)- current game opponents- overall game parameters (prefered region on a map, preferred weapon on a map,

etc)- overall game opponents

4.3 Other players related information

This is the information related to the player social interaction regarding the games:- friends- groups

5 Technology

This section describes the frameworks that will be use to implement SEGAP. Thetechnologies listed here offer backbone on which the system will be built from thedata persistence level to the WEB UI.

5.1 Jena

Apache Jena (or Jena in short) is a free and open source Java framework forbuilding semantic web and Linked Data applications. The framework is composed ofdifferent APIs interacting together to process RDF data.

7

Page 8: Segap project(lncs)

Apache Jena will help us with persisting the our ontologies through TDB, querythem with AQL and expose RDF endpoint through Fuseki.

5.2 SPRING

The SPRING Framework will be used in order to create, expose and secure theREST services present in the REST API.

Spring's web MVC framework is, like many other web MVC frameworks,request-driven, designed around a central Servlet that dispatches requests tocontrollers and offers other functionality that facilitates the development of webapplications.

8

Page 9: Segap project(lncs)

SPRING Security will help in securing our REST services from unwanted access. It will also interact with our web interface.

5.3 JSP

JavaServer Pages (also known as JSP) is a Java based technology specifically usedto help software developers serve dynamically generated web pages (such as HTMLand XML) as well as other document types pertinent to the development of interactiveweb content.

9

Page 10: Segap project(lncs)

5.4 OWL/RDF/SPARQL

“The Web Ontology Language (OWL) is a family of knowledge representationlanguages or ontology languages for authoring ontologies or knowledge bases. Thelanguages are characterised by formal semantics and RDF/XML-based serializationsfor the Semantic Web.”

“SPARQL (pronounced "sparkle", a recursive acronym for SPARQL Protocol andRDF Query Language) is an RDF query language, that is, a query language fordatabases, able to retrieve and manipulate data stored in Resource DescriptionFramework format.”

SPARQL will be used to query our ontology and provide input based on thosequeries.

5.5 HTML5/CSS3/RDFa/JavaScript/Ajax

HTML5 is a cooperation between the World Wide Web Consortium (W3C) andthe Web Hypertext Application Technology Working Group (WHATWG). HTML5 isdesigned to deliver almost everything you want to do online without requiringadditional plugins. It does everything from animation to apps, music to movies, andcan also be used to build complicated applications that run in your browser.

These technologies will be used at a presentation level to develop the web interfaceand also supply the user with information regarding various topics such as player toplayer interaction and current status and statistics.

6 Tools

These tools are being actively used to progress with the project. They are helpingus implement, track, model, visualize and test our SEGAP application.

Protégé: - is a free, open-source, widely used Java based ontology editor that haswell documented tutorials. We can use Protégé to build domain models andknowledge-base collections.

Graphviz - is open source graph visualization software. Graph visualization is away of representing structural information as diagrams of abstract graphs andnetworks. It is used inside Protégé as a plugin to draw the ontology graph.

ArgoUML - is the leading open source UML modeling tool and includes supportfor all standard UML 1.4 diagrams. It runs on any Java platform.

Google DOCS - Used as a common point to develop the project specifications.

NetBeans IDE - provides first-class comprehensive support for the newest Javatechnologies and latest Java specification enhancements before other IDEs. It is the

10

Page 11: Segap project(lncs)

first free IDE providing support for JDK 8 previews, JDK 7, Java EE 7 including itsrelated HTML5 enhancements, and JavaFX 2.

With its constantly improving Java Editor, many rich features and an extensiverange of tools, templates and samples, NetBeans IDE sets the standard for developingwith cutting edge technologies out of the box.

Mockingbird - is an online tool that makes it easy for you to create, link together,preview, and share mockups of your website or application.

7 References

1. http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/mvc.html 2. http://docs.spring.io/autorepo/docs/spring-security/3.0.x/reference/technical-overview.ht

ml3. http://en.wikipedia.org/wiki/Web_Ontology_Language 4. http://en.wikipedia.org/wiki/SPARQL 5. http://argouml.tigris.org/ 6. http://www.graphviz.org/ 7. https://netbeans.org/features/index.html 8. https://gomockingbird.com/

9. http://www.ee.ktu.lt/journal/2012/04/19__ISSN_1392-1215_A%20Methodology%20for %20Engineering%20OWL%202%20Ontologies%20in%20Practise%20Considering%20their%20Semantic%20Normalisation%20and%20Completeness.pdf

11