Zlib started as a generic entities list that implemented movement, AI, and rendering, and has evolved into an experimental testbed prototype (as in engineering prototype, not rapid prototype) "engine" or "framework" for any type of real time game using direct3d. Its primary purpose is to study various methods of game code organization, and explore the limits of how "generic" an "engine" can be. It currently can be used for any type of game that uses direct3d graphics and runs in real time.

The engine consists of one API call:

void Zmain(hInstance);

and about a dozen user implemented routines. everything else is soft coded (data driven). It also includes the following optional components: a camera object, a built-in fps meter, a ground drawing routine, and a skybox.

As well a containing the "engine", the Zlib library provides APIs for entity creation, destruction, movement, rotation, drawing, targeting, and AI.