If you watch the trees you can clearly see that a perspective camera is in use as it changes relative to the viewing angle.
The fact that some things are drawn over other implies that a depth value is also in use so we have a 3D data set.
Therefore, because there is a perspective camera being used to render a 3D data set it's likely that a standard 3D rendering pipeline is in use. So to render something like those trees you would make a 3D model of trees and render it.
Now, although you seem to be mistaken as to how this game's rendering system works I feel your question regarding drawing trees made of sprites is still valid, so I'll answer that.
Drawing pseudo-3D trees using sprite tricks
WARNING: This is a bit of a guess and I can't test out the code supplied right now, but it should provide the kind of illusion you are looking for.
So let's assume you have a set of sprites you will layer one on top of the other, each smaller than the last, to give the image of a tree such as a pine from above. We will also assume your rendering with an orthographic camera (nothing changes with respect to depth).
Essentially what we want to do is layout the sprites in the direction away from the centre of the camera but make sure that it's a stronger effect at the edge and a weaker one nearer the camera, with all sprites one on top of the other when it's in the very centre.
First work out the vector from the tree to the centre of the camera, take the distance and normalise this vector.
Vector2 dir = treePos - cameraCenter;
double dist = length(dir);
dir = normalise(dir);
where length() returns the vector magnitude and normalise() returns the unit vector.
Now this gives you a nice direction and a distance. Now we want to set the position of the individual sprites. We will draw the bottom one in the treePos and as we go up the tree we will draw each slightly further along a line, in the direction dir, proportional to the distance dist.
double heightBetweenSprites = 0.2; // experiment with this value.
for (int i = 0; i < nTreeSprites; ++i)
// scaler = 0 when i = 0 so sprite i must be the bottom sprite.
double scaler = distance * heightBetweenSprites * i;
double x = treePos.x + scaler * dir.x;
double y = treePos.y + scaler * dir.y;
draw(treeSprite[i], x, y);
It should be noted that you might want to weight the scaler corresponding to the aspect ration as well. This should be done for each axis separately.