Posted on Nov 23, 2017 | Rating

Player-centric rule-and-pattern-based adaptation asset

This asset creates events on finding rules or patterns in any metric of the player, which can be used for dynamic adaptation of the game.

Short non-technical description: The Player-centric rule-and-pattern-based adaptation asset uses metrics of player's performance, emotional status and/or playing style for a realization of dynamical adaptation of various game features such as an adaptation of player-driven game tasks and/or game assistance, dynamic adjustment of task difficulty, and/or adjustment of properties of audio-visual content and effects.

Technical description:

The asset can be used for realization of dynamical adaptation of various game features such as adaptation of player-driven game tasks and/or game assistance, dynamic adjustment of task difficulty, and/or adjustment of properties of audiovisual content and effects - all adapted according to metrics of player's performance, emotional status and/or playing style.
When starting, it receives registration of a player-centric metric together with simple formal definitions of rules and patterns of variation of this metric or its features such as mean, deviation and moving average within the desired time window. Next, it receives a time sequence of values of registered metric and checks it for an occurrence of the rule or the pattern defined for the metric or its feature. In a case of finding such an occurrence, the asset fires a triggering event about this rule or pattern and executes its event handler, which has to be defined by the game developer depending on his/her goal to adapt specific game feature(s).

Reported bugs will be fixed taking into account:

Detailed description: The asset initialization process includes four issues:

  • Registering player-centric metrics for monitoring whose variation is to be observed by the asset – metrics regarding player’s performance (knowledge and intellectual abilities), effective status (emotional experiences, feelings, and motivation) or about the playing style are to be registered by names chosen by the game developer by calling the registerMetric method selecting the metric features the developer is interested in. Features initially supported are mean, standard deviation and moving average for a predefined time window (can be changed by the game developer);
  • Setting adaptation triggering rules and patterns – one or more rules or patterns of change of an already defined metric or its feature are to be defined by using a simple but yet powerful syntax, by calling the observePatternRule method for setting rules/patterns. Every rule/pattern, when fired, triggers an adaptation event, which causes execution of the event handler specific for rule/pattern (one handler may be used for several riles/patterns);
  • Definition of adaptation event handlers – for each adaptation event triggered upon specific rule or pattern, a specific custom event handler will be executed upon the rule/pattern name, acting as adaptation method changing some game features about game mechanics, dynamics, and aesthetics. The custom event handler will overwrite the default eventHandler method (the default method does only reporting the event since it does not know anything about the game);
  • Setting the global time and the moving average time window at the asset – the game developer can set/reset the asset timer at any time in order to synchronize it to the game engine, as far as setting the moving average time window. Next, game metrics values can be sent to the asset by calling its method for receiving a metric value for given metric (specified by its name). If an occurrence of specific pattern/rule will be found, the asset automatically triggers the event and executes its event handler producing adaptation changes in the game desired for this pattern/rule. Therefore, no explicit output is produced by the asset. Patterns can be easily defined by the game developer for absolute or relative values of metrics or their features. As well, they can refer to absolute or relative moments of time. Using relative time vector means a cyclic loop starting at the first vector element. Example of sample definitions of patterns and rules can be the following lines:
  • Pattern example with absolute feature value using relative time moments after time t namely t 3000, t 6000 and t 9000 milliseconds:
    { name=”GSR mean pattern”, metric=”GSR”, feature=”average”, 
    time=”t  t 3000  t 6000  t 9000”, values=”16  20  24  20” }
  • Pattern example with relative value x of the moving average (GT stands for Greater Than, LT stands for Less Than) using absolute time (at the second, fifth and the tenth minute):
    { name=”Happy pattern”, metric=”happiness”, feature=”moving average”,
    time=”120000 300000 600000”, values=”x  GT(x 10)  LT(x-20)” }
  • Rule example for checking if the metric about quiz result is between 20 and 30 points between the third minute (after 180000 ms) and before the eighth minute (before 480000 ms):
    { name=”A quiz points rule”, metric=”Quiz result”, feature=”none”,
    time=”GT(180000) LT(480000)”, values=”GT(20) AND LT(30)” }

Date: Jan 17, 2017

Language: English

Access URL:






Personal skills
Other skills
Cognitive, intellectual and knowledge skills
Interpersonal skills
Computers in other domains Computer games
Education E-learning
Operations research Decision analysis
Component Personalisation

Related Articles

Real-Time Arousal Detection Using Galvanic Skin Response
Dessislava Vassileva, Boyan Bontchev, Rage project, Sofia University

Motivation-based Adaptation Component
TU Graz, Rage project, TU Graz, CSS

Competence-based Adaptation Component
TU Graz, Rage project, TU Graz, CSS

Adaptation and Assessment (TwoA) component
Enkhbold Nyamsuren, Rage project, Enkhbold Nyamsuren

Client Side Game Storage Asset
Rage project, Rage project, Open University of the Netherlands

Player Profiling Component
CSS/ISDS at TU Graz, Rage project, TU Graz