This document discusses creating a 2D game engine in Ring for desktop and mobile games. It describes the different layers of the project including the games layer, game engine classes, interface to graphics libraries, and graphics library bindings. Key classes for the engine are described like Game, GameObject, Sprite, Text, Animate, Sound and Map. The engine is designed to use declarative programming in the games layer to create games. Examples of games that could be built with it include Stars Fighter, Flappy Bird 3000, and Super Man 2016. The interface layers allow switching between Allegro and SDL graphics libraries.