In this post, I describe my work in defining a service-oriented architecture (SOA) framework for serious games. It is a summary of the paper that was presented in the 15th IEEE International Conference on Advanced Learning Technologies (ICALT2015) in Hualien, Taiwan. This work received a best full paper award in the event.
If you are a serious game designer/developer and you are interested in this framework, please check our tutorial in the International Conference on Entertainment Computing (ICEC) in Trondheim, Norway, on September 29th, 2015.
My PhD research is dedicated to find ways to make the design and development of serious games cheaper and more accessible, while maintaining quality.
One solution we have been trying to implement is to encourage the use of service-oriented architectures (SOA) in serious games. SOA is widely used in software engineering, and it can also benefit serious games development by reducing costs and time to market, while at the same time allowing customization in a relatively easy and reconfigurable way.
A first step towards SOA for serious games was the SG Services Catalog, which is maintained by the Serious Games Society. There, developers can find a curated list of existing services that can be used to add functionalities to their games.
But it is still necessary to identify which would be the relevant and usable serious games elements and how to interconnect these elements in the game. In other words, if a group of serious game developers wants to take advantage of such services, where should they start? If developers want to develop services that can be used by different games, which services should they develop? Which interfaces should these services have to allow for a high degree of reusability?
In the paper, we used the ATMSG model as a starting point to identify candidate serious games components that could be developed as services. From ATMSG’s taxonomy of serious games elements, we collected a number of relevant items. The criteria for the selection were (a) relevance for the effectiveness of educational serious games, and (b) possibility of reuse across different games and learning domains, at least within the same game genre.
Once the relevant educational serious games components described in the ATMSG taxonomy were identified and collected, we regrouped them according to their domains and functionalities, so that we could identify the clusters of reusable components to be implemented as services in a SOA framework for serious games.
The functional domains
We identified eight functional domains, and for each domain we identified a list of candidate functionalities that could be implemented as services. These are shown in the figure below.
A complete description of these domains and services can be found in the paper (the author’s version is available in this site in the Research & publications page).