The short answer is, I guess: the right order and several layers, textured brush and not caring too much about getting the shapes very close to the photoBut since you asked and I have some time, I'll also try to come up with a longer answer: I tried to remember to paint from background to foreground, using several layers for next rows of trees. Each row with a different colour, value and size with fully opaque round brush. Then I changed brush to a soft one, selected the option to only paint on the opaque and added some darker shades on the top of the trees where needed and next pass of shadows with a textured brush. I used one textured brush with a very strong texture for almost everything from now on, changing its opacity, flow and ofc size and colour. Then I used select opaque + border selection on those tree layers to paint some rim light without having to worry about precision. Then some fast branches here and there in the back rows.Next the foreground trees: i painted the shapes with dark values and then added lighter paint using this brush with strong texture, trying to add some colour variation and paint some lighter spots like on the photo. After that I painted with a stronger brush some few important details like shadows of the cracks, and added an overlay layer with some random very small dark spots for even more texture. Then foreground - again over a dark shape i used a textured brush with lighter values mixing it with a brush that had some long, branch-like shape to add some random long sticks. Next hand painting several sticks and details just to make it look more believable. Finally I added some most important highlights (using normal, overlay or addition modes). I also used overlay mode on my brush for some colour and value corrections from time to time.