Pedro A. Gonzalez-Calero

Pedro A. Gonzalez-Calero
Complutense University of Madrid | UCM · Department of Software Engineering and Artificial Intelligence

PhD in Physics

About

146
Publications
28,927
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,854
Citations
Citations since 2016
13 Research Items
520 Citations
2016201720182019202020212022020406080
2016201720182019202020212022020406080
2016201720182019202020212022020406080
2016201720182019202020212022020406080

Publications

Publications (146)
Article
Game development has become a long process that requires many professionals working on a project during several months or years. With this scenario the re-utilization of resources is crucial not only to alleviate the process but also to bring coherence into the final product. In this paper we focus on the reuse of NPCs and the problems it brings ab...
Article
Artificial intelligence in games is typically used for creating player's opponents. Manual edition of intelligent behaviors for Non-Player Characters (NPCs) of games is a cumbersome task that needs experienced designers. Our research aims to assist designers in this task. Behaviours typically use recurring patterns, so that experience and reuse are...
Article
Component-based architecture is the software design of choice for most modern games and game engines, allowing for extensible and reusable software that easily adapts to changes in requirements. Nevertheless, designing a component-based architecture is not an easy achievement and some techniques have been previously proposed for the automatic gener...
Book
This book constitutes the refereed proceedings of the 20th IFIP TC 14 International Conference on Entertainment Computing, ICEC 2021, which was supposed to take place in Coimbra, Portugal, in November 2021. The 26 full papers, 13 short papers and 11 other papers presented were carefully reviewed and selected from 84 submissions. ICEC brings togethe...
Chapter
When developing educational games we face the problem of finding the right design for making the learning activities as intrinsic to the game mechanics as possible. Nevertheless, in many cases it is not possible to fully integrate the learning content into the game play, resulting in the well known “chocolate-covered broccoli” game design. The long...
Chapter
Full-text available
One of the most challenging goals in the game industry is to design games which are difficult enough to be a fun challenge but not so hard to provoke frustration among a wide range of different types of players. Dynamic difficulty adjustment (DDA) is a set of techniques used to customize the difficulty of a game according to the skill level of the...
Article
Programming by demonstration (PbD) has a straightforward application in the development of the artificial intelligence (AI) for non-player characters (NPCs) in a games: a game designer controls the NPC during a training session in the game, and thus demonstrates the expected behavior for that character in different situations. Afterwards, applying...
Conference Paper
Creating the behavior for non-player characters (NPCs) in video games is a complex task that requires the collaboration among programmers and game designers. Usually these game designers are responsible of configuring and fine tuning certain parameters of the behavior, while programmers write the actual code of those behaviors. That requires severa...
Conference Paper
Full-text available
One of the biggest challenges when designing videogames is to keep a player’s engagement. Designers try to adapt the game experience for each player defining different difficulty levels or even different sets of behaviors that the non-player characters will use depending on the player profile. It is possible to use different machine learning techni...
Conference Paper
Creating the behavior for non-player characters in video games is a complex task that requires the collaboration among programmers and game designers. Usually game designers are only allowed to change certain parameters of the behavior, while programmers write new code whenever the behavior intended by designers cannot be achieved by just parameter...
Conference Paper
Full-text available
Keeping a player within the flow in a game is a central goal for game designers, making the game neither too easy nor too hard. Dynamic Difficulty adjustment seeks to fulfill this goal by dynamically tuning difficulty according to player actions in the game. In this paper we demonstrate that case-based reasoning with time series can serve to automa...
Conference Paper
Full-text available
A game fun to play is the one that provides challenges to the players corresponding to their skills. Most of the games have different preconfigured difficulty levels, but they do not adjust the difficulty dynamically to the player skill. In this work, we explore the idea of creating clusters from previous game traces to capture different playing st...
Conference Paper
The design of the behavior of non-player characters (NPCs) in a game is a collaborative task between programmers and designers. Nevertheless this collaboration is an open problem since the limits, responsibilities and competences are not well defined. Behavior trees are the technology of choice nowadays for programming the behavior of NPCs, and the...
Article
Full-text available
Similarity assessment is a key operation in several areas of artificial intelligence. This paper focuses on measuring similarity in the context of Description Logics (DL), and specifically on similarity between individuals. The main contribution of this paper is a novel approach based on measuring similarity in the space of Conjunctive Queries, rat...
Article
Unity 3D is a widely used middleware for game development, primarily by small studies. In addition to the core technology, a number of extensions or add-ons have been created by third-party developers to provide additional functionality. Nevertheless, the support Unity 3D provides for building GUI for such add-ons is at a very low level, and for th...
Article
COLIBRI is an open source platform for the development of Case-based reasoning (CBR) systems. It supports the development of different families of specialized CBR systems: from Textual CBR to Knowledge Intensive applications. This chapter provides a functional description of the platform, its capabilities and tools. These features are illustrated w...
Article
Case-Based Reasoning (CBR) and software generation share a common conceptual model of reusing components to obtain new solutions. Based on this model, in this paper we describe a novel development process for generating CBR systems based on the idea of reusing previous system designs. Template-Based Design (TBD) is the most significant activity in...
Article
This paper describes the jcolibri2 framework for building Case-based reasoning (CBR) systems. CBR is a mature subfield of artificial intelligence based on the reuse of previous problem solutions–cases–to solve new ones. However, up until now, it lacked a reference toolkit for developing such systems. jcolibri2 aims to become that toolkit and to fos...
Conference Paper
Full-text available
Similarity assessment is a key operation in case-based reasoning and other areas of artificial intelligence. This paper focuses on measuring similarity in the context of Description Logics (DL), and specifically on similarity between individuals. The main contribution of this paper is a novel approach based on measuring similarity in the space of C...
Conference Paper
There is an increasing requirement in the scientific software development area of promoting the interchange of resources to ensure the reproducibility and validation of the results. This paper presents the COLIBRI Studio environment that supports researchers in the generation of Case-based Reasoning (CBR) systems by means of workflow-like represent...
Article
Building the behaviour for non-player characters in a game is a complex collaborative task among AI designers and programmers. In this paper we present a visual authoring tool for game designers that supports behaviour reuse. We describe a visual editor, capable of storing, indexing, retrieving and reusing behaviours previously designed by AI progr...
Article
Detailed design documents have been criticized as a hard to maintain artifacts that may easily become useless while a game under development keeps evolving. In this paper we propose the use of declarative domain modelling as a communication tool and a form of contract between designers and programmers. We show how this model, including entities and...
Article
Sketch-based retrieval is a technique that supports the design of behaviour for game characters by reusing previously designed behaviours. Most techniques for specifying behaviour for game characters use some kind of graph-based formalism to represent such behaviour. Through graph-matching techniques, sketch-based retrieval allows to use any interm...
Conference Paper
Building the behaviour for non-player characters in a game is a complex collaborative task among AI designers and programmers. In this paper we present a visual authoring tool for game designers that uses CBR techniques to support behaviour reuse. Our visual editor (called eCo) is capable of storing, indexing, retrieving and reusing behaviours prev...
Article
The use of game technology for building virtual learning environments is intended to improve the motivation and engagement of the student, borrowing such properties from their entertaining counterparts. Nevertheless, wrapping pedagogical contents in a virtual environment is no simple achievement, and requires a rigorous process of designing and val...
Article
Full-text available
Computational workflows are a powerful paradigm to represent and manage complex applications, particularly in large-scale distributed scientific data analysis. Workflows represent application components that result in individual computations as well as their interdependences in terms of dataflow. Workflow systems use these representations to manage...
Article
Due to the changing nature of videogames, the component-based architecture is the design of choice for managing game entities instead of the traditional static class hierarchies. A component-based architecture lets programmers edit entities as collections of components, which provide the entity with new functionalities. Such architecture promotes f...
Conference Paper
Full-text available
Similarity assessment is a key operation in many artificial intelligence fields, such as case-based reasoning, instance-based learning, ontology matching, clustering, etc. This paper presents a novel measure for assessing similarity between individuals represented using Description Logic (DL). We will show how the ideas of refinement operators and...
Conference Paper
Case-based planning (CBP) is usually considered a good solution to solve the knowledge acquisition problem that arises when developing AIs for real-time strategy games. Unlike more classical approaches, such as state machines or rule-based systems, CBP allows experts to train AIs directly from games recorded by expert players. Unfortunately, this s...
Article
The state-of-the-art in software engineering for game engines, recommends the use of a component-based software architecture for managing the entities in a game. A component-based architecture facilitates the definition of new types of entities as collections of components that provide basic pieces of functionality, providing a flexible software th...
Article
Full-text available
Describes the Wings intelligent workflow system that assists scientists with designing computational experiments by automatically tracking constraints and ruling out invalid designs, letting scientists focus on their experiments and goals.
Article
Full-text available
Current game worlds are visually rich but information poor – particularly poor from the artificial intelligence (AI) point of view. Where the player sees a rich visual representation of 3D objects, internally these are just very sparsely described collections of points in space. Tools for advanced world creation, character model-ing, animation, and...
Chapter
Building the behaviour fornon-player characters (NPC) in a game is a collaborative effort betweenAI designers and programmers. Programmers provide to the designers with the building blocks for specifying behaviours in the game, and designers use some combination ofstate machines,scripting and visual languages to build complex behaviours by composin...
Conference Paper
Due to the changing nature of videogames, the componentbased architecture is the design of choice for managing game entities instead of the traditional static class hierarchies. A component-based architecture lets programmers edit entities as collections of components, which provide the entity with new functionalities. Such architecture promotes fl...
Conference Paper
The combination of learning by demonstration and planning has proved an effective solution for real-time strategy games. Nevertheless, learning hierarchical plans from expert traces also has its limitations regarding the number of training traces required, and the absence of mechanisms for rapidly reacting to high priority goals. We propose to brin...
Conference Paper
Full-text available
A wide range of modern videogames involves a number of players collaborating to obtain a common goal. The way the players are teamed up is usually based on a measure of performance that makes players with a similar level of performance play together. We propose a novel technique based on clustering over observed behaviour in the game that seeks to...
Book
Techniques used for Artificial Intelligence (AI) in commercial video games are still far from state-of-the art in Academia, but with graphics in video games coming close to photo realistic quality, and multi-processor architectures getting common in console and PC game platforms, sophisticated AI is getting into the focus of the video game industry...
Article
If iteration is the rule in modern software development practices, this is more the case in game development. While the secret recipe for fun in games remains hidden, game development will remain a highly iterative trial-and-error design process. In this paper we present a semi-automatic process that, through FCA, can assist in the software design...
Article
Artificial intelligence in games is typically used for creating player's opponents. Manual editing of intelligent behaviors for nonplayer characters (NPCs) of games is a cumbersome task that needs experienced designers. Our research aims to assist designers in this task. Behaviors typically use recurring patterns, so that experience and reuse are c...
Article
Producing software in a globalized economy must take into account the multiplicity of humankind, which affects drastically the goal of reaching a wider audience. In this paper we describe COBBER, a domain-independent model for supporting Human Centered Computing issues, which takes into account the psychological and cognitive issues of users when i...
Conference Paper
jCOLIBRI is currently a reference platform in the CBR community for building CBR systems that includes facilities to design different types of CBR applications. In this paper we focus in some recently included tools that allow the improvement of performance of previously designed applications. These optimization tools mainly facilitate to adjust fe...
Article
Developing the AI for non-player characters in a video game is a collaborative task between programmers and designers. Most of the times, there is a tension between the freedom that designers require to include their narrative in the game and the effort required from programmers to debug faulty AI specified by good story tellers who are not program...
Conference Paper
Authoring the AI for non-player characters (NPCs) in modern video games is an increasingly complex task. Designers and programmers must collaborate to resolve a tension between believable agents with emergent behaviours and scripted story lines. Behaviour trees (BTs) have been proposed as an expressive mechanism that let designers create complex be...
Article
In this paper, we present an approach to solve the drawbacks of manual composition of software components. Our approach is applied within the jcolibri framework for building case-based reasoning (CBR) applications. We propose a system design process based on reusing templates obtained from previously designed CBR systems. Templates store the contro...
Conference Paper
ion in case-based planning is a mechanism for plan retrieval and adaptation. An abstract case is a generalization of a concrete case that can be reused in different situations to that where the original case was obtained. Additional knowledge is also required to instantiate an abstract case for a new concrete solution. In this paper, we show how t...
Conference Paper
In this article we describe a domain independent model for supporting Human Centered Computing issues, which takes into account the psychological and cognitive issues of users when interacting with the model. Producing software in the globalization era needs to take into account the multiplicity of human kind which affects drastically to reach a wi...
Conference Paper
Full-text available
Workflows are becoming an increasingly more common paradigm to manage scientific analyses. As workflow repositories start to emerge, workflow retrieval and discovery becomes a challenge. Studies have shown that scientists wish to discover workflows given properties of workflow data inputs, intermediate data products, and data results. However, work...
Chapter
A key challenge to move forward the state of the art in games-based learning systems is to facilitate instructional content creation by the domain experts. Several decades of research on computer aided instruction have demonstrated that the expert has to be deeply involved in the content creation process, and that is why so much effort has been dev...
Conference Paper
CRC cards and role-play sessions are two techniques widely used in responsibility-driven design and employed as active learning methods to teach object-oriented software design. Based on our experience using them, we propose a game-based approach to take the classroom experience into a virtual environment. We show how the proposed virtual environm...
Conference Paper
Full-text available
Our goal is to support system developers in rapid prototyping of Case-Based Reasoning (CBR) systems through component reuse. In this paper, we propose the idea of templates that can be readily adapted when building a CBR system. We define a case base of templates for case-based recommender systems. We devise a novel case-based template recommender,...
Conference Paper
Artificial intelligence in games is usually used for creating player’s opponents. Manual edition of intelligent behaviors for Non-Player Characters (NPC) of games is a cumbersome task that needs experienced designers. Amongst other activities, they design new behaviors in terms of perception and actuation over the environment. Behaviors typically u...
Conference Paper
Adaptation is probably the most difficult task in Case-Based Reasoning (CBR) systems. Most techniques for adaptation propose ad-hoc solutions that require an effort on knowledge acquisition beyond typical CBR standards. In this paper we demonstrate the applicability of domain-independent planning techniques that exploit the knowledge already acqui...
Article
Full-text available
In this paper we first review the functionality that jcolibri offers related to textual CBR: statistical retrieval for textual cases based on Information Retrieval and Information Extraction methods to capture features from texts. The novelty of this paper is an approach to user-guided adaptation of texts based on Information Retrieval + Clustering...
Article
Full-text available
In this paper we present a novel approach for developing adaptive game AI by combining case based planning tech-niques and ontological knowledge from the game environ-ment. The proposed architecture combines several compo-nents: a case-based hierarchical planner (Repair-SHOP), a bridge to connect and reason with Ontologies formalized in Description...
Conference Paper
Our goal is to support system developers in rapid prototyping recommender systems using Case-Based Reasoning (CBR) techniques. In this paper we describe how jCOLIBRI can serve to that goal. jCOLIBRI is an object-oriented framework in Java for building CBR systems that greatly benefits from the reuse of previously developed CBR systems. jCOLIBRI inc...
Article
In order to fully understand the implications of object-oriented design patterns, students need to consider alternative designs to a problem and to analyse these solutions in terms of coupling, cohesion and extensibility. Lecture-based approaches to teaching design patterns do not provide students with the insights needed unless they already have e...
Article
Case-based reasoning (CBR) is a paradigm for combining problem solving and learning that has become one of the most successful applied subfields of AI in recent years. Now that CBR has become a mature and established technology two necessities have become critical: the availability of tools to build CBR systems, and the accumulated practical experi...
Conference Paper
Full-text available
With the advent of semantic Web services, a paradigm that results from adding semantics to Web services, the challenge remains in finding a suitable way of capturing the goals and objectives of the user and attaining a technological solution to fulfill them. In this paper, we aim at solving this problem combining case based reasoning (CBR) and sema...
Conference Paper
Case Based Reasoning (CBR) systems reason by similarity between current unsolved problems and past solved problems. In such systems interaction between users and the reasoning module is very important to identify the specific aspects of the query problem. In this paper we describe a textual interface module included into JCOLIBRI, a Java framework...
Conference Paper
With the advent of Semantic Web Services, a paradigm that results from adding semantics to Web Services, the challenge remains in finding a suitable way of capturing the goals and objectives of the user and attaining a technological solution to fulfill them. In this paper, we aim at solving this problem combining Case Based Reasoning (CBR) and sema...
Article
Full-text available
Computational workflows have recently emerged as an effective paradigm to manage large-scale distributed scientific computations. Workflow systems can automate many execution-level details and provide assistance in composing and validating workflows. However, there is still a significant effort involved in creating these workflows since they often...
Conference Paper
In spite of its growing popularity, due to a huge technical evolution in the last years and to the fact that new generations are more literate in games than in books, game-based teaching has been very restrictive in its application to adult education. Most applications are merely simulations built with game technology. In order to apply game-based...
Article
Computer simulations in inmersive environments have been used traditionally as learning tools. This is specially true in those domains where real training is expensive or dangerous, where virtual environments are used to emulate some aspects of the real world. In this paper we present our work in an emergent area where the inmersive environments ar...
Conference Paper
Full-text available
Based on our experience using active learning methods to teach object-oriented software design we propose a game-based approach to take the classroom experience into a virtual environment. The different pedagogical approaches that our active method supports, have motivated us to tailor an architecture that supports the creation of different variat...
Chapter
Our approach to Case Based Reasoning (CBR) is towards integrated applications that combine case specific knowledge with models of general domain knowledge. In this paper, we describe a domain independent architecture to help in the design of knowledge intensive CBR systems. It is based on knowledge acquisition from a library of application-independ...
Chapter
Full-text available
In order to reach as many players as possible, videogames usually allow the user to choose the difficulty level. To do it, game designers have to decide the values that some game parameters will have depending on that decision. In simple videogames this is almost trivial: minesweeper is harder with longer board sizes and number of mines. In more co...
Article
Full-text available
The amazing growth of the videogame industry in the last few years has opened new opportunities for the use of games in education. Not only the technology has evolved to a point where almost photorealistic 3D virtual worlds can be seen at home with retail equipment, but also the language of the videogames has evolved to become sophisticated enough...