This chapter discusses creating a game engine for 2D games in Ring. The project has several layers: a games layer that uses declarative programming to create games, game engine classes that use object-oriented programming, an interface layer that hides the details of the graphics libraries, and graphics library bindings that were created using procedural programming. The game engine includes classes like Game, Sprite, Text, and Sound that can be used to easily create 2D games. Examples are provided of simple games created using the engine.