This month – May of 2014 – has seen the unveiling of a new competition focussed on Artificial Intelligence (AI) and Computational Intelligence (CI) methods. Previous readers of the site I trust will appreciate the importance of such events. Competitions provide a focal point for research interests: an opportunity to establish benchmarks that provide a means to reflect upon the effectiveness of particular AI methodologies. The benchmarks themselves are typically designed to provide a real challenge to the status quo and often take years before a collection of viable solutions is reached. In a previous article, I discussed at length why the Pac-Man series has been the focus of numerous competitions: it provides a challenge with sufficient depth that still challenges researchers today, but is equally accessible and interesting. The former justifies its longevity, while the latter can lure those not familiar with AI and CI research in games to try their hand at it. This new competition shares many of these traits, but it also aspires for something bigger and more ground breaking.
With this in mind, this article – comprised of a number of parts – introduces The General Video Game AI competition (GVG-AI): a framework aimed at addressing a problem that is both specific and broad: to create an AI controller that can play any game it is given. To be more specific, we are not looking at just one level of a given game, or even one type or class of game. Rather, the goal of the competition is to be able to play a range of different video games, without even knowing what these games might be!
In this first article on GVG-AI, let’s focus on the problem it seeks to address and why this is relevant not only in games research, but challenges one of the most pervasive issues faced by AI as a science.
The Problem of General Intelligence
At present one of the biggest challenges AI/CI methods face as a scientific field, is that solutions are often directly coupled to the domain which they are applied in. What I mean by this is that the solution is reliant upon domain specific information. Relating back to Ms. Pac-Man, many AI bots submitted for these competitions can become very domain specific for a number of reasons:
- A bot may query the Ms. Pac-Man game to find the nearest pill. While asking the location of an artefact in a game is not domain specific, the code which utilises this method call shows an implicit understanding of the relationship between consuming a pill and improving the score.
- Researchers may build solutions that are not hardcoded to access information about the game state, but there is potential for their designs to be influenced by the game. Given the researcher no doubt has an intimate knowledge of the game and its behaviour. That and they have probably played a lot of the game in their spare time: not for fun of course, but in the name of SCIENCE!
- While not in the same vein as the first two, we also need to consider that these submissions are built to work within the framework of that specific game. Indeed, the framework has been built to work around the game, so is built with that specific game in mind.
Typically, even in the best of cases, a bot that has been built for one problem domain cannot be employed in another one immediately. The three points raised are but an example of the reasons behind this.
Now I can appreciate that, to an extent, this is not a reasonable request: why should a bot that can play in Ms. Pac-Man, be able to play Space Invaders as well? While Space Invaders is a not a complex game, the domain model an AI researcher (and of course the game programmer) would build for it will no doubt be quite different from Ms. Pac-Man In addition, our expectations of the behaviours it will generate are completely different from one another.
Appreciating General Intelligence
The question raised in the last section can be answered succinctly. That answer is you: I have stressed previously that we as humans often take our intelligence for granted and that many elements of knowledge representation and domain modelling is achieved very quickly by humans, but can prove challenging for AI solutions.
To put this into context, let’s assume you like to play video games (though to be fair if you don’t: ‘Hi! You must be lost if you’re reading this site.’). It is safe to say that most people who have played one video game will play another at some point. Now it might be that you only play one genre of video games, or you like to experiment and have tried a variety of games that vary in style, content and accessibility. So, let me ask you: how did you learn to play that game?
Example 1: Genre-Specific Knowledge
Consider a gamer who enjoys the First Person Shooter (FPS) genre. FPS games are reliant upon a very specific control mechanism, since the player interface is designed largely to mimic our own view of the world. Learning to play your first FPS game can take time, since you need to learn all of the movement mechanics, how to aim and shoot at an enemy and much more besides. In addition, you need to understand it in the context of the input controller: given that playing a FPS with a keyboard and mouse differs from a game controller.
Now, let’s say you were introduced to FPS games (like many others) courtesy of an entry in the Call of Duty series. You are now aware of how a FPS game works. After a while, you decide to experiment and pick up a copy of another FPS title, such as Battlefield, Borderlands or Titanfall. While similar in that they adopt the tropes of FPS games, your learning curve as a player is focussed on understanding the unique mechanics of these games. While Battlefield is arguably the closest to Call of Duty given the modern military context, it differs largely due to the change in gameplay objectives, scale of conflict and the use of vehicles. Meanwhile, Borderlands has a skill tree and loot system (which is actually derived from Role Playing Games) and Titanfall introduces robots as part of the combat dynamic. In all of these instances, the one thing you probably didn’t give any thought to, is how you control the character. Did you ever stop to learn how to move again in as intimate detail as you did playing your first FPS? Or did you simply acknowledge that it is similar, yet different to the controls of Call of Duty?
You, as a player, are able to acknowledge that while these games differ, key elements such as controls and relationships between in-game objects will hold. In game design, this is the notion of ‘grokking‘ a pattern of behaviour (Koster, 2013): you recognise that in a FPS, firing the gun will result in a bullet/laser/rocket that will damage and/or kill enemy combatants. It is only when the relationships defy these conventions (Portal), or exploit them in a unique fashion (the scoring system in Bulletstorm), that the need for an in-game tutorial becomes more relevant. This is one example of general intelligence: where your previous experiences influence how you approach a new game of similar genre.
A Side Note: While the term ‘grok’ is in the Oxford dictionary, It’s actually taken from Robert Heinlein’s novel ‘Stranger in a Strange Land’. In a literal translation, grok refers to water, its consumption and how life endures as a result of these acts. However, figuratively, it’s intended as an intuitive understanding.
While we’re at it, there is also an excellent Iron Maiden song called ‘Stranger in a Strange Land’ from their 1986 album ‘Somewhere in Time’. What does it have to do with the book? Nothing! But it is worth listening to.
Example 2: Gaming Knowledge
Having successfully exhausted the novelty and excitement that can be found in the FPS genre (insert snarky comment about the current state of FPS games here), our gamer has decided that he/she wants to expand further. Our gamer is now open to a vast array of unique and exciting gaming genres, including:
- Role Playing Games (RPGs): Which have an array of unique sub-genres based on their emphasis on action (ARPGs) or their cultural infuences, such as those made in Japan (JRPGs).
- Racing: Either the more ‘arcade’ style of games, such as Mario Kart, or realistic simulations such as the Gran Turismo series.
- Platformers: Synonymous with Mario, but also home to characters such as Sonic or even the titular Prince of Persia.
Now, if you have never played these games before, then the learning process will begin anew: as we seek to understand the interface that allows us to instigate change in the game world, but also the interactions within the game that define it.
Instead of belabouring a point already covered by the first example, the key issue here is that if you already have experience of playing video games, then your approach to these new games will be influenced by it. Even something as simple as how a menu works, will be influenced by prior knowledge and experience. Sure, the menu covers different things, but it’s still a menu and you appreciate how that works. Similarly, while handling an avatar in third-person differs from first-person, there are similarities you can recognise that may aid you getting to grips with it.
Research In General Intelligence
Returning to the emphasis on research, we have not yet devised means for computers to effectively replicate the human behaviour described in the previous section. It’s very much at odds with that which we have seen in science fiction – at which point I finally relate this article to the feature image – such as The Terminator, where AI systems adapt to new experiences and are generally intelligent in nature. In fact, the Terminator is an example of a highly logical machine designed with a primary function in mind. However, the scope of its intelligence is very broad: allowing it to act as an infiltration unit, rather than a blunt force instrument. In addition, it is capable of learning how to survive when its physical body is damaged, in jeopardy, or will no longer conform such that it can blend into society.
To clarify, pursuit of general intelligence is not new to AI research and has been considered since the very beginning. In fact, it is perhaps a reflection of our insistence it is possible, before the practicality began to impede our ambition. There is plenty of work that has been conducted in trying to build general intelligence frameworks, with the ‘Soar’ project pioneered by John Laird being a prime example (Laird et al., 1987).
In fact, it is not even novel in games, given that General Game Playing (GGP): which focusses on board games such as Chess, Checkers/Draughts and Tic-Tac-Toe, is an established research area in itself. Many similarities in the challenges faced in GVG-AI can be seen in GGP. However, there are also unique facets to each which make them equally challenging and novel. This field also runs it’s own competition: the GGP Competition, which has ran since 2005.
One could argue that this has helped drive interest from within the AI and Games research community to address the notion of general intelligence. The first effort to document and classify GVG-AI as a research field can be found in (Levine et al., 2013). As is noted in the paper, it is not the first time that AI researchers have explored the idea of general video game intelligence. However, it is arguably the first agreed definition by the community as to its definition, purpose and challenge.
In this first article, the emphasis was on explaining why as a community, we feel the need to approach general intelligence in video games. Hopefully, we have cleared that up!
In part two, we take a look at the GVG-AI framework itself: what it is, how it works and the tools provided to allow us to build our own GVG-AI bots. In addition, I will discuss some of the attempts I have made using the framework, my thought process behind it and – most importantly – whether or not they actually work!
In the meantime, I encourage anyone who is interested to download the source code and try it yourself.
The site hosting the GVG-AI competition, complete with documentation on how to get started and a link to the required software, can be found at this link:
- Koster, R. (2013). Theory of fun for game design. O’Reilly Media, Inc.
- Laird, J. E., Newell, A., & Rosenbloom, P. S. (1987). Soar: An architecture for general intelligence. Artificial intelligence, 33(1), 1-64.
- Levine, J., Congdon, C.B., Bida, M., Ebner, E., Kendall, G., Lucas, S.M., Miikkulainen, R., Schaul, T., and Thompson, T. (2013) General Video Game Playing. Dagstuhl Follow-up, volume 6