General structure for my game class game only one of these will exist, this is where the main loop is, and game logic, all other classes are instantiated here. class loader Holds music, samples, opengl textures. only one of these since we dont want multiple copies of the same data. It has functions to load and return pointers to this data. class sprite many of these exist, they draw themselves via opengl and use textures from loader class map There can be more than one, it can load a map, save map, change map data and draw them via opengl with textures from loader. class menu (this has some child classes) many of these, it draws menus, it also gets passed input data (keyboard presses and such from the game class) again it needs loader to get the textures