World draw order, if all things are drawn linearly, should be: items walls monsters If we instead use a vague display_map that instead hosts the appearance of the item/wall/monster in a multidimensional array, we would save processing power at the expense of ram. display_map[1][3] = '#'; display_map[1][3] = TILE_ID;