XGameLib is a simple video game library used in the development of a classic side-scrolling arcade game, using the XLib API. The point of the game is to control a character through a terrain to meet an objective. The project makes use of the XLib API (XOrg) and focus on code that was developed to accomplish tasks for the assignment task.


Component Filename Description
Spritesheet Spritesheet.h A uniform sheet of sprites that can be drawn individually.
Logger Logger.h Contains standard logging functionality and stored notifications.
KeyboardState KeyboardState.h Represents the state of keystrokes recorded by a keyboard input device.
MouseState MouseState.h Represents the state of a mouse input device, including mouse cursor position and buttons pressed.
Displayable Displayable.h Displayable is the base class for an object that can be updated/drawn to the screen.

Compile Instructions

To make (“compile and link”) an example, use the included makefile with the name of cpp file passed as a variable.

make build

Or you can even do it without specifying:



The project icon is retrieved from kenney.nl. The original source material has been altered for the purposes of the project. The icon is used under the terms of the CC0 1.0 Universal.

The project icon uses assets by Kenney from kenney.nl/.