procedurally generated terrain with minimap support, uses canvas element