Large cohesive game world for robotic-like artificial intelligence development | 🗖 nosplit | ↑ parent "The most important projects Ciro Santilli wants to do" | 762
Prior art research: https://github.com/cirosantilli/awesome-reinforcement-learning-games
The goal of this project is to reach artificial general intelligence.
However, all projects so far have only created sets of unrelated games, or worse: focused on closed games designed for humans!
What is really needed is to create a single cohesive game world, designed specifically for this purpose, and with a very large number of game mechanics.
Notably, by "game mechanic" is meant "a magic aspect of the game world, which cannot be explained by object's location and inertia alone". For example:
- when you press a button here, a door opens somewhere far away
- when you touch certain types of objects, a chemical reaction may happen, but not other types of objects
Much in the spirit of http://www.gvgai.net/, we have to do the following loop:
- create an initial game
- find an AI that beats it well
- study the AI, and add a new mechanic that breaks the AI, but does not break a human!
The question then becomes: do we have enough computational power to simulation a game worlds that is analogous enough to the real world, so that our AI algorithms will also apply to the real world?
To reduce computation requirements, it is better to focus on a 2D world at first. Such world with the right mechanics can break any AI, while still being faster to simulate than a 3D world.
The initial prototype uses the Urho3D open source game engine, and that is a reasonable project, but a raw Simple DirectMedia Layer + Box2D + OpenGL solution from scratch would be faster to develop for this use case, since Urho3D has a lot of human-gaming features that are not needed, and because 2019 Urho3D lead developers disagree with the China censored keyword attack.
Simulations such as these can be viewed as a form of synthetic data generation procedure, where the goal is to use computer worlds to reduce the costs of experiments and to improve reproducibility.
- https://github.com/deepmind/lab2d: 2D gridworld games, C++ with Lua bindings