Geometry Friends is a two player cooperative puzzle platformer computer game developed at GAIPS INESC-ID. The game takes place in a 2D environment with simulated physics (with gravity and friction). The goal of the players is to gather a set of diamonds in the least amount of time.
Each player controls one of the two playable characters, a yellow circle and a green rectangle. Players control the motion of their character, who are subject to certain restrictions. The rectangle can change its shape to an horizontal or vertical rectangle (with the same area), while the circle character is capable of jumping.
Geometry Friends Characters’ actions.
Levels consist of a variable number of diamonds which characters must collect. These diamonds often find themselves in places that require the cooperation and the coordination of both characters, or require a certain order in which they need to be collected in order to guarantee level completion (i.e. collect all diamonds).
A sample level.
The game itself consists of a series of levels, where the layout of the obstacles and the initial position of the characters and collectibles vary. To successfully solve a level it is crucial that both players are able to:
- Determine which collectibles each can obtain without help from one another and which collectibles are required a joint action by both;
- Prioritize which collectibles must be obtained first;
- Divide the collecting tasks between both players according to the previous two points;
- Determine the sequence of both solo and joint actions, that are necessary to collect each collectible within a level;
- Execute these actions within the game.
Platforms in the game also contain different characteristics, some platforms can obstruct the movement of one player specifically or both. There are three kinds of platforms: the black, the yellow and the green platforms. The circle’s (yellow) movement is obstructed by green and black platforms, while the rectangle’s (green) movement is obstructed by yellow and black platforms. Levels containing these coloured platforms (or zones) creates an additional layer of challenge between both players. Platforms may also have some per-determined motion.
A level with coloured platforms.
Challenges for the AI
In general terms, the artificial players should be able to deal with a dynamic environment with simulated physics, be capable of solving puzzles and coordinate its actions to perform the resolution of the puzzle.
For human players cooperation comes naturally as a form of teamwork and communication as means of achieving a common objective, for AI players this sort of cooperative situations still raise many challenges, in particular, for real-time performance. In Geometry Friends the two players have distinct capabilities, which motivates the emergence of interactions between the two players that potentiate the value of collaboration.
The actuation to move the characters in the game is challenging due to the simulated physics with attrition, gravity and dynamic elements.
Geometry Friends also features some puzzle elements. Hence, for example, performing certain actions may render one particular level impossible (e.g. due to the ordering of actions). Therefore, solving one level requires some sort of (cooperative) planning.