I'd say forget the complexities of curvature and slope for now and understand the basics first. Also, what distances are we talking here, a few metres or many kilometres; I'm not sure what "200M" means, metres or miles.
Having the coordinates of one point, a bearing and distance to another, the coordinates of that other point can be determined by simple sine and cosine maths.
It may help if you describe your application. If firing a projectile a distance in a direction then you may need to take into account curvature and so on to know where it will land exactly. For travelling from point A to B that's usually the inverse, creating a direction and distance from where you are to where you want to be. Curvature, slope, wind and sea current can all be ignored so long as you don't blindly follow the first heading calculated but keep reassessing the heading needed. As you approach the target the error will reduce.
Above all else, you need to understand the maths before worrying over the code implementation of that.