Your shading/highlights just hug the outlines. This creates two problems:
1. It doesn't actually show the form of the clouds, trees, car, hills, etc at all, it just makes them look like embossed flat shapes, like stickers or something.
2. The shadows create banding, which makes your work look blocky, drawing too much attention to the pixel grid.
Think in terms of forms (3D), not shapes (2D). The silhouette (apparent shape) of an object isn't the only (or even main) thing that affects the shadows on it. For example, consider the nose on a human face face. From the front, it doesn't affect the silhouette/shape of the face, but it's still visible because of the way it affects light (shadows and highlights). If you were to shade a human face the way you're shading things in this scene, that face woulnd't have a nose.
I think it would be better to use more contrasting colours in the green character. As-is, it's almost impossible to tell apart their skin, shirt, and trousers. In addition, they contrast poorly against the yellow-brown hill behind them because the values (how dark/light the colours are) of their head are very similar to the colour of the background.