Abstract-In this short paper, we propose a powerful new tool for conducting research on computational intelligence and games. "PyVGDL" is a simple, high-level, extensible description language for 2-D video games. It is based on defining locations and dynamics for simple building blocks (objects), together with local interaction effects. A rich ontology defines various controllers, object behaviors, passive effects (physics), and collision effects. It can be used to quickly design games, without having to deal with control structures. We show how the dynamics of many classical games can be generated from a few lines of PyVGDL. Furthermore, the accompanying software library permits parsing and instantly playing those games, visualized from a bird's-eye or first-person viewpoint, and using them as benchmarks for learning algorithms. Index Terms-Artificial general intelligence (AGI), benchmarking, description language, general game playing, video games. The majority of research in computational intelligence and games is based on just one, or a handful of similar games. This has the advantage of producing a high diversity of methods and algorithms, tailored to some degree to the games of interest. The disadvantage is that because of a lack of generality, many of the proposed methods do not generalize easily to new problems, and even fewer are useful across different genres of games. One (ambitious) direction for computational intelligence in games (CIG) research is for game collections to be used as benchmarks for the development of general-purpose intelligence algorithms (AGI), as proposed in [1] . In a recent Dagstuhl workshop, it was proposed to develop a video game description language (VGDL) in order to facilitate the generation (guided or automatic) of very large and diverse portfolios of games-thousands of games in dozens of genres-which, in turn, would be suitable for evaluating architectures and algorithms that purport to be general purpose; the complete deliberations are published in a report [2] . Among the envisioned criteria are that the language should be clear, human readable, and unambiguous. Its vocabulary should be highly expressive from the beginning, yet still extensible to novel types of games. Its representation structure should be easy to parse and visualize, so that it maps directly onto a (human-)playable game, which in addition must run fast enough to support learning and evaluation. Finally, it should facilitate automatically generated games, in such a way that default settings and sanity checks enable most random game descriptions to be actually playable. Existing description languages for games tend to focus on classes of classical games, such as board games [5] The related approach most widely used by researchers is the general game playing framework (GGP; [3]), with its associated annual competition at the Association for the Advancement of Artificial Intelligence (AAAI). Its description language GDL, designed for logicbased games, is extraordinarily expressive, while still being clear, unambiguous and human readable (or at least, logician readable). On the other hand, GDL is less suited to the last two criteria; even when parsed, checking the validity in a GDL game is difficult, and move resolution can be slow. Also, game descriptions are rather lengthy (because there is no support for hierarchical concepts, all objects are defined from the ground up), and it is easy to incorrectly define games. Further, GDL is not designed primarily for human interactions, and is not able to automatically generate an intuitive interface for human play. A voluntary restriction to a video game-style interface (observations on a 2-D screen, a limited number of discrete actions), and favoring the reuse of common game elements at the cost of generality, may thus be an interesting tradeoff. For the types of video games we are interested in, this work draws particular inspiration from the Arcade Learning Environment (ALE) [9] , a unified framework for interacting with a broad collection of existing games from the classic Atari 2600 console-but with the desire to both extend it to new games that were never built for Atari, and to simplify existing ones. A related, but less ambitious precursor to our design was proposed in [10] . For a broader overview, limitations, and many additional references, see [2] and [11] . In a recent paper [12], we formally defined PyVGDL, a concrete instantiation of a VGDL that satisfies the desirability criteria, with a particular tradeoff between specificity (with 2-D object-and collision-based game dynamics) and generality (with an extensible ontology). At the same time, we introduced an accompanying implementation in Python, and demonstrated that the library interface allows a diverse set of learning approaches to learn in such games, including model-based and fully observable policy iteration, model-free and partially observable reinforcement learning, and direct evolution of bot controllers. This short paper restates the core elements of [12] , complemented with follow-up work on the language and its ontology of components, and shows the extensibility aspect of the language. The initial ideas for the description language were laid out in [2] , and a fleshed-out prototype was presented in [12] . This section summarizes the main elements, and introduces some recent innovations.
This is the case of PyVGDL, a VGDL based on the programming language Python REF .
An Extensible Description Language for Video Games
IEEE Transactions on Computational Intelligence and AI in Games
IEEE Transactions on Computational Intelligence and AI in Games
Computer Science