I already have a land mask (view below) from a basic world map generator, but I need anyway that will help me place mountains, deserts, rivers, cities, etc on it. And, if possible, a height map from it as well (not so important, but if there is, just doesn't need to be all-in-one). NOTE: I don't want a random generator of basic map (I already use this one https://donjon.bin.sh/world/), I want one that I can chose where to put surface features, cities, borders and such.
I would use GIMP - or if you have the ability to, a trial version of Photoshop.
Photoshop though would easily be my programme of choice for any raster (2D) image editing. I would use the following procedure:
- Create Mask layer over the top of your map
- Use your paint tool on another new layer over the top with 'Overlay' or 'Lighting' blending option.
- Set your flow rate and radius of your brush - a slower and softer flow rate is recommended.
- For complex polygonal mountains where you want a gradual height, use the gradient tool. However this will create a linear gradient by default - you need to change settings to make this more realistic. Might take a bit of experimenting with this to get it right.
- Finally, apply 'Noise' filter to a new layer with a low transparency to slightly randomise your height map - Nature abhors a smooth terrain!
I'd suggest Inkscape, it works on multiple platforms and is free - with it, you can convert your image into an vector graphic. You'd want to do this because it then gives you an image file that you can scale without changing image size or losing quality unlike raster images - jpeg, png, tiff etc. So scaling it 1000% bigger to add in miniscule detail becomes a breeze.
Here's a tutorial showing how to start from an image through to finished map if you're interested in seeing how it works.